1. 从信息检索到智能问答:RAG技术的演进背景
2019年,当OpenAI首次发布GPT-2时,业界惊叹于其流畅的文本生成能力,但很快发现了一个致命缺陷——模型会"一本正经地胡说八道"。这种被称作"幻觉"(Hallucination)的现象,促使研究者们开始探索如何将外部知识库与生成模型结合。正是在这样的背景下,检索增强生成(Retrieval-Augmented Generation, RAG)技术应运而生。
RAG的核心思想并不复杂:在生成答案前,先从可信的知识库中检索相关文档,再基于这些文档生成回答。这就像学生在考试前先查阅教科书,而不是仅凭记忆作答。但实现这一思想的系统架构却经历了多次迭代:
早期系统(2020年前)主要采用两阶段流水线:
- 使用传统检索技术(如BM25)从知识库获取文档
- 将检索结果直接拼接到生成模型的输入中
这种架构虽然简单,但存在明显的"信息断层"——检索模块和生成模块各自为政,无法实现端到端优化。直到2020年Meta(原Facebook)AI团队在论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中提出端到端的RAG模型,才真正让这项技术走向成熟。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. RAG系统架构的三大核心组件
2.1 文档索引与向量化引擎
一个典型的RAG系统首先需要构建高效的文档检索能力。以开源框架LangChain的实现为例,其文档处理流程包含以下关键步骤:
-
文档分块:将PDF、HTML等原始文档按语义切分为适当大小的片段(通常200-800字符)。实践中发现,使用递归字符分割器(RecursiveCharacterTextSplitter)配合重叠窗口(重叠约10%),能在保持语义完整性和检索效率间取得较好平衡。
-
向量编码:选用适合的嵌入模型将文本转换为向量。当前主流选择包括:
- OpenAI的text-embedding-ada-002(1536维)
- 开源的bge-small-en-v1.5(384维)
- Cohere的embed-english-v3.0(1024维)
重要提示:嵌入模型的选择直接影响检索质量。我们团队实测发现,对于中文场景,bge-larg
