Retrieval-Augmented Generation¶
RAG 在生成回答前,从外部知识源检索与问题相关的内容,并把检索结果作为生成上下文。
从产品视角看,RAG 不是“接一个向量数据库”,而是一套让模型回答可以回到外部事实源的系统机制。
基本链路¶
- 接收并分析查询。
- 在索引或知识源中召回候选内容。
- 必要时过滤、融合或重排。
- 将相关内容和来源标识交给模型。
- 生成回答并附上可核查引用。
这条链路可以进一步拆成离线的知识构建和在线的查询处理:
- 离线:解析资料、切分或建立其他检索单元、生成表示、写入索引;
- 在线:理解查询、选择数据源、召回候选、重排、构建上下文、生成与引用。
RAG 与 Agent 的关系¶
RAG 主要解决“从哪里取得相关知识”。Agent 则还需要决定是否检索、选择何种工具、如何使用结果, 以及下一步采取什么行动。RAG 可以是 Agent 的一个工具或记忆检索组件,但两者不能互相替代。
质量取决于整条链路¶
向量数据库不是 RAG 的全部。内容结构、查询转换、召回、重排、上下文组织、引用和评估中的任一环节 都可能成为瓶颈。
因此 RAG 的优化也应按链路定位:先查知识源和解析,再查查询、路由、索引、召回、重排和生成。