24 RAG:从文档到可验证答案¶
难度:中级|前置:LLM、数据库|目标:理解完整检索链路和评测,不把向量库当魔法
RAG 解决什么¶
Retrieval-Augmented Generation:
它适合知识经常更新、需要私有资料或需要引用证据的场景。
索引链路¶
Metadata 可能包括:
- tenant_id;
- 文档类型;
- 设备型号;
- 版本;
- 时间;
- 权限范围;
- 来源 URL。
查询链路¶
权限过滤必须在检索阶段执行,不能先把其他租户文档给模型,再要求模型不要泄露。
切分¶
切得太小:
- 语义不完整;
- 缺少上下文。
切得太大:
- 噪声多;
- 召回不精准;
- Token 成本高。
按标题、段落、表格和语义边界切分通常比固定字符数更合理。
混合检索¶
- 向量检索:适合语义相近;
- 关键词/BM25:适合型号、错误码、专有词;
- Metadata Filter:限制租户、型号和版本;
- Reranker:对候选结果重新排序。
工业错误码 E-1042 往往更依赖关键词,而不是纯向量相似度。
评测分两层¶
检索¶
- 正确资料是否进入 Top K;
- 排名;
- 无关内容比例;
- 权限过滤正确性。
生成¶
- 是否基于证据;
- 引用是否对应;
- 是否完整;
- 没有资料时是否拒绝编造。
生成效果差,不一定是 Prompt 问题,可能是检索根本没找到正确资料。
自测¶
- RAG 为什么不能消除所有幻觉?
- 错误码检索为什么适合混合搜索?
- 权限过滤应该在检索前还是生成后?
- 如何区分检索失败和生成失败?
完成标准¶
- 能画出索引和查询两条链路
- 能解释 Chunk 大小取舍
- 能设计 Metadata
- 能分别定义检索和生成指标
下一单元:Workflow 与 Agent 边界