要引导大型语言模型(LLM)在检索到的信息不足时提出后续问题,您可以设计一个系统来评估检索内容的质量并触发澄清请求。这涉及在对话流程中集成检查,以评估检索到的数据是否完全解决了用户的查询。如果检测到信息不足,LLM 可以生成有针对性的后续问题来收集缺失的详细信息。例如,用户询问“如何修复服务器错误?”,可能会收到类似这样的回复:“您能具体说明错误是在启动时还是在特定操作期间发生的吗?” 这种方法确保模型通过多个检索-阅读循环迭代地完善其理解。
实现这一点需要两个关键组件:一个检索评估器和一个问题生成器。评估器评估检索到的文档的相关性和完整性,可能通过检查关键词、与查询的语义重叠或来自检索系统的置信度分数。如果评估器确定信息不足(例如,置信度低或缺少关键细节),问题生成器会生成后续提示。例如,如果用户询问“Python 优化”,但检索结果只涵盖基本循环,系统可能会询问:“您是为了优化速度、内存使用还是代码可读性?” 这使得对话保持焦点并减少歧义。
为了实现这一目标,开发人员可以将 LLM 的工作流程设计为一个循环。例如:
- 根据初始查询检索文档。
- 如果检索内容不完整,生成后续问题。
- 使用用户的回复更新查询并重复检索。LangChain 或 LlamaIndex 等工具可以帮助管理跨循环的状态,跟踪上下文并优化搜索。例如,一个不确定症状严重程度的医疗聊天机器人可能会询问:“疼痛是尖锐的还是钝痛的?” 并利用答案来拉取更相关的指南。通过明确训练 LLM 识别不确定性(例如,通过少量示例来提示澄清),系统在生成最终答案之前更加主动地解决歧义。这平衡了效率和彻底性,确保模型不会在数据不足的情况下继续进行。