什么是RAG?

大模型看不见哪些数据?
1.知识截至日期之前的的数据

2. 私有数据

3. 实时数据

因为大模型的数据是静态的,封闭的,但是业务是动态的,私有的

当然,我们可以把数据放入prompt里面

但是context window是有限的,全部放进去费token,还会稀释注意力

所以提出了RAG

RAG的核心思路是:先检索,再回答

就是不把所有的数据都塞进prompt,而是在每次回答之前,先检索最相关的几段,只把这几段放入prompt

RAG名字的含义:
Retrieval(检索):从知识库找出和当前问题最相关的内容

Augmented(增强):加入prompt

Generation(生成):大模型基于增强后的上下文生成回答


RAG的两大阶段:

1. 离线阶段

把私有数据处理成大模型能快速检索的格式,存进向量数据库

  1. 加载文档
  2. 文本切块(Chunking):按章节,小节标注
  3. 向量化(Embedding):每个chunk通过一个Embedding模型转换成向量(Vector)
  4. 存入向量数据库:优化了海量数据找最邻近的操作,能快速找到最相似的几条

2. 在线阶段

  1. 问题向量化:使用同一个Embedding模型,将用户问题转换成向量
  2. 语义搜索:用问题向量去向量库找最相似的几条
  3. 构造增强prompt:检索到的chunk放入prompt
  4. 大模型生成回答

传统的关键词搜索是逐字匹配,只能找到完全一样的,而向量库是语义搜索,可以找到意思差不多的,准确率高得多


RAG在Agent里面处于什么位置?

RAG本质上就是一个特殊的工具

当大模型认为这个问题需要访问私有数据时,就会通过Function Call下达指令调用知识库检索工具

agent执行这个工具调用,就是触发了RAG的在线流程

将结果回传给大模型


什么是向量数据库

向量数据库是为了在海量数据中,毫秒级找到最相似的topk条

秘诀是**ANN(Approximate Nearest Neighbor,近似最近邻)**搜索

不保证找到绝对最相似的,而是差不多最相似的

使用HNSW(Hierarchical Navigable Small World,分层可导航小世界图)

把向量组织成一个多层的结构

高层(稀疏层):只有少量节点,负责大范围快速跳转

低层(稠密层):精细定位最终的近邻候选


主流向量数据库

数据库 核心定位 适合场景 关键优势 主要缺点
Chroma 本地轻量级向量库 本地开发、功能验证、快速原型 Python 原生 API,零配置、几行代码启动 不适合生产,无高可用、分布式特性
Pinecone 全托管云向量库 创业公司 / 小团队快速上生产 无需运维,API 直接调用 数据在第三方,合规有顾虑;按量收费,规模大成本高
Milvus 开源生产级向量库 私有化部署、数据不出内网、大规模场景 功能最全,支持分布式 / 持久化,国产维护活跃 部署运维复杂度高,学习曲线较陡
Weaviate 开源多模态向量库 多模态搜索、简化 Embedding 流程 内置 Embedding 集成,支持文本 / 图片 / 音频 -
Qdrant 高性能轻量向量库 资源受限 / 高并发生产环境 Rust 实现,内存占用低、查询速度快 -
相关推荐
飞哥数智坊2 小时前
Personal Agent 火了,新酿还是旧酒?
人工智能·agent
漂着的圆木2 小时前
本地沙箱:Agent策略执行能力与OS边界核对表
agent·沙箱·github copilot·mcp·安全边界
JaydenAI5 小时前
[DeepSeek Harness深度拆解-20]DSH提供的基于文件的配置系统
ai·agent·plugin·deepseek·harness·cordis
Bug收容所7 小时前
AI-Agent-是怎么工作的
agent·functioncalling·mcp
Erishen7 小时前
用 Lume 写一个完整 CRM:Web 与 Agent 共用同一套业务逻辑
开源·agent
看浪的路人7 小时前
第6讲:日志结构化与存储
agent
熊猫钓鱼>_>10 小时前
MetaAI深度研究研究报告
ai·meta·大模型·llm·agent·web·metaai
zhanghaha131411 小时前
AI Agent_6 AI 底层架构
ai·agent
枫叶丹411 小时前
AI 进入日常工作后,任务应该怎样重新拆分
人工智能·chatgpt·开源·agent·codex
deepseek2312 小时前
OpenAI Dots 常驻智能体拆解:聊天免费、主动研究只读、委派才计费,动作分级才是本体
人工智能·openai·agent