什么是RAG

RAG 是 Retrieval-Augmented Generation 的缩写,中文译为检索增强生成,是一种结合**信息检索(Retrieval)大语言模型生成(Generation)**的技术方案,核心目标是解决大语言模型(LLM)在知识时效性、私有数据使用、事实准确性上的核心痛点,让模型能够调用外部知识库生成更可靠、更贴合特定场景的内容。

简单来说,传统LLM是“凭记忆回答”,而RAG是“查资料后再回答”,是当前企业级AI应用、垂直领域大模型落地的主流技术路线之一。


一、核心工作流程

RAG的完整流程分为离线构建知识库在线推理交互两个阶段,核心步骤如下:

  1. 1.

    文档预处理与索引构建(离线) 将企业私有文档、行业报告、专业资料等非结构化文本(PDF、Word、网页等)进行清洗、分块(将长文本拆分为合适的短片段),再通过嵌入模型(Embedding Model)将文本片段转换为向量(数值化表示),最终存储在向量数据库中,建立可快速检索的索引。

  2. 2.

    用户提问与检索(在线) 用户输入问题后,同样用嵌入模型将问题转换为向量,在向量数据库中进行相似度检索,找到与问题语义最匹配的若干文档片段(即“检索到的参考知识”)。

  3. 3.

    生成回答(在线) 将用户问题 + 检索到的参考知识拼接成完整的Prompt,输入给LLM,模型基于这些外部真实数据生成回答,而非单纯依赖自身训练数据。

  4. 4.

    可选优化步骤 包括答案重排序、多轮检索、知识过滤、 citations(引用标注)等,进一步提升回答的准确性和可信度。


二、为什么需要RAG?解决LLM的核心痛点

  1. 1.

    知识时效性问题 LLM的训练数据有固定截止时间,无法获取最新信息(如2025年的行业数据、实时新闻),而RAG可以接入实时/最新的知识库,随时更新。

  2. 2.

    私有数据安全与使用 企业的内部文档、客户数据、商业机密等无法用于训练通用LLM,RAG可以在本地/私有环境中完成检索和生成,不泄露敏感数据。

  3. 3.

    事实准确性(幻觉问题) LLM容易生成“一本正经的胡说八道”(幻觉),RAG通过锚定外部真实参考资料,让回答有明确的知识来源,大幅降低幻觉概率。

  4. 4.

    降低模型训练成本 无需对大模型进行全量微调,仅通过更新知识库即可适配新场景,相比微调更高效、成本更低。

  5. 5.

    可控性与可解释性 可以追溯回答的知识来源,满足金融、医疗、政务等对内容可解释性要求高的行业需求。


三、核心组件详解

  1. 1.

    嵌入模型(Embedding Model) 核心作用是将文本(文档、问题)转换为向量,向量的空间距离代表语义相似度,是检索的基础。主流模型如BGE、text-embedding-ada-002等。

  2. 2.

    向量数据库(Vector Database) 专门用于存储、索引和快速检索高维向量的数据库,支持亿级向量的近似最近邻搜索(ANN),是RAG的核心存储组件。主流产品:Pinecone、Chroma、Milvus、FAISS等。

  3. 3.

    检索模块 负责根据用户问题向量,从向量数据库中匹配最相关的文档片段,主流算法包括语义检索、稀疏检索(BM25)、混合检索等。

  4. 4.

    生成模型(LLM) 负责基于检索到的知识和用户问题生成最终回答,可使用开源模型(LLaMA、Qwen)或闭源模型(GPT-4、Claude)。

  5. 5.

    路由/后处理模块 可选组件,用于判断是否需要检索、过滤低质量检索结果、对生成内容进行校验等。


四、典型应用场景

  1. 1.

    企业智能问答:企业知识库问答、员工自助咨询、客服机器人(如银行客服、电商售后)。

  2. 2.

    文档智能处理:长文档总结、合同分析、论文解读、行业报告梳理。

  3. 3.

    垂直领域助手:医疗病历问答、法律条文咨询、教育题库答疑等专业场景。

  4. 4.

    智能搜索:结合RAG的搜索引擎,直接给出整合后的答案,而非仅返回网页链接。

  5. 5.

    多模态RAG:扩展到图片、音频、视频等非文本数据,检索图像信息后结合文本生成回答。


五、RAG vs 微调(Fine-tuning)

维度

RAG

全量微调

数据更新成本

低,仅更新知识库

高,需重新训练模型

知识时效性

高,实时更新

低,依赖训练数据截止时间

私有数据使用

友好,本地部署即可

敏感,需合规处理

幻觉问题

大幅降低

无法根本解决,可能加剧

开发与部署成本

中等,组件较多

高,依赖算力和专业团队

补充:RAG与微调并非对立,很多场景会结合使用(RAG提供外部知识,微调优化模型的生成风格/逻辑),即RAG+微调的混合方案。

什么是Embedding

在大语言模型(LLM)、检索增强生成(RAG)、人工智能等技术场景中,Embedding(中文常译为嵌入向量嵌入)是将非数值型数据(尤其是文本、图像、音频等)转换为计算机可以处理的低维稠密数值向量的过程与结果,是连接自然语言与机器学习模型的核心桥梁。

简单来说,它的核心作用是把人类能理解的文字、图片等信息,转化为模型能计算的数学向量,向量之间的距离/相似度可以代表原始数据的语义/内容相似度。


一、核心本质

  1. 1.

    数据的数值化表示 文本、图像、音频等数据无法直接被神经网络计算,Embedding 会将其映射到一个连续的向量空间中,生成固定长度的数值向量(比如 768 维、1024 维、1536 维等)。

  2. 2.

    语义/内容的编码 语义相近、内容相似的原始数据,其对应的 Embedding 向量在空间中会距离很近;反之则距离较远。这是 Embedding 最关键的特性,也是语义检索、文本匹配的基础。

  3. 3.

    低维稠密向量 区别于稀疏的词袋模型(如one-hot编码),Embedding 是稠密向量(向量中大部分数值不为0),维度远低于原始数据的特征维度,计算效率更高。


二、以文本Embedding为例(最常用场景)

文本 Embedding 是目前应用最广泛的类型,也是 RAG 技术的核心组件之一,我们以它为例详细说明:

  1. 1.

    输入:一段文本(单词、句子、段落、文档片段)。

  2. 2.

    处理:通过嵌入模型(Embedding Model)对文本进行编码,生成向量。

  3. 3.

    输出:一个固定维度的数值向量。

示例

  • 句子1:“苹果是一种水果”

  • 句子2:“香蕉属于水果类”

  • 句子3:“北京是中国的首都” 这三个句子的 Embedding 向量中,句子1和句子2的向量距离会非常近,而和句子3的距离会很远,这就体现了语义相似度。


三、核心应用场景

1. 语义检索与RAG(最核心场景)

在 RAG 中,我们会将知识库的所有文档片段生成为 Embedding 向量并存储在向量数据库中。当用户提问时,先将问题生成为 Embedding 向量,再在向量数据库中检索距离最近的向量(即语义最相似的文档片段),最后将这些片段作为上下文输入给 LLM 生成答案。

2. 文本匹配与相似度计算

用于判断两段文本是否语义相近,比如:

  • 电商平台的商品标题与用户搜索词的匹配度;

  • 问答系统中匹配用户问题与标准问题;

  • 文本去重、相似文本聚类。

3. 分类与推荐任务

Embedding 向量可以作为下游模型(如分类器、推荐系统)的输入,用于文本分类、用户画像构建、商品推荐等任务。

4. 多模态Embedding

除了文本,图像、音频、视频也可以生成 Embedding:

  • 图像 Embedding:将图片转换为向量,用于图像检索、图文匹配;

  • 多模态 Embedding:将文本和图像映射到同一向量空间,实现跨模态检索(如“以图搜文”“以文搜图”)。


四、关键特性

  1. 1.

    语义相关性:向量距离 ≈ 语义相似度,是 Embedding 的核心价值;

  2. 2.

    通用性:同一嵌入模型可以处理不同类型的文本,生成统一格式的向量;

  3. 3.

    可迁移性:预训练的嵌入模型可以适配不同的下游任务,无需重新训练;

  4. 4.

    维度固定:对于同一个嵌入模型,无论输入文本长度如何,输出向量的维度是固定的(方便存储和计算)。


五、主流文本嵌入模型

目前有大量成熟的开源和商用嵌入模型,覆盖不同的使用场景:

  1. 1.

    商用模型:OpenAI 的 text-embedding-ada-002(1536维)、Google 的 text-embedding-004 等;

  2. 2.

    开源模型:BAAI 的 BGE系列(中文/英文效果优异)、Sentence-BERT、GanymedeNil 的 text2vec 系列等。


六、补充:与词嵌入(Word Embedding)的区别

我们常说的文本 Embedding 分为两个层级:

  1. 1.

    词嵌入(Word Embedding):针对单个单词生成向量,是早期技术,无法捕捉上下文语义(如“bank”在不同语境下的含义);

  2. 2.

    句/段落Embedding:针对整个句子、段落生成向量,能捕捉整体语义,是当前 RAG 等场景的主流应用。

什么是向量数据库

向量数据库(Vector Database) 是一种专门用于存储、索引和管理高维向量数据(Embedding向量)的数据库,它是实现检索增强生成(RAG)、语义搜索、推荐系统等AI应用的核心基础设施。

简单来说,传统数据库擅长存储和查询结构化数据(如表格、数字),而向量数据库则专门为向量数据设计,核心能力是快速找到与查询向量最相似的向量,这正是AI模型处理文本、图像等非结构化数据的关键需求。


一、核心定位与作用

在AI应用(尤其是RAG)中,向量数据库承担着外部知识库存储与检索的核心角色:

  1. 1.

    存储向量:将文档、文本片段、图像等数据通过嵌入模型转换为向量后,持久化存储;

  2. 2.

    高效检索:当用户输入查询(如问题)并转换为向量后,数据库能在毫秒级时间内,从海量向量中找到语义最相似的Top-N个向量;

  3. 3.

    支撑AI应用:将检索到的相似向量对应的原始文本/数据,作为上下文输入给大语言模型,实现精准、可靠的内容生成。


二、核心特性

1. 面向高维向量的存储与检索

  • 向量通常是高维稠密向量(如768维、1536维、4096维),无法用传统数据库的索引方式高效查询;

  • 向量数据库采用近似最近邻(ANN, Approximate Nearest Neighbor) 算法,在牺牲极小精度的前提下,实现海量向量的快速检索,平衡了速度准确性

2. 语义相似度匹配

数据库通过计算向量之间的距离(如余弦相似度、欧氏距离)来衡量语义相似度,这是实现语义搜索的基础(区别于传统数据库的关键词匹配)。

3. 配套功能

除核心的向量检索外,主流向量数据库还支持:

  • 元数据过滤:结合结构化标签(如文档类型、时间、作者)筛选向量;

  • 批量插入/更新:支持知识库的动态更新;

  • 持久化与容灾:保障数据安全;

  • 多模态支持:存储文本、图像、音频等多类型向量。


三、与传统数据库的核心区别

特性

向量数据库

传统关系型数据库(MySQL/PostgreSQL)

存储数据

高维稠密向量(Embedding)

结构化数据(表格、数字、字符串)

核心查询能力

语义相似度检索(ANN)

精确匹配、范围查询、排序(SQL)

适用场景

AI检索、推荐系统、多模态搜索

业务数据管理、交易系统、报表分析

索引算法

ANN算法(FAISS、HNSW等)

B树、哈希索引等


四、核心应用场景

1. RAG(检索增强生成)

这是向量数据库最主流的应用:

  • 企业将内部文档(合同、手册、报告)转换为向量存入数据库;

  • 用户提问→生成问题向量→检索相似文档向量→提取原文内容→LLM生成答案;

  • 解决LLM知识时效性、私有数据使用、幻觉问题。

2. 语义搜索与推荐

  • 电商:根据用户搜索词的向量,检索商品向量,实现“语义搜商品”(如搜“轻便运动鞋”,匹配语义相似的商品);

  • 内容平台:推荐与用户浏览内容语义相似的文章、视频。

3. 多模态AI应用

  • 图像检索:将图片转换为图像向量,数据库检索相似图片;

  • 图文跨模态检索:根据文本向量检索匹配的图片,或根据图片向量检索匹配的文本。

4. 智能问答与客服

  • 企业知识库问答:用户提问后,检索知识库中的相似问题/答案,快速响应。


五、主流向量数据库产品

开源免费(适合个人/小型项目、本地部署)

  • Chroma:轻量级,入门友好,适合快速开发;

  • FAISS:Facebook开源,专注于向量检索算法,需自行集成存储;

  • Milvus / Zilliz:高性能、分布式,企业级开源方案,社区活跃;

  • Weaviate:支持向量检索+元数据管理,开源+商用版本。

商用云服务(适合企业级大规模部署)

  • Pinecone:海外主流商用向量数据库,托管式服务,易用性高;

  • Qdrant Cloud:基于Qdrant的云服务,性能优异;

  • 阿里云向量数据库、腾讯云向量数据库:国内云厂商提供的托管服务,适配国内环境。


六、补充:向量数据库在RAG中的完整链路

  1. 1.

    文档预处理→分块→嵌入模型生成向量;

  2. 2.

    向量数据库存储向量+构建索引;

  3. 3.

    用户提问→嵌入模型生成问题向量;

  4. 4.

    向量数据库检索相似向量→返回原始文本片段;

  5. 5.

    文本片段+问题→拼接为Prompt→LLM生成最终答案。

更多推荐