RAG(Retrieval-Augmented Generation,检索增强生成)

核心思想:不再只依赖模型内部的「记忆」,而是给模型配备一个「外部知识库」,让它在回答问题前先去查资料。原因:

1.模型无法读取所有内容,上下文窗口大小有限制

2.模型推理成本高,输入越多,成本越高

3.输入越多,模型需要消化的内容越多,模型推理速度就越慢

RAG的基本运行流程:

1.RAG会把文档切分成多个片段

(需要研究如何分片)

 分片:数据采集与清洗
原始数据源

├── 📄 PDF 文档
├── 📊 Excel/CSV
├── 💬 聊天记录
├── 🌐 网页内容
├── 📚 数据库
└── 📝 内部文档


数据清洗
├── 去除噪音(HTML 标签、特殊字符)
├── 文本标准化(繁→简、大小写统一)
├── 文档分块(Chunking)
└── 元数据提取(标题、日期、来源)

通常在 300-1000 tokens之间

索引:通过嵌入模型(如 OpenAI text-embedding-3 或 Hugging Face 上的开源模型)将文本片段映射为语义向量表示(Document Embedding,也就是高维稠密向量)。

向量数据库:文本通过Embedding向量化后存入向量数据库,同时原始文本也会存入向量数据库的。

2.在多个片段中寻找问题相关内容

(需要研究如何寻找到相关片段)

召回:使用嵌入模型(Embedding Model)将用户查询转换为语义向量表示(Query Embedding,也就是高维稠密向量),以捕捉查询的语义信息。

信息检索 (R): 在嵌入存储(Embedding Store)中,通过语义相似性搜索找到与查询向量最相关的文档片段(Relevant Segments)。

如图搜索与问题相似度较高的结果

计算向量相似度:

计算向量相似度的计算方式:

余弦相似度,欧氏距离,点积

特点:成本低,耗时短,准确率低,适合初步筛选

余弦相似度计算方式:

计算两个向量之间家教的cos值,夹角越小,值越大

欧氏距离算法,计算AB两点之间的直线距离

点积:通过代数方式衡量两个向量相似度的方法。

点积不仅考虑两个向量之间的方向关系,还要考虑他们的长度

举例:

首先从A引入关于B的垂线

得到垂线与B向量的交点,交点到原点的距离与B向量长度的乘积,乘积越大就代表相似度越高。

如果两个向量方向相同,向量越长,点积值越大;方向相反(与另一向量夹角大于90度),得到的乘积是负的,垂直时点积为0。

重排:

在召回结果中进行重排,再挑几份与用户问题最相似的。

之所以一定是召回后+重排,而不是直接在召回时就挑少几份,主要还是因为重排与召回在计算相似度方面存在差异。

重排进行相似度计算:

方法:cross-encoder 进行计算

特点:成本高,耗时长,准确率高

适合场景:精挑细选

最后总结:

准备部分:分片+索引实现知识库构建

将数据进行分片,对所有分片后的数据进行向量化,向量化后存入向量数据库中。

Agent

Agent = 能自主调用工具完成任务的AI。如果说RAG让AI能"查资料",Agent让AI能"干活"。

  1. 工具调用:可以使用各种API、软件、服务
  2. 任务规划:拆解复杂任务为多个步骤
  3. 自主决策:根据结果调整执行策略
实际案例

任务:"帮我查明天北京的天气,如果下雨就给老板发邮件说我在家办公"

Agent执行流程

  1. 调用天气API查询明天天气
  2. 判断是否下雨
  3. 如果下雨,调用邮件API发送请假邮件
  4. 返回执行结果

Agent Skill

大语言模型的技能(Skills)是指通过特定的指令和元数据,帮助模型在执行任务时更加高效和准确。这些技能可以将重复性工作流程打包成可复用的指令,使得模型能够自动、可靠地完成任务,而无需每次都重复提醒。

1.核心功能自动化执行:技能允许模型在需要时自动加载并执行特定任务,减少人工干预,提高工作效率。

2.可复用性:通过将工作流程标准化,用户可以在不同的场景中复用这些技能,提升一致性和准确性。

3.简化复杂性:技能的设计核心是简洁与高效,用户只需编写简单的文档,模型便能理解并执行复杂的任务。

MCP

Model Context Protocol(模型上下文协议)

为AI工具制定统一标准,就像USB接口统一了设备连接。

  • 每个AI工具都有自己的接口标准
  • 开发者需要为不同AI分别开发插件
  • 工具无法跨平台复用
Skill vs MCP工具

对比维度

MCP工具

Skill

定位

底层能力(螺丝刀)

完整方案(装修服务)

复杂度

单一功能

组合多个工具+业务逻辑

使用场景

开发者调用

终端用户直接使用

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐