大模型应用开发概念-二
什么是RAG
RAG 是 Retrieval-Augmented Generation 的缩写,中文译为检索增强生成,是一种结合**信息检索(Retrieval)与大语言模型生成(Generation)**的技术方案,核心目标是解决大语言模型(LLM)在知识时效性、私有数据使用、事实准确性上的核心痛点,让模型能够调用外部知识库生成更可靠、更贴合特定场景的内容。
简单来说,传统LLM是“凭记忆回答”,而RAG是“查资料后再回答”,是当前企业级AI应用、垂直领域大模型落地的主流技术路线之一。
一、核心工作流程
RAG的完整流程分为离线构建知识库和在线推理交互两个阶段,核心步骤如下:
-
1.
文档预处理与索引构建(离线) 将企业私有文档、行业报告、专业资料等非结构化文本(PDF、Word、网页等)进行清洗、分块(将长文本拆分为合适的短片段),再通过嵌入模型(Embedding Model)将文本片段转换为向量(数值化表示),最终存储在向量数据库中,建立可快速检索的索引。
-
2.
用户提问与检索(在线) 用户输入问题后,同样用嵌入模型将问题转换为向量,在向量数据库中进行相似度检索,找到与问题语义最匹配的若干文档片段(即“检索到的参考知识”)。
-
3.
生成回答(在线) 将用户问题 + 检索到的参考知识拼接成完整的Prompt,输入给LLM,模型基于这些外部真实数据生成回答,而非单纯依赖自身训练数据。
-
4.
可选优化步骤 包括答案重排序、多轮检索、知识过滤、 citations(引用标注)等,进一步提升回答的准确性和可信度。
二、为什么需要RAG?解决LLM的核心痛点
-
1.
知识时效性问题 LLM的训练数据有固定截止时间,无法获取最新信息(如2025年的行业数据、实时新闻),而RAG可以接入实时/最新的知识库,随时更新。
-
2.
私有数据安全与使用 企业的内部文档、客户数据、商业机密等无法用于训练通用LLM,RAG可以在本地/私有环境中完成检索和生成,不泄露敏感数据。
-
3.
事实准确性(幻觉问题) LLM容易生成“一本正经的胡说八道”(幻觉),RAG通过锚定外部真实参考资料,让回答有明确的知识来源,大幅降低幻觉概率。
-
4.
降低模型训练成本 无需对大模型进行全量微调,仅通过更新知识库即可适配新场景,相比微调更高效、成本更低。
-
5.
可控性与可解释性 可以追溯回答的知识来源,满足金融、医疗、政务等对内容可解释性要求高的行业需求。
三、核心组件详解
-
1.
嵌入模型(Embedding Model) 核心作用是将文本(文档、问题)转换为向量,向量的空间距离代表语义相似度,是检索的基础。主流模型如BGE、text-embedding-ada-002等。
-
2.
向量数据库(Vector Database) 专门用于存储、索引和快速检索高维向量的数据库,支持亿级向量的近似最近邻搜索(ANN),是RAG的核心存储组件。主流产品:Pinecone、Chroma、Milvus、FAISS等。
-
3.
检索模块 负责根据用户问题向量,从向量数据库中匹配最相关的文档片段,主流算法包括语义检索、稀疏检索(BM25)、混合检索等。
-
4.
生成模型(LLM) 负责基于检索到的知识和用户问题生成最终回答,可使用开源模型(LLaMA、Qwen)或闭源模型(GPT-4、Claude)。
-
5.
路由/后处理模块 可选组件,用于判断是否需要检索、过滤低质量检索结果、对生成内容进行校验等。
四、典型应用场景
-
1.
企业智能问答:企业知识库问答、员工自助咨询、客服机器人(如银行客服、电商售后)。
-
2.
文档智能处理:长文档总结、合同分析、论文解读、行业报告梳理。
-
3.
垂直领域助手:医疗病历问答、法律条文咨询、教育题库答疑等专业场景。
-
4.
智能搜索:结合RAG的搜索引擎,直接给出整合后的答案,而非仅返回网页链接。
-
5.
多模态RAG:扩展到图片、音频、视频等非文本数据,检索图像信息后结合文本生成回答。
五、RAG vs 微调(Fine-tuning)
|
维度 |
RAG |
全量微调 |
|---|---|---|
|
数据更新成本 |
低,仅更新知识库 |
高,需重新训练模型 |
|
知识时效性 |
高,实时更新 |
低,依赖训练数据截止时间 |
|
私有数据使用 |
友好,本地部署即可 |
敏感,需合规处理 |
|
幻觉问题 |
大幅降低 |
无法根本解决,可能加剧 |
|
开发与部署成本 |
中等,组件较多 |
高,依赖算力和专业团队 |
补充:RAG与微调并非对立,很多场景会结合使用(RAG提供外部知识,微调优化模型的生成风格/逻辑),即RAG+微调的混合方案。
什么是Embedding
在大语言模型(LLM)、检索增强生成(RAG)、人工智能等技术场景中,Embedding(中文常译为嵌入、向量嵌入)是将非数值型数据(尤其是文本、图像、音频等)转换为计算机可以处理的低维稠密数值向量的过程与结果,是连接自然语言与机器学习模型的核心桥梁。
简单来说,它的核心作用是把人类能理解的文字、图片等信息,转化为模型能计算的数学向量,向量之间的距离/相似度可以代表原始数据的语义/内容相似度。
一、核心本质
-
1.
数据的数值化表示 文本、图像、音频等数据无法直接被神经网络计算,Embedding 会将其映射到一个连续的向量空间中,生成固定长度的数值向量(比如 768 维、1024 维、1536 维等)。
-
2.
语义/内容的编码 语义相近、内容相似的原始数据,其对应的 Embedding 向量在空间中会距离很近;反之则距离较远。这是 Embedding 最关键的特性,也是语义检索、文本匹配的基础。
-
3.
低维稠密向量 区别于稀疏的词袋模型(如one-hot编码),Embedding 是稠密向量(向量中大部分数值不为0),维度远低于原始数据的特征维度,计算效率更高。
二、以文本Embedding为例(最常用场景)
文本 Embedding 是目前应用最广泛的类型,也是 RAG 技术的核心组件之一,我们以它为例详细说明:
-
1.
输入:一段文本(单词、句子、段落、文档片段)。
-
2.
处理:通过嵌入模型(Embedding Model)对文本进行编码,生成向量。
-
3.
输出:一个固定维度的数值向量。
示例:
-
•
句子1:“苹果是一种水果”
-
•
句子2:“香蕉属于水果类”
-
•
句子3:“北京是中国的首都” 这三个句子的 Embedding 向量中,句子1和句子2的向量距离会非常近,而和句子3的距离会很远,这就体现了语义相似度。
三、核心应用场景
1. 语义检索与RAG(最核心场景)
在 RAG 中,我们会将知识库的所有文档片段生成为 Embedding 向量并存储在向量数据库中。当用户提问时,先将问题生成为 Embedding 向量,再在向量数据库中检索距离最近的向量(即语义最相似的文档片段),最后将这些片段作为上下文输入给 LLM 生成答案。
2. 文本匹配与相似度计算
用于判断两段文本是否语义相近,比如:
-
•
电商平台的商品标题与用户搜索词的匹配度;
-
•
问答系统中匹配用户问题与标准问题;
-
•
文本去重、相似文本聚类。
3. 分类与推荐任务
Embedding 向量可以作为下游模型(如分类器、推荐系统)的输入,用于文本分类、用户画像构建、商品推荐等任务。
4. 多模态Embedding
除了文本,图像、音频、视频也可以生成 Embedding:
-
•
图像 Embedding:将图片转换为向量,用于图像检索、图文匹配;
-
•
多模态 Embedding:将文本和图像映射到同一向量空间,实现跨模态检索(如“以图搜文”“以文搜图”)。
四、关键特性
-
1.
语义相关性:向量距离 ≈ 语义相似度,是 Embedding 的核心价值;
-
2.
通用性:同一嵌入模型可以处理不同类型的文本,生成统一格式的向量;
-
3.
可迁移性:预训练的嵌入模型可以适配不同的下游任务,无需重新训练;
-
4.
维度固定:对于同一个嵌入模型,无论输入文本长度如何,输出向量的维度是固定的(方便存储和计算)。
五、主流文本嵌入模型
目前有大量成熟的开源和商用嵌入模型,覆盖不同的使用场景:
-
1.
商用模型:OpenAI 的 text-embedding-ada-002(1536维)、Google 的 text-embedding-004 等;
-
2.
开源模型:BAAI 的 BGE系列(中文/英文效果优异)、Sentence-BERT、GanymedeNil 的 text2vec 系列等。
六、补充:与词嵌入(Word Embedding)的区别
我们常说的文本 Embedding 分为两个层级:
-
1.
词嵌入(Word Embedding):针对单个单词生成向量,是早期技术,无法捕捉上下文语义(如“bank”在不同语境下的含义);
-
2.
句/段落Embedding:针对整个句子、段落生成向量,能捕捉整体语义,是当前 RAG 等场景的主流应用。
什么是向量数据库
向量数据库(Vector Database) 是一种专门用于存储、索引和管理高维向量数据(Embedding向量)的数据库,它是实现检索增强生成(RAG)、语义搜索、推荐系统等AI应用的核心基础设施。
简单来说,传统数据库擅长存储和查询结构化数据(如表格、数字),而向量数据库则专门为向量数据设计,核心能力是快速找到与查询向量最相似的向量,这正是AI模型处理文本、图像等非结构化数据的关键需求。
一、核心定位与作用
在AI应用(尤其是RAG)中,向量数据库承担着外部知识库存储与检索的核心角色:
-
1.
存储向量:将文档、文本片段、图像等数据通过嵌入模型转换为向量后,持久化存储;
-
2.
高效检索:当用户输入查询(如问题)并转换为向量后,数据库能在毫秒级时间内,从海量向量中找到语义最相似的Top-N个向量;
-
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.
文档预处理→分块→嵌入模型生成向量;
-
2.
向量数据库存储向量+构建索引;
-
3.
用户提问→嵌入模型生成问题向量;
-
4.
向量数据库检索相似向量→返回原始文本片段;
-
5.
文本片段+问题→拼接为Prompt→LLM生成最终答案。
更多推荐


所有评论(0)