AI 技术文档

RAG 与知识检索

先检索资料,再组织带来源的回答,分别检查检索与生成两个阶段。

RAG 解决什么问题

RAG 是检索增强生成:先从外部资料中找出相关内容,再把结果提供给模型组织答案。它适合需要引用项目资料、专业知识或经常更新信息的场景;并不意味着把资料直接训练进模型。基本流程可参考 Google Cloud 的 RAG 介绍。

检索结果相关、准确,生成阶段才有可靠材料可用。引用了资料也仍可能答错,因此要分别检查“找到了什么”和“据此写了什么”。

给资料保留身份

在本站案例中,每份资料先保存以下信息:

{
  "document_id": "P-02",
  "title": "试运行变更说明",
  "version": "2",
  "section": "时间安排",
  "text": "试运行调整为11月9日。"
}

片段继承文档编号、版本和所在章节。这样检索后仍能说明来源,更新资料时也能定位需要重新处理的内容。

从可解释的检索开始

先按标题、段落和条目切分,尽量保留一个条件或一条规则的完整上下文。表格中行与列的含义也要一起保留。片段长度没有对所有文档通用的固定值,应观察问题是否能检索到完整证据。

关键词检索适合明确编号、术语和名称;向量检索可用于语义相近的表达。是否需要结合两种方式、增加重排,要看实际测试问题与检索记录。下面是教学流程:

用户问题
  -> 确定可访问的资料范围
  -> 检索候选片段
  -> 检查相关性、版本与重复内容
  -> 将有来源的片段交给模型
  -> 生成答案并核对引用

两类错误要分开修

如果正确资料没有进入候选片段,先检查资料解析、切分、查询表达和过滤条件。如果证据已经齐全,回答却遗漏条件或混淆日期,再检查提示词、材料顺序和输出约定。

当材料互相冲突时,先执行已经确定的版本规则;没有规则时呈现冲突。找不到依据时说明缺什么,避免生成一个看似完整的答案。

动手检查

为“试运行日期”“负责人员”“不存在的预算”等问题保存候选片段与最终答案。检查每个结论是否有对应原文;加入同名旧版本,确认版本信息没有在切分或检索时丢失。

下一步:工具调用,把检索等外部能力放进有边界的执行流程。