Skip to content

RAG 链路、指标与故障定位

把“回答不好”拆成可观察、可度量、可优化的工程问题。

最小链路

text
文档 → 解析 → 切分 → embedding → 向量库
问题 → embedding → 召回 → 过滤/重排 → prompt → 生成 → 引用答案

离线链路负责把知识变成可检索记录;在线链路负责从问题找到证据并约束生成。向量数据库主要承担向量存储、相似搜索和元数据过滤。

召回的到底是什么

默认情况下,召回单元是写入数据库的 chunk 记录。top_k=5 表示最多返回 5 个候选 chunk,而不是返回 5 篇完整文档。每个 chunk 通常包含:

text
id + text + embedding + metadata

如果一个章节被存成一个 chunk,召回时会返回整个章节;如果章节被切成 5 个 chunk,查询可能只返回其中相关的 1~3 个。应用也可以通过 parent_iddocument_id 把命中的小 chunk 扩展为父章节或文档的一部分,但这属于上下文组装策略。

完整解释见 第 3 课:从文档到答案

术语速查

术语紧凑定义先观察什么
Embedding把文本映射为可比较的数值向量。任务域相似文本是否靠近。
Top-k一次召回的候选数量。k 增大后 Recall@k 是否提升。
ANN以少量精度换取更低查询成本的近似最近邻搜索。召回率、延迟、内存。
Reranker对初召回候选做更精细的相关性排序。重排后前几条是否更相关。
Groundedness答案中的关键断言是否能被检索证据支持。断言与引用的对应关系。

故障定位顺序

  1. **没找到:**检查文档解析、切分、embedding 和过滤条件。
  2. **找到了但排位低:**检查 top-k、距离度量、索引参数和 reranker。
  3. **证据相关但答错:**检查上下文组装、提示词、模型和引用约束。
  4. **偶发变慢:**拆分 embedding、向量搜索、重排、生成各阶段延迟。

返回课程