在目前大模型应用场景中,智能问答是一个主流的应用方法。在许多领域,智能问答已经部分取代了人工服务,不仅大大降低了企业的人工成本,还实现了7*24小时在线服务,能够及时解决用户问题。
具体的应用场景包括智能客服、业务咨询、医疗教育、金融投资等多种行业。然而,目前许多人可能仍认为AI仅适用于大型互联网公司,与中小企业及传统企业无关。
在基于大模型进行智能问答的场景中,RAG(检索增强生成)已成为当今的主流架构,并经过两年的发展迭代升级。但实际投入使用后,人们发现智能问答系统可能并未如预期般好用;即使接入了最好的模型,效果依然不够理想,其生成结果仍不尽如人意。
事实上,大模型作为一个可插拔的组件,虽然对生成结果有一定影响,但并非主要原因。主要症结在于文档召回率不足,以及对召回文档的处理不到位。

可以设想,在历史开卷考试中,若仅携带数学参考资料,其意义将大打折扣。RAG系统亦是如此。
本文将深入探讨召回率的本质,以及如何构建一个结构化、内容丰富且高质量的知识库;以显著提升RAG系统的召回效果,从而增强问答系统的准确性和实用性。
RAG系统中召回率的本质与重要性
在RAG检索增强系统中,召回率是指在真正相关的问答中,能够检索回来的相关文档数量占所有相关内容文档的比例。
召回率计算公式:召回率 = 检索到的相关内容文档数量 ➗ 所有相关内容文档
举例来说,以企业问答系统为例,假设知识库中包含企业基本介绍、产品、营销等方面的文档。当用户咨询“贵公司主要业务是什么?”时,实际上与公司经营高度相关的内容可能有五条,但RAG系统只返回了三条,这时召回率就是百分之六十。
在RAG系统中,召回率是一项非常关键的指标。召回率高低,如同客服人员对企业知识的掌握程度,决定了其能否精准有效地回应用户咨询。因为大模型能否“答对”,很大程度上取决于是否能获取到相关内容。召回率越高,LLM在生成答案时能参考的有效信息就越多,回答的质量和准确性也就越有保障。

事实上,在RAG系统中,存在多种优化方案,包括问题改写、历史消息、重排序等;但对RAG系统影响最大的一点仍是知识库的构建。高质量的知识库能够大大增强系统的召回率,并减轻后续工作量。
因此,知识库构建才是RAG系统中最根本、最核心的基础设施。
影响召回率的三大核心问题分析
召回率低,主要有以下几个原因:
-
知识覆盖不足:知识来源单一,未能全面覆盖业务所需内容;以及过期知识未能及时删除,新知识未能及时更新等问题。
-
内容理解偏差:RAG系统需要对文档进行分块和语义化处理;但由于分块不合理、数据组织混乱,导致语义理解不清晰等问题。
-
结构策略粗糙:在构建知识库时未能合理规划元数据,缺少上下文信息,从而导致召回率不足。
构建高质量知识库的实用解决方案
为间接提升召回率,知识库质量的提升至关重要。具体解决方案如下:
1. 提高数据覆盖率
首先要提升知识库文档的覆盖率,确保召回的基石。
具体做法包括:
-
汇聚多渠道的内容:例如企业介绍、产品说明、FAQ、工单记录等。
-
支持多种接入方式:如数据库、API接口、本地文档等。
-
建立数据清理和更新机制:数据具有时效性,因此需要及时清除过期数据并更新新内容。
2. 提升内容理解质量
有效提升内容理解质量是 RAG 系统召回率优化的核心。
分块策略合理
分块(Chunking)是指将长文档切割成适合 RAG 检索的、更小的文本单元:
- 若分块太小:可能导致上下文缺失,影响回答准确性。
- 若分块太大:Embedding 可能过于抽象,难以精确命中具体问题。
在具体实践中,应考虑:
- 按语义、标题、段落切块,避免语义断层。
- 支持 Chunk Overlap,即每块文本有一定重叠,例如每300个Token滑动切割,同时根据语义分段,可提高召回命中率。
此外,在适当的场景中,还可以选择结合多模态技术以及知识图谱等新技术。

结构化向量数据
传统向量检索仅依赖 Embedding 相似度,虽具备语义匹配能力,但仍存在明显短板:向量相似但语义不相关的内容易被误召回。
结构化向量数据可通过给向量库添加元数据的方式实现优化,例如根据时间、部门、业务类型等对数据进行逻辑隔离;同时,对文档内容进行标签提取,可有效补充传统文档上下文不足等问题。
对于非结构化数据,可使用Markdown或HTML等半结构化格式进行统一处理,以避免多种格式带来的复杂问题。
此外,在后续过程中还可以根据这些元数据进行精准检索、过滤、排序等操作。
总之,构建一个高召回率的智能问答系统,并非简单地将文档切割和嵌入Embedding即可实现。智能问答系统的搭建相对容易,但要做到卓越则需要深厚的专业知识与精细的策略。
