LangChain 和 LLama 根据摄取的数据对聊天机器人进行索引

问题描述 投票:0回答:1

我是浪链和LLama指数世界的新手。我正在使用法学硕士开展一个文件咨询(建筑法规)项目。我注意到,例如,在 LLama Index 上,我使用查询引擎时,响应仅基于摄取的数据。然而,当我使用聊天引擎时,法学硕士也会(如果不是仅仅)从其背景知识中获取知识。我想构建一个仅从我的文档中提取内容的聊天机器人。

有人知道为什么吗?以及如何解决这个问题?

这是代码:

documents = SimpleDirectoryReader('./data').load_data()
parser = SimpleNodeParser()
nodes = parser.get_nodes_from_documents(documents)
index = GPTVectorStoreIndex(nodes, show_progress = True)
query_engine = index.as_query_engine()
query = input()
response = query_engine.query(query)
print(response)

在这种情况下,如果我问“谁是克里斯托福罗·科伦坡?”之类的问题正确的回答是“我不知道”。

另一方面,使用以下代码:

documents = SimpleDirectoryReader('./data').load_data()
parser = SimpleNodeParser()
nodes = parser.get_nodes_from_documents(documents)
index = GPTVectorStoreIndex(nodes, show_progress = True)

service_context = ServiceContext.from_defaults(llm=OpenAI(model="gpt-3.5-turbo-0613"))
chat_engine = index.as_chat_engine(chat_mode="openai", verbose=True, service_context = service_context)

index.as_chat_engine(chat_mode="openai", verbose=True, service_context = service_context)
query =''
while query != "stop":
    query = input()
    response = chat_engine.chat(query)
    print(response)

答案似乎取自它的背景知识,它知道克里斯托弗·哥伦布是谁

chatbot openai-api langchain data-retrieval llama-index
1个回答
0
投票

使用聊天模式“condense_question”。它总是会查询文档。

© www.soinside.com 2019 - 2024. All rights reserved.