共计 2157 个字符,预计需要花费 6 分钟才能阅读完成。
尽管 ChatGPT 表现出色,但它并非全能。这篇文章以简单易懂的方式阐释了 RAG 的概念,以及为何这一技术是企业所迫切需要的 AI 解决方案,适合每位希望理解 AI 实际应用逻辑的读者。
RAG(检索增强生成)
接下来,我们将深入分析 RAG(检索增强生成)的操作流程。这一过程结合了信息检索(IR)与大型语言模型(LLM)的强大生成能力。
其 基本理念 是:不应让 LLM 凭空推测,而是要基于所提供的“参考资料”进行问题回答。
整个流程可以清楚地分为两个关键阶段:索引 (Indexing)和 查询(Retrieval & Generation)。下图展示了这一过程的完整框架:
第一阶段:索引(Indexing)–“知识库构建”
这一阶段为离线处理,其目标是将原始知识库转化为便于检索的格式。
1)加载(Loading)
输入:原始文档(如 PDF、Word、HTML、Markdown、数据库等)。
过程:通过文档加载器读取文件内容,并将其转换为纯文本格式。
输出:原始文本数据。
2)分割(Splitting)
输入:上一步得到的原始文本。
过程:利用文本分割器将长文本拆分为更小、带有重叠的“块”(Chunks)。原因在于:
- LLM 的上下文长度有限,无法处理过长文本。
- 小块文本便于精确检索,避免返回包含大量无关信息的大文档。
输出:多个文本块(Text chunks)。
3)向量化(Embedding)
输入:文本块。
过程:应用嵌入模型(Embedding Model)将每个文本块转化为一个高维数值向量(Vector Embedding)。这些向量可以理解为文本语义的数学表达,语义相近的文本其向量在空间中的距离也会更近。
输出:文本块对应的向量数组。
4)存储(Storing)
输入:向量 + 原始文本块(及可选的元数据,如来源、标题等)。
过程:将这些 (向量, 文本, 元数据) 对存入向量数据库(Vector Database)中,该数据库专为高效相似性搜索设计。
输出:一个可供查询的准备完毕的向量知识库。
第二阶段:查询(Retrieval & Generation)–“问答实施中”
此阶段为在线、实时进行,用户每次提问时便会被触发。
1)查询输入(Query):
用户提出问题,例如:“公司今年的年假政策有哪些主要调整?”
2)查询向量化(Query Embedding):
使用与第一阶段相同的嵌入模型,将用户的问题转化为一个向量。
3)检索(Retrieval):
过程:在向量数据库中执行相似性搜索(Similarity Search)。算法(如 k -NN)计算查询向量与库中所有向量之间的“距离”,找出距离最近(即语义最相似)的 Top-K 个文本块。
在 RAG(检索增强生成)中,Top- K 是指从海量文档中筛选出与问题相关性最高的前 K 个片段。
例如,当你询问“猫的饮食习惯”时,系统会从文档中提取相关内容,Top-K= 3 将返回最相关的 3 段。K 是一个可调参数,比如 K = 5 时则取前 5 个。
如何选择合适的 K 值?若 K 值过小,可能会遗漏关键信息;若 K 值过大,则可能引入冗余内容,影响 AI 回答的准确性与效率。因此,实际应用中需根据具体场景进行调试,以达到相关性与处理速度的平衡。
1)输出:最相关的几个文本片段(Contexts)。
2)增强(Augmentation):
过程:将用户的问题与检索到的相关文本片段结合,形成一个新的增强提示(Prompt),交给 LLM。
提示示例:
“””请依据以下提供的上下文信息回答问题。如果答案不在上下文中,请直接说‘根据提供的信息,我无法回答这个问题’。
【上下文开始】{这里插入检索到的 Top- K 个相关文本片段}【上下文结束】
问题:{用户的问题} 答案:”””
3)生成(Generation):
过程:LLM 接收到增强提示后,将基于所提供的上下文(而非内部可能过时或不准确的信息)生成答案。
输出:一个准确且有依据的最终答案。
总结与类比
可以将 RAG 的工作流程比作一次开卷考试:
- 索引阶段:宛如你将所有教科书、笔记和资料(知识库)进行标记、编排和索引(向量化并存入数据库),以便于快速查找。
- 查询与生成阶段:在考试时遇到问题(用户查询),首先翻阅索引,找到相关章节和页面(检索),然后根据这些参考资料(上下文)构建你的答案(生成)。
这种方法有效地解决了 LLM 的“幻觉”现象,提高了答案的可靠性,并且通过 更新知识库,使 LLM 能够获取最新的信息,而无需重新训练模型,成本极为低廉。
RAG 的优化技巧
1. 多元召回源 - 多路召回(稀疏召回、语义召回、字面召回)
解决截断和召回分数对齐的问题 - 引入重排序阶段(减少召回数量、提升召回质量)
embedding 模型、重排序模型、生成模型 - 根据系统的回答进行针对性微调
2. RAG 评估标准
1、检索 -MRR 平均倒排率、top-k(Hits Rate) 命中率、NDCG 排序指标
2、生成
- 准确性(量化标准:Rouge- L 文本相似度、关键词重合度)
- 多样性
- 人工评估模型回答的质量、准确性和连贯性
3. 如何实施 RAG 项目(AI 训练师)
- 由于标注内容的复杂性,利用目前优质的大型模型生成参考答案,通过筛选和改写答案,快速提供高质量的回答。
- 先生成三个答案,经过对这三个答案的筛选和基础上进行改写,以实现高质量答案的产出。
本文由 @阿毅 sunyi 原创发布于人人都是产品经理。未经作者许可,禁止转载