我试图用Langchain和一个特定的URL作为源数据来整理一个简单的“来源问答”。URL由一个页面组成,上面有相当多的信息。
问题是RetrievalQAWithSourcesChain
只返回了整个URL作为结果的来源,这在本例中不是很有用。
有没有办法获得更详细的来源信息?也许是页面上特定部分的标题?一个可点击的URL到页面的正确部分将更有帮助!
我有点不确定result source
的生成是语言模型、URL加载器的功能,还是仅仅是RetrievalQAWithSourcesChain
。
我曾尝试使用UnstructuredURLLoader
和SeleniumURLLoader
,希望更详细地阅读和输入数据可能会有所帮助-遗憾的是没有。
相关代码摘录:
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'] )
1条答案
按热度按时间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种消息类型
我强烈推荐这些courses在chatGPT,因为它们是从吴恩达和非常高的质量。