RAG和向量数据库
2026-03-26
1801 字约 7 分钟
...简单来说,如果把大语言模型(LLM)比作一个博学的“大脑”,那么 RAG(检索增强生成) 就是让这个大脑学会“查资料”的方法,而 向量数据库 就是存放这些资料并能被快速检索的“智能图书馆”。
为了让你更直观地理解,我们可以把它们拆解来看:
🧠 什么是 RAG (检索增强生成)?
RAG 的全称是 Retrieval-Augmented Generation。你可以把它理解为给 AI 进行的一场“开卷考试”。
在没有 RAG 之前,AI 只能靠它训练时“背”下来的知识(训练数据)来回答问题。这有两个大问题:一是它不知道最新发生的事(比如昨天的新闻),二是它不知道你公司的内部机密(比如员工手册)。如果强行问它,它可能会一本正经地胡说八道(产生幻觉)。
RAG 的工作流程是这样的:
- 用户提问:比如你问“我们公司今年的年假政策是什么?”
- 去图书馆查书(检索):系统不会直接让 AI 瞎猜,而是先去你的“智能图书馆”(向量数据库)里,把关于“年假政策”的文档找出来。
- 带着资料答题(增强生成):系统把找到的资料和你原本的问题一起扔给 AI,并告诉它:“根据这些资料,回答用户的问题。”
- 输出答案:AI 基于你提供的资料,生成一个准确、有据可依的回答。
RAG vs. 微调(Fine-tuning): 很多人容易混淆这两个概念。
- 微调 像是给大脑“做手术”或“长期补课”,改变它的思维方式和知识储备,成本高且更新慢。
- RAG 像是给大脑“递小抄”或“发参考资料”,不改变模型本身,只是让它回答时参考外部信息,成本低且能实时更新。
📚 什么是向量数据库?
你可能会问,传统的数据库(如 MySQL)或者搜索引擎(如 Google)不行吗?为什么非要“向量”数据库?
这是因为传统数据库只能进行关键词匹配。如果你搜“怎么修车”,但文档里写的是“汽车维护指南”,传统数据库可能就找不到,因为它不认识这两个词意思相近。
向量数据库解决了“语义理解”的问题:
- 向量化(Embedding):向量数据库利用 AI 模型,把文字、图片、音频等数据转换成计算机能读懂的一串数字(向量)。这串数字代表了数据的“语义”。
- 比如,“苹果”和“水果”在向量空间里的距离会非常近。
- 相似度搜索:当你提问时,数据库不是找“一模一样”的词,而是找“意思最接近”的内容。哪怕你用的词和文档里完全不同,只要意思对,它就能通过计算向量之间的距离(比如余弦相似度)把相关内容找出来。
它的核心优势:
- 懂语义:能理解“猫”和“喵星人”是一回事。
- 速度快:即使有上亿条数据,也能在毫秒级找到最相似的那几条。
- 多模态:不仅能存文字,还能存图片、视频等。
🤝 它们是如何协同工作的?
RAG 和向量数据库是“黄金搭档”。没有向量数据库,RAG 就无法高效地找到相关资料;没有 RAG,向量数据库找到的资料也无法被大模型智能地转化为自然语言回答。
为了帮你理清它们的关系,我整理了一个简单的对比表:
| 特性 | RAG (检索增强生成) | 向量数据库 |
|---|---|---|
| 角色定位 | 工作流/架构模式 | 基础设施/存储工具 |
| 核心功能 | 协调检索和生成,决定“怎么问”和“怎么答” | 存储向量数据,负责“怎么存”和“怎么找” |
| 解决的问题 | 解决大模型知识滞后、幻觉问题 | 解决非结构化数据的语义检索问题 |
| 常见产品 | LangChain, LlamaIndex (框架) | Milvus, Pinecone, Weaviate, Chroma |
🚀 为什么它们现在这么火?
- 让 AI 落地企业:企业最担心数据安全和准确性。RAG + 向量数据库允许企业把私有数据(如合同、代码、病历)安全地存放在本地向量库中,让 AI 在不泄露数据的前提下,利用这些私有知识工作。
- 成本极低:相比于重新训练一个大模型(可能需要数百万美元),搭建一套 RAG 系统的成本非常低,甚至可以是开源免费的。
- 实时更新:今天发布的新闻,明天就能通过 RAG 被 AI 检索到,不需要重新训练模型。
总结一下:向量数据库是 AI 时代的“海马体”(负责记忆和检索),而 RAG 则是利用这个记忆系统来增强 AI 智商的“思维方法”。
如果您觉得这篇文章有帮助,请点个赞吧~
相关文章
更多文章 →AI2026-09-01
Deep Agents 01:何为 Agent Harness,以及如何开始
1、本篇任务:完成一份多步骤、带证据的技术调研 普通客服 Agent 的问题短、工具少、输出即时。技术调研或编码任务会持续很久,产生计划、搜索结果、文件和中间结论。Deep Agents 在 LangChain/LangGraph 之上预装规划、虚拟文件系统、上下文压缩和子 Agent,适合这类开放任务。 本课让 Agent 比较两种向量数据库,并交付一份可验证报告。 2、什么时候需要 Deep Agent 满足以下两项以上再考虑:任务...
学习
AI2026-09-01
Deep Agents 02:子 Agent、虚拟文件系统与长期记忆
1、本篇任务:让主管只看结论,让子 Agent 处理细节 技术调研会产生几十次搜索和大量文件。如果全部进入主管上下文,真正的目标会被噪音淹没。本课用两个子 Agent: 收集证据, 检查结论;主管负责计划与最终合成。 2、什么时候委派,什么时候直接调用工具 适合委派:子任务有多步;需要专门提示或工具;会产生大量中间结果;只需返回有限结论。不适合:一步查询;主管需要全部中间上下文;协调成本超过任务本身。 3、配置专门子 Agent Pyt...
学习
AI2026-09-01
Deep Agents 03:生产化、Sandbox、权限与上线验收
1、本篇任务:让 Deep Agent 在隔离环境中分析代码 只读研究 Agent 风险有限;编码 Agent 需要读写文件、安装依赖和执行测试。本课不讲如何让模型写更漂亮的代码,只讲执行环境、权限、恢复和上线验收。 2、先做威胁模型 资产包括源代码、用户文件、云凭证、生产网络和发布权限;攻击入口包括用户消息、仓库内容、网页、依赖包、MCP 返回和命令输出。 Prompt injection 不是靠一句 system prompt 解决...
学习
AI2026-09-01
LangChain 01:全景、原理与学习路线
1、本篇学完要得到什么 这一篇只解决三个问题:LangChain 到底负责什么;它与 LangGraph、Deep Agents、LangSmith 是什么关系;后面应按什么顺序学习。 贯穿整套课程的项目是“退款政策与订单助手”。它最终能够:回答知识库中的退款规则;查询当前用户的订单;生成结构化答复;对真正的退款操作进行人工审批;断线后恢复;通过评测后发布。 先记住一句话: 模型负责理解与生成,应用负责数据、权限、状态和副作用。 如果把...
学习
AI2026-09-01
LangChain 02:模型、消息与结构化输出
1、本篇任务:让模型输出成为程序可以依赖的合同 上一课只证明 Agent 能运行。本课暂时不接业务工具,只完成一个“客服分诊器”:输入用户问题,输出意图、紧急程度、是否需要人工和给用户的答复。 本课的核心不是学更多模型参数,而是理解三层合同:消息决定模型看到了什么;schema 决定程序期待什么;业务校验决定结果是否真的可用。 2、消息不是一段字符串,而是一条执行记录 一次工具型对话通常包含四种消息: | 类型 | 由谁产生 | 作用...
学习
AI2026-09-01
LangChain 03:工具与 Agent——从函数到可控行动
1、本篇任务:让 Agent 安全地读取订单 上一课得到结构化分诊结果,但模型不知道真实订单。本课增加一个只读工具 ,走通完整 Agent 循环,并把模型、工具包装和领域服务的责任分开。 完成后,用户问“我的 A100 发货了吗”,Agent 会选择工具;工具只按当前登录用户查询;模型基于工具结果回答。它仍然不能退款,因为我们没有提供写工具。 2、工具的本质是受 schema 约束的应用函数 一个好工具需要:稳定名称、清楚描述、窄输入...
学习
评论
请登录后发表评论
去登录