概览
检索增强生成 (RAG)
Retrieval-augmented generation (RAG)
含义
一个模式,用于检索相关的外部信息,并在生成之前将其提供给模型。
使用场景
当答案应依赖于当前、私有或特定领域的文档时使用。
应用示例
为问题检索策略段落,然后仅使用这些段落进行回答。生成式 AI 工程
了解用于从可信文档构建可验证的 AI 答案的摄取、索引、检索、排序、关联、引用和 RAG 提示模式。
19 个术语
概览
Retrieval-augmented generation (RAG)
一个模式,用于检索相关的外部信息,并在生成之前将其提供给模型。
当答案应依赖于当前、私有或特定领域的文档时使用。
为问题检索策略段落,然后仅使用这些段落进行回答。摄入
Chunking
将文档分割成更小的单元,以便进行索引和检索。
选择分块边界,以在保持检索重点的同时,保留含义。
按照章节分割手册,并保留每个标题及其段落。索引
Embedding
一个数值向量,用于表示文本或其他内容的语义特征。
使用嵌入 (embeddings) 来比较语义相似性,而不仅仅是精确的关键词匹配。
为每个文档块和用户的查询创建嵌入向量。索引
Vector store
一个存储嵌入并支持最近邻检索的系统。
使用它来管理语义索引和相关的文档元数据。
存储每个分块向量及其源 URL、标题和访问范围。检索
Similarity search
基于向量表示在所选距离度量下有多接近进行检索。
用于查找与查询相关的含义的段落。
在向量存储中搜索与查询嵌入最接近的段落。检索
Retriever
选择查询的候选文档或片段的组件。
配置它以组合查询重写、过滤器、搜索方法和结果限制。
检索器返回策略将当前用户可以访问的策略块进行分割。检索
Top-k
为下一阶段选择的最高排名检索结果的数量。
调整它以平衡证据覆盖率与噪声和上下文使用。
检索前 k 个 8 个候选对象,然后重新排序并保留最佳的 4 个。检索
Metadata filter
一种约束,通过日期、产品、语言或权限等属性来缩小检索范围。
在进行语义排名以强制执行范围和访问控制之前,使用它。
过滤发布日期在 2025 年之后的韩国文档,供用户查看。检索
Hybrid search
一种搜索方法,结合词法关键词信号和语义向量信号。
当精确标识符和概念相似性都重要时使用。
将 BM25 关键词结果与嵌入相似度相结合,用于错误代码 AB-104。排序
Reranking
第二阶段的模型或规则,用于重新排序检索到的候选结果,以提高相关性。
用于在收集更广泛的候选集后,提高精度。
重新对 20 个候选片段进行排序,并将最佳的 5 个发送给生成器。基于事实的回复
Grounding
将生成的响应与提供的或检索到的证据关联起来。
使用它来减少不支持的声明,并使答案可追溯。
仅回答由检索到的策略摘录支持的声明。基于事实的回复
Citation
一个标识支持某个主张的来源的参考。
在声明级别添加引用,以便读者可以快速验证证据。
引用可能仍然指向不相关的证据; 验证它是否确实支持该声明。
为每个策略声明,包含文档标题、部分和直接来源链接。RAG 提示模式
Query rewriting prompt
一个将用户的请求转换为更适合关键词、语义、混合或过滤检索的一个或多个查询的指令。
用于模糊、对话、未明确或领域不匹配的问题,同时保留原始意图。
不要默默地改变用户的意图、添加不支持的事实或削弱访问过滤器。
为混合搜索重写问题。保留原始意图,添加可能的文档术语,并返回原始问题以及最多三个重写的问题。RAG 提示模式
Grounded-answer instruction
一种提示规则,要求事实主张必须由提供给生成步骤的检索到的段落支持。
当答案必须可追溯,并且不应将未经模型支持的知识作为证据时使用。
使用提供的段落回答问题。将支持性来源 ID 附加到每个事实声明,并明确标记任何推断。RAG 提示模式
Context-only answering
一条严格的生成规则,限制答案仅限于由提供的检索上下文明确支持的信息。
用于策略、合同、受监管的内容或其他需要防止外部模型知识填补空白的任务。
此规则无法弥补因结果质量差、不完整、过时或未经授权而导致的错误。
仅使用 <retrieved_context>。如果上下文不包含答案,则返回 insufficient_evidence,而不是使用先验知识。RAG 提示模式
No-evidence response and abstention
一种定义的备用响应,当检索到的证据缺失、不足、矛盾或低于支持阈值时使用。
使用它来防止盲目猜测,并将问题路由到澄清、再次尝试检索或人工审查。
如果没有段落直接支持答案,则返回状态:insufficient_evidence(证据不足),解释缺少的内容,并提出一个澄清性的问题。RAG 提示模式
Citation format instruction
一个提示合约,定义了源标识符必须在生成的答案中出现的位置和方式。
使用它来生成可供应用程序和评审人员一致验证的声明级引用。
格式化引用并不证明引用的段落支持该主张;请单独验证引用的正确性。
在每个支持的句子之后,引用一个或多个检索到的 ID,格式为 [S1]。切勿虚构 ID,也不要引用不支持该句子的来源。RAG 提示模式
Retrieved-context synthesis
将来自多个检索到的段落的互补证据组合成一个连贯的答案,同时保留原始来源的边界。
用于比较、摘要或需要多个段落的多部分问题。
根据子问题对段落进行分组,删除重复项,保留日期和范围,然后使用声称级别的来源 ID 合成答案。RAG 提示模式
Conflicting-source handling
一种提示规则,用于检测和报告检索到的来源之间的矛盾,而不是默默地选择其中一个。
当文档可能因版本、日期、管辖权、权威或解释而异时使用。
仅靠时效性并不总是能确定权威性;将域的来源优先级策略编码在提示之外或与提示一起。
如果来源冲突,则列出每个声明及其来源、版本和日期;识别冲突;应用明确的权威规则或请求审核。检索质量和生成指令必须同时设计和评估;提示无法修复缺失或未经授权的证据。
| 阶段 | 提示责任 |
|---|---|
| 在检索之前 | 在重写、扩展、过滤或分解查询时,保持意图。 |
| 上下文组装 | 标记源 ID、版本、日期、权限和文本段落的边界。 |
| 答案生成 | 限制声明为证据,定义引用格式,并指定拒绝行为。 |
| 生成后 | 验证声明支持、引用正确性、冲突、完整性和访问合规性。 |
否。它会减少允许的证据范围,但答案仍然可能错误地解读段落,组合不兼容的来源,添加错误的引用,或依赖于不完善的检索结果。验证检索的召回率、声明的支持性、引用的正确性以及拒绝回答的行为。
当没有授权内容直接支持所需声明时,或者证据低于定义的阈值,或者来源存在冲突且没有权威规则,或者问题过于模糊而无法安全检索时,请选择“弃权”。返回一个结构化的原因以及下一步的有用操作。
当用户或下游系统需要验证声明时,使用“是”,但应用程序必须保留原始的标识符,并验证每个引用的段落是否支持附近的声明。 模型绝不能虚构来源 ID。
关于查询增强、分解、重写、检索、重新排序和累积上下文的官方架构指南。
关于编排和生成提示模板、运行时占位符、检索的上下文、查询和引用输出指令的官方文档。
关于测量生成的声明是否得到提供的事实支持,并识别支持或矛盾的证据的官方指南。
审查指令、约束、输出模式、任务分解、推理和验证器模式。
整理、收集、排序、压缩、缓存并跟踪检索到的证据和对话状态。
测量 groundedness(可追溯性)、引用质量、完整性、回归、延迟和成本。
保护检索流程,防止间接提示注入、未经授权的数据访问以及不安全输出。