问题验证
- 我已在文档和Discord中寻找答案。
问题
你好,@logan-markewich,
我想严格限制我的聊天机器人在矢量空间中摄取信息,我该如何实现?
我尝试使用响应response_synthesizer
和chat_mode
response_synthesizer = get_response_synthesizer(response_mode=ResponseMode.SIMPLE_SUMMARIZE,
structured_answer_filtering=True,
verbose=True,
text_qa_template=DEFAULT_TEXT_QA_PROMPT_TMPL)
chat_engine = vector_index.as_chat_engine(
chat_mode=ChatMode.CONTEXT,
memory=memory,
chat_store=chat_store,
node_postprocessors=[SimilarityPostprocessor(similarity_cutoff=0.81)],
response_synthesizer=response_synthesizer,
)
你能在这里帮助我吗?
4条答案
按热度按时间2wnc66cl1#
为了严格限制聊天机器人在摄取的向量空间中运行,并防止它访问互联网提供答案,你可以自定义
text_qa_template
和refine_template
以提供特定指令。这确保了聊天机器人只根据摄取的文档上下文进行响应。以下是如何自定义模板的示例:
这种设置确保了聊天机器人的响应完全基于摄取的向量空间,不依赖于外部互联网资源。此外,你还可以进一步优化聊天机器人的行为,通过将其与矢量存储集成并采用检索方法,如将 LlamaIndex 与 LangChain 集成的示例设置所示:
遵循这些步骤,可以确保你的聊天机器人的响应仅限于摄取的向量空间,不包含来自外部来源的信息 1(https://github.com/run-llama/llama_index/blob/main/docs/docs/examples/discover_llamaindex/document_management/discord_dumps/help_channel_dump_05_25_23.json)2(https://github.com/run-llama/llama_index/blob/main/docs/docs/examples/discover_llamaindex/document_management/discord_dumps/help_channel_dump_06_02_23.json)3(https://github.com/run-llama/llama_index/blob/main/docs/docs/understanding/putting_it_all_together/chatbots/building_a_chatbot.md)。
rbpvctlc2#
我相信
llama-index
没有使用LLMChain和ConversationalRetrievalChain。14ifxucb3#
它没有访问互联网吗?要么是使用内部知识,要么是幻觉。
你可以尝试添加一个额外的系统提示,提供更多关于llm应该如何行动的指令。
nlejzf6q4#
尝试了这个,似乎不起作用
你能帮忙吗?
一个例子
问题:"印度在哪里?"
答案:"印度位于南亚。它是世界上面积第七大的国家;截至2023年6月,它是人口最多的国家;从1947年独立以来,它一直是世界上最多人口的民主国家。"