• 蝈蝈
    2023-11-02 来自湖北
    老师您好,请问一个问题,我用RetrievalQA和RetrievalQAWithSourcesChain 得到的答案完全不一样。我本以为RetrievalQAWithSourcesChain是RetrievalQA增强功能,但结果并不是。 ``` client = qdrant_client.QdrantClient( url=url, prefer_grpc=True ) qdrant = Qdrant( client=client, collection_name=collection_name, embedding_function = OpenAIEmbeddings().embed_query ) retriever = qdrant.as_retriever() llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0) qa_chain = RetrievalQAWithSourcesChain.from_chain_type(llm,retriever=retriever,verbose=True) qa_chain.return_source_documents=True question = """什么是共识算法""" answer = qa_chain(question) print(answer) ``` 用 RetrievalQA 可以正确搜索到答案,但是RetrievalQAWithSourcesChain就搜不到
    展开

    作者回复: 这个问题目前我也没有做过更深入的实验去比较,估计要深入这两个Chain的内部实现细节去看了。。。

    
    
  • 蝈蝈
    2023-11-01 来自湖北
    如果想在目前的基础上加入实时搜索的功能,应该如何实现。当用户的问题如果没有在本地向量库检索到,且大模型也没有相关的回答,希望通过加入实时搜索的功能去查找。是通过硬编码的判断还是通过agent代理的方式,来决策这个过程

    作者回复: 就是通过SerpAPI这样的工具实时的搜啊,就是向目前Bing做的事情。每一个环境都可以用Agent来判断是找得到还是找不到最好的答案。

    
    