什么是RAG?

一、什么是 RAG?

AG(Retrieval-Augmented Generation,检索增强生成)是一种让大语言模型(LLM)具备外部知识获取能力的技术。

简单来说:

RAG = 检索(Retrieval) + 增强(Augmented) + 生成(Generation)

它的核心思想:

先从外部知识库中找到相关信息,再把这些信息提供给大模型,让大模型基于这些信息生成答案。

举个例子:

你问 ChatGPT:

"我们公司机器人 SDK 的 TCP 通信协议是什么?"

如果没有 RAG:

用户问题

|

LLM

|

根据训练数据猜答案

LLM 不知道你的公司 SDK,所以可能:

编造答案(幻觉)

给出泛化回答

如果有 RAG:

用户问题

|

检索知识库

|

找到 SDK 文档

|

把文档片段塞给 LLM

|

LLM 根据文档回答

回答可能:

"RobotSDK 使用 TCP 长连接通信,消息采用长度前缀 JSON 协议,客户端通过 request/response future 管理异步调用..."

这就是 RAG。

二、为什么需要 RAG?

LLM 本身有三个问题:

2.1 知识有限

LLM 的知识来自训练数据。

例如:

GPT训练数据

|

|

模型参数

训练结束以后:

不知道你的私人文档

不知道公司代码

不知道最新数据

例如:

2026年的机器人SDK文档

|

|

X

LLM不知道

2.2 容易产生幻觉

LLM 本质:

根据概率生成最可能的文本

比如问:

"我们的Robot类有哪些接口?"

模型可能:

Robot.move()

Robot.stop()

Robot.navigate()

Robot.fly()

最后一个可能根本不存在。

2.3 重新训练成本太高

一种方式:

公司文档

|

重新训练LLM

问题:

成本巨大

周期长

模型容易遗忘旧知识

RAG:

公司文档

|

知识库

|

查询时检索

成本低很多。

三、RAG完整工作流程(离线阶段

RAG分两个阶段:

  1. 知识库构建阶段(Offline)
  2. 用户查询阶段(Online)

1、知识库构建阶段

Step 1:收集数据

来源:

PDF

Word

Markdown

网页

数据库

代码仓库

日志

API文档

例如:

机器人公司:

RobotSDK/

|

├── README.md

├── TCP协议.md

├── API文档.pdf

├── config说明.md

└── source code

Step 2:文档解析(Document Parsing)

把各种格式转换成文本。

例如:

PDF:

Robot SDK支持TCP通信

消息格式:

{

seq:

command:

payload:

}

转换:

Document:

"Robot SDK支持TCP通信..."

Step 3:文本切分(Chunking)

为什么切分?

因为:

LLM上下文有限。

例如:

一本1000页文档:

100万token

不能直接送给LLM。

所以切:

原文


Robot SDK通信协议...


导航模块...


电量模块...


Chunk1

Chunk2

Chunk3

通常:

chunk size:

300~1000 tokens

overlap:

50~200 tokens

Step 4:Embedding向量化

这是RAG最核心的一步。

文本:

Robot支持TCP长连接

输入Embedding模型:

text

|

|

Embedding Model

|

0.12,0.54,-0.23,...

得到:

文本的数学表示

Step 5:存入向量数据库

保存:

Vector DB

id:

001

vector:

0.123,0.55,...

text:

Robot SDK使用TCP协议

metadata:

{

source:"tcp.md",

page:3

}

常见:

数据库 特点
Milvus 大规模向量
FAISS 本地快速
Chroma 轻量
Pinecone 云服务
Weaviate 企业

2、用户查询阶段(在线)

用户:

"RobotSDK如何发送控制指令?"

Step 1:Query理解

原始:

RobotSDK如何发送控制指令?

可能经过:

拼写修正

改写

意图识别

Step 2:Query Embedding

同样:

问题

Embedding模型

0.11,0.53,...

Step 3:向量检索

计算:

问题向量

数据库中的文档向量

Step 4:Rerank(重排序)

为什么需要?

向量搜索只是粗筛。

例如:

Top10:

1 TCP协议

2 MQTT介绍

3 ROS通信

4 HTTP协议

5 Robot API

...

但是:

真正相关:

TCP协议

Robot API

所以使用:

Reranker模型。

Step 5:Prompt增强

把检索结果塞入Prompt。

原始:

用户:

Robot怎么发送控制指令?

变成:

System:

你是机器人SDK专家。

参考资料:


Robot SDK command采用TCP JSON协议

格式:

{

command:"move"

payload:{}

}


User:

Robot怎么发送控制指令?

Step 6:LLM生成答案

LLM:

输入:

问题

相关知识

输出:

Robot SDK通过TCP连接发送JSON command消息。

客户端调用sendCommand接口,

生成command字段并发送到机器人。

相关推荐
刘一说2 小时前
AI科技热点日报 | 2026年07月24日
人工智能·科技
zzzll11112 小时前
Agent 开发的五种架构范式及选型思路
人工智能·架构·大模型·llm
hongyucai2 小时前
大模型常见问题整理
人工智能·深度学习
小柯南敲键盘2 小时前
跨马翻译:批量图片与视频字幕翻译,支持智能抠图
大数据·人工智能·python·音视频
aax12134532 小时前
VOCs集群治理工程落地|美丽蓝天绿岛项目工艺、控制方案、申报技术要点解析
大数据·人工智能
俊哥V2 小时前
每日 AI 研究简报 · 2026-07-24
人工智能·ai
墨舟的AI笔记2 小时前
浏览器内 LLM 推理:WebGPU 量化模型与推理管线搭建
人工智能
深念Y2 小时前
CC Switch 显示错误模型名的排查与解决
网关·开源·agent·项目·代理
大公产经晚间消息2 小时前
“胜算未来·2026戈峻思享会”即将登陆大连
大数据·人工智能·ai