ChatGPT-3 如何通过Langchain获得更详细的结果来源

yxyvkwin  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(268)

我试图用Langchain和一个特定的URL作为源数据来整理一个简单的“来源问答”。URL由一个页面组成,上面有相当多的信息。
问题是RetrievalQAWithSourcesChain只返回了整个URL作为结果的来源,这在本例中不是很有用。
有没有办法获得更详细的来源信息?也许是页面上特定部分的标题?一个可点击的URL到页面的正确部分将更有帮助!
我有点不确定result source的生成是语言模型、URL加载器的功能,还是仅仅是RetrievalQAWithSourcesChain
我曾尝试使用UnstructuredURLLoaderSeleniumURLLoader,希望更详细地阅读和输入数据可能会有所帮助-遗憾的是没有。
相关代码摘录:

llm = ChatOpenAI(temperature=0, model_name='gpt-3.5-turbo')
chain = RetrievalQAWithSourcesChain.from_llm(llm=llm, retriever=VectorStore.as_retriever())

result = chain({"question": question})

print(result['answer'])
print("\n Sources : ",result['sources'] )
roejwanj

roejwanj1#

ChatGPT是非常灵活的,你越明确,你可以得到更好的结果。此链接显示您正在使用的函数的文档。langchain.prompts.BasePromptTemplate有一个参数,它允许你给予ChatGPT更明确的指令。
基本提示模板看起来是这样的
用下面的知识三联体来回答最后的问题。如果你不知道答案,就说你不知道,不要试图编造答案。\n\n{context}\n\n问题:{question}\n有用答案:
您可以添加另一句话,给ChatGPT提供更清晰的说明
请使用JSON格式{“answer”:“{your_answer}",“relevant_quotes”:[“list of quotes”] }。替换your_answer作为问题的答案,但也包括列表中来源材料的相关引用。
您可能需要稍微调整一下,以使ChatGPT响应良好。然后你应该能够解析它。
ChatGPT在API中有3种消息类型

  • 用户-从最终用户到模型的消息
  • model -从模型到最终用户的消息
  • system --提示工程师向模型添加指令的消息。Lang chain不使用此选项,因为它是一次性提示

我强烈推荐这些courses在chatGPT,因为它们是从吴恩达和非常高的质量。

相关问题