RAG(Retrieval-Augmented Generation,检索增强生成)将外部资料检索与模型生成结合起来,让模型利用检索到的内容回答问题。它为企业知识问答提供可核对的资料依据,但不能保证答案正确;资料过期、检索遗漏和模型误读都可能造成错误。
RAG 原始论文研究了将模型参数中的知识与外部检索结合的生成方式。本文讨论企业应用的实施与检查方法,不将论文中的实验结果视为任何企业项目的效果承诺。
先判断问题需要哪种数据能力
| 问题 | 可考虑的处理方式 | 要先确认的条件 |
|---|---|---|
| 某型号的安装要求是什么? | 从有效说明书检索片段并生成解释 | 型号、版本、适用环境与读取权限 |
| 上季度销售额最高的客户是谁? | 查询业务数据库并按确认的口径聚合 | 时间范围、退单处理、币种与销售额定义 |
| 帮我概括这份短文件 | 将授权文件直接作为上下文 | 文件长度、完整性与模型输入限制 |
RAG 不是所有任务的必选项。文档检索通常不能代替对完整交易记录的汇总计算;若只检索到部分销售记录,就据此排列客户名次,结果可能遗漏关键数据。混合任务可以由业务查询提供数值,再由文档检索补充口径说明。
文档问答的五个环节
1. 整理与解析资料
为文件保留来源地址、版本、生效日期、负责人和可见角色。检查扫描识别、表格还原及附件是否完整。解析错误会继续传播到检索和回答,不能靠后续提示词自动补齐。
2. 切分与建立索引
切分要兼顾片段的完整性和检索粒度。按标题、段落、固定长度或语义边界切分各有适用条件,应在自己的问题样本上比较。参数表尤其要保留型号、单位和表头。
索引可以支持关键词、向量或组合检索。向量相似度表示一种相关性信号,不表示资料真实、有效或必然能支持答案。
3. 在授权范围内检索
先识别提问者与可见范围,再从授权资料中找候选片段。型号、时间或部门缺失时可以先追问。Microsoft 的 RAG 说明将访问控制、上下文长度和响应时间列为工程问题;这些都需要在实现中处理。
混合检索和重排序是可评估的优化手段,不保证固定幅度的提升。比较时应使用同一资料版本和测试集,同时记录质量、耗时及费用,而不是只展示几个表现较好的问题。
4. 生成并核对引用
把问题、必要上下文和来源标识送入模型,要求回答区分已知事实、缺失条件和资料冲突。展示引用时,要验证原文确实支持对应结论,而且用户能打开获准访问的来源。
附带链接不等于结论有依据。模型可能引用正确文件却读错数值,或将旧政策当成新政策。权限检查也不能仅依赖“不要泄露”的提示词,应在资料进入模型前落实。
5. 收集失败并维护版本
资料负责人处理缺失或冲突内容;工程人员处理解析、检索、权限和生成错误。新资料发布后应更新索引,移除失效依据,并复测受影响的问题。没有足够依据时,追问、说明限制或转人工都可以是正确结果,但需要测试这些行为是否真正发生。
评测时把不同错误分开
以下是建议的评测维度,具体口径应由业务方与工程方共同确认。
| 维度 | 检查方法 | 容易误判的情况 |
|---|---|---|
| 检索相关性 | 标注相关片段,检查前 K 条结果的召回率与精确率 | 只看相似度分数,没有人工确认相关资料 |
| 答案依据 | 逐项核对回答中的关键结论是否由引用支持 | 有链接就视为回答可靠 |
| 业务正确性 | 对照有效规则检查必要事实、单位和条件 | 忠实复述了一份已经过期的资料 |
| 边界行为 | 测试无答案、条件缺失、冲突版本和越权问题 | 将合理拒答一律算失败,或漏测越权 |
| 使用成本 | 记录端到端耗时、失败重试与人工复核 | 只看模型生成速度 |
Recall@K 可按“前 K 条中检出的已标注相关片段数/全部已标注相关片段数”计算;Precision@K 可按“前 K 条中的相关片段数/实际返回的片段数”计算。需要说明标注单位、K 值、去重方式及样本覆盖;无相关资料的题目单列评估。检索指标不能替代最终答案评分。
测试集要包含真实业务问题和明确标注的异常样本,另留未参与调优的样本复核。详细记录格式见知识库验收指南。
RAG 与微调如何配合
RAG 主要处理回答时需要读取哪些外部资料的问题;微调通过训练改变模型的任务行为或输出倾向。两者可以结合,但微调不等于建立可靠、实时的知识数据库,也不保证某个专业领域的正确性。
当问题是“找不到最新制度”,先检查资料与检索链路;当问题是“已有依据却持续无法按要求完成任务”,可以比较提示词、流程约束或微调等方案。是否训练模型应由样本、评测收益和维护成本决定。更新外部资料并不必然要求重新训练模型。
如果准备搭建企业知识库,可以先准备一组脱敏资料、角色说明和期望回答,参照产品知识库实施示例确定试点范围。小火堆的 AI 知识库定制服务可围绕资料治理、业务集成和验收开展评估,具体功能以确认后的实施范围为准。