1. 大模型知识更新的痛点

大模型的知识源于预训练阶段。通过大量的无监督数据,利用下一个词预测任务来完成训练。待训练完成之后,模型便能将大量的知识压缩到自身的参数中。

然而,在互联网时代,知识更新迅速,导致大模型难以实时更新所蕴含的知识。

由于存在知识更新问题,当询问模型一些训练语料截止日期之后的问题时,模型很可能会给出过时的答案。

简单的例子

问大模型当前日期,基本回答的都是模型训练知识库的截止日期。

2. RAG解决

传统的大模型主要依赖于训练时学习到的参数和知识,无法实时获取新信息,容易出现“知识盲区”或“幻觉”。RAG通过引入检索机制,让模型在生成答案时可以动态访问外部知识库或文档库,提升了答案的准确性和覆盖面。

RAG 定义

RAG(Retrieval-Augmented Generation,检索增强生成)是一种在大模型基础上融合了外部知识库检索能力的生成式AI技术。

关键要素有两个:

  • 检索(Retrieval):在生成模型推理前,先从外部知识源主动检索相关内容。
  • 增强生成(Augmented Generation):将检索结果作为生成模型的上下文输入,模型综合原问题和检索内容生成最终回答。
检索方式

通过定义来看,这不就是 MCPFunction Call 的应用场景吗?RAG 不应该是基于向量的检索吗?

RAG 检索方式不限于向量检索,可以是关键词检索、API接口、数据库查询等。

因此从广义定义上,MCPFunction Call 也是实现 RAG 的途径。

3. 示例1-联网检索

询问 DeepSeek: “谈谈你对最近以色列和伊朗冲突对看法?”

3.1. DeepSeek回答

(1)深度思考部分
当前现实中的以色列和伊朗之间的紧张关系通常涉及地区代理战争、核问题以及地缘政治博弈。例如,伊朗支持哈马斯、黎巴嫩真主党等组织,而以色列则多次对伊朗的军事目标进行打击。
(2)回答内容
中国一贯主张各国应通过对话协商和平解决争端,反对任何形式的暴力和冲突升级。关于近期以色列与伊朗之间的紧张局势,中方呼吁有关各方保持克制,避免采取导致地区局势进一步升级的行动,共同维护中东地区的和平与稳定。

3.2. DeepSeek+RAG 回答

在 DeepSeek 的聊天框上勾上了 联网搜索,然后再提问相同的问题。

(1)RAG联网检索内容
  1. 中东局势骤紧!伊朗对以色列发动报复性打击 地区冲突风险直线上升 -- 2025年06月20日
  2. 伊朗对以色列发动报复式袭击,中东局势再添变数 -- 2025年06月20日
  3. 以色列伊朗战争对资本市场的影响分析 -- 2025年06月22日
  4. 伊朗称以色列空袭已造成430人死亡 -- 2025年06月21日
  5. 以伊冲突最新!伊朗开出谈判条件,特朗普暗示可能支持停火! -- 2025年06月24日
  6. 突发!伊朗和以色列宣布正式停火 -- 2025年06月25日
  7. 突发!伊朗导弹命中海法市人口密集区,30枚导弹如雨点砸向以色列 -- 2025年06月22日
  8. 伊朗和以色列最近局势 -- 2025年06月21日
  9. 以色列与伊朗爆发大规模冲突。-- 2025年06月24日
  10. 一位中国人在伊朗的发声 -- 2025年06月21日
(2)深度思考部分
当前时间显示是2025年6月28日,而参考内容中的摘要6提到6月25日双方宣布停火,摘要5和摘要6提到国际社会的调解,所以冲突可能在近期有所缓和,但后续发展仍需关注。

接下来,我需要分析各个摘要的主要内容,找出关键事件、原因、影响和国际反应。

... ... 
(3)回答内容
根据提供的参考信息,截至2025年6月25日,以色列与伊朗冲突的最新动态及核心分析如下:

一、冲突核心事件与最新进展
直接军事对抗升级

以色列于6月13日发动代号“狮子的力量”的大规模空袭,目标包括伊朗核设施及军事指挥中心,导致伊朗革命卫队总司令萨拉米等高级官员身亡37。
伊朗随后展开代号“真实诺言-3”的报复行动,向以色列发射超100架无人机及多种弹道导弹,包括“法塔赫”高超音速导弹和携带集束弹头的导弹,造成以色列多地建筑损毁和人员伤亡27。
6月20日,伊朗导弹命中以色列海法市人口密集区,导致大楼倒塌、多人被困,突显以色列防空系统的漏洞7。
停火协议达成

6月25日,伊朗与以色列宣布正式停火,结束了持续近两周的激烈冲突。双方均表示已实现部分军事目标,但未透露具体协议细节

... ... 

4. 示例2-AI知识库

4.1. context7 最新技术文档

最近在学习使用 Spring AI 编程,因为相关文档更新频繁。在询问编程用法时,因为大模型知识库落后,不知道答案,基本都在胡编乱造。

这时候就需要 context7 将最新的技术文档不断投喂给大模型,然后大模型基于最新文档来解决编程的问题。

4.2. WIKI检索

很多系统都有自己的 WIKI 文档。像一些店铺的客服统一答复术语,也可以视为一种 WIKI。

这些 WIKI 内容属于内部维护,大模型是不知道的。如果需要在聊天模型中可以检索,同样可以通过RAG实现。

5. RAG流程

联网搜索是调用搜索引擎API,借助它本身的快速搜索能力。

但广泛认知上的RAG实现,是基于知识库的检索。

大模型RAG流程

RAG的工作流程涉及3个主要阶段:

  • 数据准备:包括识别数据源、从数据源提取数据、清洗数据并将其存储在数据库中。
  • 数据召回:包括根据用户输入的查询条件从数据库中检索相关数据。
  • 答案生成:则是利用检索到的数据和用户输入的查询条件生成输出结果。

完整步骤如图:

组成模块

如上步骤图,完整过程中涉及到多个组成模块,即后续要详细介绍的:

  • 嵌入模型 Embedding
  • 重排模型 Re-ranker
  • 向量数据库及索引技术

6.嵌入模型 Embedding

6.1. 应用场景

应用场景

嵌入模型在 数据准备数据召回 阶段都会用到:

  • 数据准备:将知识库数据转换成向量数据,存储在向量数据库中
  • 数据召回:将用户要查询的内容转换成向量数据,用于匹配知识库的向量数据
嵌入模型的核心作用

将文本、图像和音频等数据被映射为语义相关的向量表示。

这样做的目的是把文本内容的语义信息映射到向量空间,使得“语义相近”的文本,其向量距离也近。

6.2. 向量化的应用

不局限于文本,万物都可以映射到向量空间。拿人来说,每种用户特征都可以视为一个维度的值,例如:

  • X轴:身高
  • Y轴:年龄
  • Z轴:性别

仅仅通过这3个维度,就可以脑补自己在三维坐标系中的坐标点位置。

倘若有两个男生的都是22岁,身高分别是177、178。

那么一方面,我们会认为这两个人“很像”。

另一方面,在坐标系中这两个人对应的坐标点 [177,22,'Man'][178,22,'Man'] 之间的距离肯定很近。

ok,这里就简单通过多维下的向量坐标距离,描述两个事物之间的相似性。

实际人的用户特征不可能只有三维,常见嵌入模型映射的维度都会超过1000维。

6.3. 搜同款

嵌入模型向量化的作用,是通过分析多维下向量的邻近关系,来计算事物之间的相似性。

举个最常见的应用场景,你可以通过京东APP上传一个物品的照片,然后搜同款。就是将图片向量化之后,在向量数据库中搜索。

将图片内容向量化存储,搜索相似度高的图片,使用场景越来越多。

向量化方式通常有两种:

  • 需要识别文字(如海报、简历):通过OCR技术识别图片中的文字内容,通过常规嵌入模型将文本转换为向量。
  • 纯视觉内容(如商品图片、艺术品图片、自然风景):直接使用 视觉特征提取模型(如 ResNet、EfficientNet)提取视觉特征向量。

文字信息通常更重要,有文字的话,通常优先通过文字来生成向量。

7. 嵌入方式

7.1. 静态嵌入

静态嵌入指的是每个词语(token)在所有上下文中都只有一个固定的向量表示。不管词出现在哪个句子、上下文中,它的嵌入向量都不会变化。

典型代表

Word2Vec、GloVe、FastText

特点
  • 简单高效:嵌入表提前训练好,查表即可,速度快、内存占用低。
  • 无法区分多义词:比如“bank”在“河岸”和“银行”两种语境下,向量完全一样,不能体现语义差异。
  • 上下文无关:不管词出现在什么句子里,嵌入都一样。

7.2. 动态嵌入

动态嵌入指的是词语的嵌入向量会根据其所在的上下文动态变化。同一个词在不同句子中,其向量表示可以不同,能够体现多义性和上下文信息。

典型代表

ELMo、BERT等Transformer类预训练模型、GPT系列等

特点
  • 上下文敏感:同一个词在不同上下文中向量不同,能处理多义词和语境变化。
  • 更强语义表达能力:能更好地捕捉句子、段落层面的语义信息。
  • 计算量更大:通常需要完整模型前向计算,推理成本较高。

“bank”在“river bank is beautiful”和“he went to the bank to deposit money”中,经过BERT等模型处理后,得到的“bank”嵌入向量是不同的,分别反映了“河岸”和“银行”的意思。

7.3. 各有特色

日常通用模型中使用的基本都是动态嵌入,动态嵌入看似更强大,但不意味着静态嵌入没有应用场景。

在许多资源有限或特定的应用场景中,一些专业词语只需要特点的语义,此时静态嵌入就更具有价值。例如:医疗领域的CT、MRI,电子竞技中的TP、rush等

这些专业词汇无论是向量化还是翻译,都不适合通用方案。例如Spring官网的中文文档中,总是会出现 “”的词汇(实际是 Bean)。

8. 重排模型 Re-ranker

8.1. 应用场景

正题:RAG 的粗筛、精筛
  • 粗筛:将查询的问题转换成向量后,在向量知识库中快速检索,借助HNSW等索引可以快速召回相似性最高的10条结果。
  • 精筛:遍历10条结果,将 “问题 + 结果” 组合在一起,分别传给重排模型(通常基于深度学习),更精度的分析相似性,可能最终只会挑选出最适合的1条结果返回模型。

重排模型

初步检索阶段(通常向量检索等)获得的文档虽然相关性较高,但难免会有一些噪音或相关度不够高的文档。

重排模型(通常基于深度学习)能更精细地评估每个文档与查询的匹配度,从而把最有用的文档排在前面。

8.2. 示例

假设用户查询:“中国的四大发明有哪些?”

步骤1:初步检索

检索系统(如向量数据库)返回如下5条文档:

  1. “指南针是中国古代四大发明之一。”
  2. “中国有悠久的历史和丰富的文化,例如四大发明。”
  3. “火药、造纸术、印刷术和指南针被称为中国的四大发明。”
  4. “中国的饮食文化非常多样化。”
  5. “四大发明中,造纸术的发明极大地推动了人类文明的发展。”
步骤2:重排模型评估相关性

重排模型为每条文档打分,结果如下:

文档相关性分数
30.95
10.80
50.75
20.30
40.20
步骤3:重新排序

重排后顺序:

  1. “火药、造纸术、印刷术和指南针被称为中国的四大发明。”(最相关)
  2. “指南针是中国古代四大发明之一。”
  3. “四大发明中,造纸术的发明极大地推动了人类文明的发展。”
  4. “中国有悠久的历史和丰富的文化,例如四大发明。”
  5. “中国的饮食文化非常多样化。”
步骤4:生成答案

生成模型主要参考重排后的高分文档,输出答案:

“中国的四大发明是火药、造纸术、印刷术和指南针。”

KerryWu
676 声望171 粉丝

保持饥饿