检索增强生成
检索增强生成 (Retrieval-Augmented Generation, RAG) 在生成前从外部知识库寻找证据,将知识更新和访问控制留在应用侧。一个完整系统由离线索引和在线检索两条链路组成。
独立专题¶
快速开始¶
最小实现先使用小规模可信文档、固定切块、向量 Top-K 检索和带引用回答。分别评测检索召回与最终回答,避免只凭回答观感调参。
Embedding 与 Chunking¶
Embedding 将文本映射到向量空间,相似内容通常距离更近。索引和查询必须使用兼容的模型与归一化方式;更换模型后通常需要重建索引。
Chunking 决定检索粒度。块太小会缺少上下文,太大会混入无关内容并增加 token 成本。应尽量沿标题、段落、函数或表格等语义边界切分,并保存文档 ID、章节、时间、权限和相邻块信息。
Vector Search 与 Hybrid Search¶
向量检索擅长语义匹配,但可能漏掉编号、专有名词和精确短语。关键词检索适合精确匹配。混合检索将两者的排序融合,通常比单一路线更稳健。
元数据过滤应在可行时进入检索阶段,而不是检索后才删除无权结果。查询改写可补全指代或拆解复杂问题,但必须保留原始问题,防止改写偏离意图。
Reranker¶
Reranker 对初步召回的候选进行更精细的相关性打分。常见流程是先低成本召回几十个候选,再重排并选取少量证据。候选数、最终块数和阈值应通过评测确定,而不是固定使用某个经验值。
证据不足时系统应明确拒答或请求补充信息,不应强迫模型从低相关文档中拼出结论。回答需要引用具体来源,引用内容也要验证确实支持结论。
Graph RAG¶
Graph RAG 将实体、关系、事件或社区摘要组织为图,适合跨文档关系、多跳问题和全局主题分析。它增加了实体消歧、图构建和更新成本,不是普通问答的默认方案。多数项目应先把基础检索、元数据和评测做好。
评测与安全¶
检索侧关注 Recall@K、MRR、nDCG 和证据覆盖率;生成侧关注忠实度、答案正确性、引用准确性和拒答质量。评测集应包含无答案问题、时间敏感问题、权限隔离和对抗文档。
知识库可能遭受 RAG 投毒和间接提示词注入。入库前要校验来源与版本,在线阶段隔离指令和文档,输出前验证引用。完整方法见 模型能力评测 与 应用安全与治理。