You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制LlamaIndex聊天机器人仅基于本地索引数据生成回答

限制GPT Index聊天机器人仅使用自有文档索引回答的方法
  • 定制LLM提示词模板
    直接在提示词中明确约束模型的回答范围,强制其仅依赖检索到的文档内容生成对话式回复。示例模板如下:

    "你是专属文档答疑助手,必须**完全基于下方提供的文档片段**回答问题,绝对不能使用任何文档以外的知识。如果文档里没有相关信息,直接告诉用户“无法从提供的文档中找到对应答案”。请用自然的对话语气整理回答:
    
    文档片段:
    {context_str}
    
    用户问题:{query_str}
    
    回答:"
    
  • 配置严格的检索与生成规则
    在GPT Index的初始化和调用环节设置约束:

    • 调整similarity_top_k参数(建议设为3-5),只返回与问题最相关的文档片段,减少无关上下文干扰
    • 使用ResponseSynthesizer时指定response_mode="compact",强制模型紧密围绕检索到的内容生成回答
    • 可通过retriever的过滤功能,限定仅从指定文档集合中提取上下文
  • 添加回答合规性验证
    额外增加一层校验逻辑,确保回答未超出文档范围:
    在生成回答后,调用LLM检查内容是否完全基于提供的文档,若存在违规内容则重新生成或提示无法回答。示例代码片段:

    from llama_index.llms import OpenAI
    
    def check_response_validity(response_content, context_content):
        check_prompt = f"判断以下回答是否完全来自提供的文档,仅需回复“是”或“否”:\n文档内容:{context_content}\n回答内容:{response_content}"
        llm = OpenAI(model="gpt-3.5-turbo")
        check_result = llm.complete(check_prompt).text.strip()
        return check_result == "是"
    

内容的提问来源于stack exchange,提问作者Ishan Hettiarachchi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 19:43:14