AI 产品经理必须掌握的核心技术:检索增强生成(RAG)
引言
检索增强生成(Retrieval Augmented Generation,简称 RAG)是目前 AIGC 文本生成最普遍、最成熟的应用方法之一。对于 AI 产品经理而言,理解 RAG 的原理与架构是构建高质量 AI 应用的基础。本文将深入解析 RAG 的核心概念、实现流程、优化策略及典型应用场景,帮助从业者掌握关键技术细节。
RAG 核心价值
通俗地理解,RAG 是将外部知识库提供给大语言模型(LLM),让模型根据检索到的知识片段进行回答。这与直接上传文档给模型有所不同,RAG 强调'先检索,后生成'。其核心价值体现在三个方面:
- 引导回答范围与质量:通过限定检索内容,减少模型幻觉,提升回答的专业性和准确性。确保模型只基于可信来源作答。
- 补充专业知识与时效性:弥补预训练模型在垂直领域知识的不足,并支持实时获取最新信息,无需重新微调模型即可更新知识库。
- 突破 Token 长度限制:大模型上下文窗口有限且处理长文本成本高。RAG 允许系统只加载相关片段,降低延迟与成本,避免长上下文导致的注意力分散。
RAG 实现流程详解
构建基于 RAG 的大模型应用主要分为两个阶段:知识库构建与问答流程。每个环节都包含关键的技术决策点。
一、构建知识库
知识库构建包含四个关键步骤:内容解析、内容分片、Embedding 向量化、向量存储。这是 RAG 系统的基石。
1. 内容解析
将不同格式的文档(txt, html, word, excel, pdf, markdown 等)提取为纯文本。对于复杂格式(如表格、公式、代码块),需使用专门的解析库(如 PyMuPDF, Unstructured, LangChain Loaders)保持结构完整性。数据清洗至关重要,去除页眉页脚、乱码、广告噪声,确保输入质量。例如,PDF 中的多栏排版容易解析错误,需调整布局分析策略。
2. 内容分片
长文档需切分为独立的知识片段。常见策略包括:
- 固定长度分片:按字符数或 token 数切割,简单但可能切断语义。建议设置重叠窗口(Overlap),通常为 10%-20%,防止关键信息丢失。
- 语义分片:基于段落标题、章节边界或自然语言停顿切分,保持上下文连贯。适合结构化文档。
- 递归分片:先按大标题切分,再逐级细化,保留层级关系。 分片大小需权衡检索精度与召回率,通常建议 200-500 tokens。过大会导致检索冗余,过小会丢失上下文。
3. Embedding 向量化
Embedding 将文本映射为高维向量。常用模型包括 OpenAI text-embedding-ada-002、BGE-M3、Sentence-Transformers 等。维度越高,信息越丰富,但计算开销越大。例如,OpenAI 模型有 1536 个维度。向量数据库利用这些向量进行相似度计算。选择模型时需考虑语言支持(中文/英文)、领域适应性及推理速度。
4. 向量存储
将向量存入向量数据库,如 pgvector、Elasticsearch、Chroma、Milvus、Weaviate 等。存储时建议保留元数据(文档 ID、章节索引、日期、作者),以便后续过滤。索引类型选择也很关键,HNSW 适合高精度低延迟,IVF 适合大规模数据。定期重建索引可优化性能。
二、问答流程
用户提问后,系统执行以下操作:
- 问题 Embedding:将用户查询转换为向量。若用户问题模糊,可先进行意图识别或改写。
- 检索相关知识:在向量库中搜索相似片段。可设置相似度阈值(如 0.7)和返回数量(如 Top 5)。支持混合检索模式。
- 封装 Prompt:将检索结果与用户问题组合成 Prompt 提交给 LLM。Prompt 应包含角色设定、任务描述及引用要求。
- 生成回答:模型基于上下文生成最终回复。需监控输出是否包含未授权信息。
三、高级优化策略
为提升效果,可采用以下优化手段:
- 查询重写:对用户问题进行扩展或改写,提高检索匹配度。例如将'怎么退款'改为'产品退款政策及流程'。


