快速掌握RAG技术核心术语,深入理解检索增强生成的架构原理与实战应用。本教程将系统梳理RAG(Retrieval-Augmented Generation,检索增强生成)的关键概念,从架构组成到部署优化,帮助你构建完整的知识体系。

RAG (Retrieval-Augmented Generation),即检索增强生成,是一种融合信息检索与文本生成的前沿技术,它使大语言模型在回答问题时,能够优先检索外部知识库,再依据检索结果生成精准、可追溯的答案。
一、RAG架构核心组成
| 术语 | 含义 |
|---|---|
| Retriever(检索器) | 负责从外部知识库中查找与用户查询最相关的文档或片段(例如向量数据库中的Top-k检索)。 |
| Generator(生成器) | 通常采用大型语言模型(如GPT系列、T5),利用检索到的信息生成最终答案。 |
| Index(索引) | 检索系统的核心数据结构,用于实现文档的快速查找,通常采用向量索引。 |
| Knowledge Base / Corpus(知识库 / 文档库) | 存储结构化或非结构化知识的内容集合,RAG系统将从中检索相关信息。 |
小提示: 在实际项目中,Retriever 和 Index 的质量直接决定了RAG系统的效果上限。建议优先优化知识库的数据清洗与索引构建策略。
二、Embedding与向量检索
| 术语 | 含义 |
|---|---|
| Embedding(嵌入表示) | 将文本转换为向量表示,用于语义匹配与检索。 |
| Dense Retrieval(稠密检索) | 利用语义向量(如DPR、BERT)进行文本检索,效果优于传统TF-IDF方法。 |
| Vector Store(向量数据库) | 用于存储文档向量的专用数据库,主流方案包括FAISS、Pinecone、Milvus、Weaviate等。 |
| ANN(Approximate Nearest Neighbor) | 一种高效的相似向量查找算法,广泛应用于大规模向量检索场景。 |
小提示: 选择向量数据库时,需综合考虑数据规模、查询延迟、索引更新频率等因素。例如FAISS适合本地部署,Pinecone提供托管服务更为便捷。
三、检索技术
| 术语 | 含义 |
|---|---|
| DPR(Dense Passage Retrieval) | 由Facebook提出的稠密检索方法,分别训练了Query Encoder和Passage Encoder。 |
| BM25 | 一种经典的基于词频的稀疏文本检索算法,广泛应用于传统搜索引擎。 |
| Hybrid Retrieval(混合检索) | 同时融合稀疏检索(如BM25)和稠密检索(如DPR)的结果,有效提升召回率。 |
小提示: 混合检索通常能取得更优效果,但需要合理平衡两种检索结果的权重。推荐采用RRF(Reciprocal Rank Fusion)或学习型权重进行融合。
四、生成与上下文控制
| 术语 | 含义 |
|---|---|
| Context Window(上下文窗口) | 大语言模型能够处理的最大输入长度,超出部分将被截断。 |
| Chunking(分块) | 将长文档切分为若干小块,以适应检索和上下文窗口的限制。 |
| Top-k Retrieval | 返回与查询最相关的前k个文档块或文本片段。 |
| Prompt Engineering | 精心设计提示词,引导语言模型更有效地利用检索内容生成答案。 |
| Grounding | 确保生成内容基于真实检索结果,避免出现幻觉(hallucination)现象。 |
小提示: Chunking 策略至关重要:分块过小会丢失上下文,分块过大则可能超出窗口限制。建议根据文档类型灵活调整,例如采用段落分块或语义分块。
五、相关技术与模式
| 术语 | 含义 |
|---|---|
| Reranking(重排序) | 对初步检索结果进行二次打分与排序,进一步提升质量。 |
| Query Expansion(查询扩展) | 通过添加同义词、上下位词等方式增强查询效果。 |
| Multi-hop Retrieval | 支持跨多个文档或多轮查询步骤的复杂问题解答。 |
| Fusion-in-Decoder(FiD) | Google提出的一种生成架构,将多个检索文档融合到解码器中。 |
| Retriever-Reader Architecture | 检索器+阅读器的经典问答架构,被认为是RAG的前身。 |
小提示: Reranking 是提升检索精度的有效手段,尤其在初始检索结果较多时效果显著。常用的重排序模型包括Cross-Encoder和Cohere Rerank。
六、RAG部署相关
| 术语 | 含义 |
|---|---|
| Cold Start | 系统首次运行时缺乏有效检索结果或嵌入表示的问题。 |
| Latency(延迟) | 检索与生成的总耗时,是RAG系统优化的关键指标之一。 |
| Caching | 将常见检索或生成结果进行缓存,有效提升系统性能。 |
| Incremental Indexing | 支持新增文档时无需重建整个索引的增量更新机制。 |
小提示: 在生产环境中,Latency 优化至关重要。可采取以下措施:部署轻量级检索模型、采用异步处理、缓存热点查询、使用流式生成。
常见问题(FAQ)
- Q1:RAG与传统搜索有何区别?
A:传统搜索仅返回文档列表,而RAG不仅执行检索,还让大语言模型基于检索结果生成自然语言回答,更加智能和直观。 - Q2:何时使用稠密检索,何时使用稀疏检索?
A:如果数据量较小、关键词匹配至关重要(如法律条文),BM25效果理想;如果数据量大、需要语义理解(如问答、对话场景),稠密检索更为出色。实际应用中常将两者结合使用。 - Q3:如何选择分块大小?
A:取决于大语言模型的上下文窗口和文档内容。通常每块256-512个token,按段落边界切分,避免切断完整句子。建议通过实验进行调整。 - Q4:RAG系统常见的性能瓶颈有哪些?
A:主要瓶颈在于检索延迟(向量数据库查询缓慢)和生成延迟(大语言模型推理耗时)。优化方向包括:使用ANN索引、实施缓存策略、模型量化、流式输出等。 - Q5:什么是“幻觉”?RAG如何缓解?
A:幻觉是指大语言模型生成不基于事实的内容。RAG通过Grounding(强制模型仅基于检索结果生成)和Prompt Engineering(提示“只根据提供的信息回答”)有效降低幻觉风险。
掌握以上术语与概念,你就能快速理解RAG的运作原理,并在实际项目中灵活运用。无论是构建知识库问答系统,还是优化搜索引擎,RAG都是当前最具实用价值的技术方向之一。
