张大妈

基于大模型的RAG系统里面,怎么解决用户提问不在知识库范围内的问题?

源自知乎:笙囧同学

02-26 11:03

RAG系统在面临知识库范围外的问题时,常因“检索失败”而产生幻觉,一本正经地给出错误答案,这在严肃场景下危害极大。本文的价值在于,它跳出了单纯修改prompt的传统思路,提出了一套覆盖RAG全链路的多层级拦截方案,通过前置意图识别、检索结果校验、生成环节约束和知识库治理,系统性地提升了回答的可靠性,是实践中被验证过的有效解法。

基于大模型的RAG系统里面,怎么解决用户提问不在知识库范围内的问题?智能速览

  • RAG幻觉的根源在于检索失败,而非生成环节,需在全链路设置拦截点。

  • 通过意图分类在检索前过滤明显越界问题,能极大减轻后续环节压力。

  • 检索后需用LLM或Reranker评估结果真实性,而非依赖不可靠的相似度分数。

  • 生成环节的约束需具体化,配合检索环节才能有效减少幻觉。

  • 治本之策是持续治理知识库,根据用户反馈补充内容,从源头减少拒答。

基于大模型的RAG系统里面,怎么解决用户提问不在知识库范围内的问题?精华内容

解决RAG系统的幻觉问题,不能只在最后的生成环节下功夫,而应像工厂质检一样,在原料、加工、组装等多个环节设置防线,层层把关,才能确保最终输出的可靠性。

意图识别先行

在检索开始前,第一道防线是判断用户问题是否在服务范围内。最简单的方式是基于规则过滤,如在IT运维知识库中拦截天气或诗歌类问题,简单高效但覆盖有限。

更优方案是使用LLM进行意图分类,将问题判断为“范围内”、“不确定”或“范围外”。对于“范围外”问题直接拦截,对“不确定”问题则在后续环节加强校验。然而,此方案对边界模糊的问题(如询问竞品)处理效果不佳,只能作为初步筛选。

检索结果校验

这是解决幻觉的核心环节。向量检索总会返回“最相关”的结果,但“最相关”不等于“真相关”。如在一个只有中国历史书的图书馆里搜“量子力学”,系统可能返回提及“物质”的古代天文学书籍,导致后续回答错误。

三种校验方案各有优劣:一是设相似度分数阈值,但效果差,因分数分布不均,难以找到通用阈值;二是用Reranker重排序后设阈值,效果优于前者,但仍存边界case;三是用LLM作为相关性裁判,判断检索内容能否回答问题,效果最好,但成本和延迟最高。企业知识助手可用方案二平衡成本,法律医疗等高风险场景则建议用方案三确保可靠性。

生成环节约束

当前两道防线仍有疏漏时,需在生成环节加强约束。简单的prompt如“不知道就说不知道”基本无效,因为模型在看到检索材料后会“认为”自己知道了。

更有效的做法是给出具体约束,例如:“仅根据提供的材料回答,如果材料无法直接回答问题,请明确说明无法回答。”同时,可将检索材料的相关性分数提供给模型作为参考。若对准确性要求极高,可在生成后增加一道LLM校验,检查回答是否有依据,无依据的陈述可拒绝输出或要求用户确认。

知识库治理

系统优化的同时,知识库本身的质量和覆盖度是根本。混乱、过时或矛盾的知识库会让任何RAG优化事倍功半。

关键治理工作包括:明确定义知识库边界并写入文档,为意图识别提供“标尺”;分析高频越界问题,针对性地补充到知识库或做成FAQ路由;建立定期审查机制,将反复出现的拒答问题补充入库。这个闭环能让知识库覆盖度越来越好,从根本上减少需要拒答的情况。

一个知识问答系统,在不知道的时候承认不知道,是比知道时答对更重要的能力。因为错误的答案会摧毁用户信任。这套多防线方案虽增加了系统复杂度,但为不同场景提供了灵活的可靠性保障。与其追求“答得更好”,不如先确保“不该答的不答”,这才是构建可靠RAG系统的基石。

基于大模型的RAG系统里面,怎么解决用户提问不在知识库范围内的问题?关键评论

  • 也在做类似系统,解决思路相似,不过方案没有如此详细和全面。

  • 多个环节都调用LLM,是否会带来严重的延迟问题?

  • 有评论认为方案罗列了环节,但缺乏实践细节,质疑其落地可行性。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章