📚《向量检索与AI RAG/Agent落地实战》系列文章总目录
1. 第01篇:为什么AI Agent / RAG系统需要向量
2. 第02篇:向量维度详解,Embedding模型选型与量化原理
-
第04篇:主流向量数据库选型决策(Milvus/Qdrant/pgvector/金仓/openGauss)
-
第05篇:PDF/Word/Excel文档解析、图片OCR、Chunk分片工程实战
-
第06篇:RAG混合召回策略:向量检索+ES关键词+Rerank重排
-
第07篇:RAG全链路风险、常见问题与生产避坑清单
-
第08篇:RAG+Agent部署架构、资源评估与私有化方案
-
第09篇:RAG项目落地全流程规划(POC-试点-上线-迭代)
-
第10篇:RAG量化评测体系(召回率、准确率、BadCase优化)
-
第11篇:智能Agent与RAG联动编排、记忆、工具路由原理
-
第12篇:RAG权限控制、日志、可观测性完整设计
一句话核心:大模型只能理解文字 Token,无法直接做 "语义相似度检索";向量就是把文本语义变成数字数组,用来做语义搜索,而不是关键词匹配。
1. 传统关键词检索的痛点
关键词检索(ES、MySQL LIKE)的匹配逻辑是文字字符串比对,只能识别相同或者近似的词汇,无法理解句子背后的业务含义。在行业知识库场景(如智慧口岸),业务人员经常用不同表述描述同一件事,极易出现召回失效。
知识库原文:口岸通关时效优化,缩短货物查验等待时长 用户提问:怎么减少货物过检排队时间?
关键词检索只会比对词语:原文是 "查验等待时长",用户提问是 "过检排队时间",词汇字面不重合,检索命中失败,相关文档无法召回。
同时大模型本身存在两个硬性限制:
- 上下文窗口存在上限,无法把海量业务知识库全部一次性塞进提示词;
- 模型的基础训练数据不包含企业私有文档(口岸规章、内部通知、业务单据等),原生无法知晓内部业务资料。
👉 关键词匹配只认字面,不认含义;纯大模型无法直接检索私有知识库。
补充业务痛点:口岸场景存在大量行业同义词、简称、转述表达,例如 "布控查验 / 命中查验""货物放行 / 通关放货",如果只用关键词检索,需要持续维护庞大同义词词典,词典更新工作量大,依然很难覆盖全部业务口语化提问。
2. 向量是什么
向量嵌入(Embedding)模型,把一段文本(句子 / 段落 / 条款)转换成一串固定长度浮点数数组,示例:[0.12, -0.35, 0.71, 0.43, ...]。 转换后的向量存在于高维数学空间,遵循基础规律:
- 语义相近的文本,对应的向量在高维空间距离更近
- 语义无关的文本,对应的向量在高维空间距离更远
沿用上面口岸案例:
原文:口岸通关时效优化,缩短货物查验等待时长 用户提问:怎么减少货物过检排队时间?
两段文字用词不一样,但业务语义完全一致,生成向量距离很近,向量检索就可以识别出二者相关,完成召回。
✅ 向量检索 = 按含义搜索,不是按文字搜索
补充说明:Embedding 不是简单的关键词统计,是模型学习海量语言之后提炼出来的语义表征;哪怕句子句式颠倒、使用行业别称,只要表达含义一致,向量就会靠近。
3. 在 RAG / Agent 架构里向量的核心作用
① 私有知识库召回(最核心用途)
完整链路: 业务文档(PDF、Word、Excel、口岸监管规范、内部业务资料)→ 文本清洗 → 切分 Chunk 文本片段 每个 Chunk 调用 Embedding 模型生成向量,连同原文、元数据存入向量数据库 用户输入提问 → 将用户问题文本调用 Embedding 生成查询向量 向量库执行高维相似度计算,返回 Top-N 语义最相关文档片段 将召回片段 + 用户问题一同封装进 Prompt,发给大模型,让模型依托真实业务资料来回答问题
解决三大核心难题:
- 缓解大模型幻觉:强制模型基于召回的真实文档作答,减少编造不存在的政策、条款;
- 读取企业私有资料:大模型基础训练数据不含口岸内部文档,向量检索实现私有知识库读取;
- 降低上下文与 Token 成本:不用传入全部知识库,仅检索少量相关片段,节省 token 开销,规避上下文溢出。
② Agent 场景额外扩展能力
向量不只是用于文档问答,是智能体实现感知、记忆、路由的基础能力:
- 用户历史记忆检索:历史对话转为向量,检索相似历史对话片段,让 Agent 拥有长期记忆,跨会话理解用户诉求;
- 工具 / 技能路由匹配:将 Agent 各个工具、技能的功能描述文本向量化;用户提问向量和工具描述向量做相似度匹配,自动选择需要调用的工具(技能路由);
- 文档去重:通过向量距离判断两份文档、两个段落内容是否重复,自动过滤知识库重复资料;
- 意图聚类:批量用户提问向量化后做聚类,自动归纳高频咨询场景,用于业务运营、知识库迭代优化;
- 多模态扩展:图片、单据照片、音视频内容,可通过多模态 Embedding 转为向量,实现图文混合检索,适配口岸报关单、单据图片场景。
4. 向量库(Vector DB)的作用,区分【Embedding 模型】和【向量数据库】
很多项目实施中容易混淆两个组件,职责完全独立:
- Embedding 模型 :负责生成向量,输入文本 / 图片,输出语义向量数组;
- 向量数据库 :负责高速相似度检索向量,存储向量,并且快速计算向量之间距离。
普通 MySQL、PostgreSQL 也可以存储向量数组,但当向量规模达到几十万、上百万级别,暴力遍历全库逐个计算向量距离,查询速度极慢,完全无法满足业务实时问答。
向量数据库内置专门索引算法(典型 HNSW 索引),可以微小损失召回精度为代价,极大提升高维向量相似度查询速度,同时原生配套企业级能力:
- 向量 + 业务字段混合过滤(元数据筛选:文档来源、发布时间、业务类型、权限标签)
- 向量增量写入、单条 / 批量更新、删除能力(文档修订后可清理旧向量)
- 分布式分片扩容,支撑千万乃至亿级向量规模
- 向量量化能力,降低内存占用,提升检索吞吐
补充:普通关系库适合小批量向量验证 POC,生产级企业知识库,推荐专用向量数据库。
5. 什么时候可以不用向量?
必须同时满足全部以下条件,才可以不引入向量与 RAG:
- 知识库体量很小,全部内容可以一次性完整塞进大模型上下文窗口;
- 仅做简单对话场景,不需要读取私有业务资料检索;
- 业务不需要语义理解,关键词检索完全可以满足问答需求。
现实落地:企业级 AI Agent、行业垂直知识库,尤其是智慧口岸这类存在大量专有术语、文档持续迭代、用户提问口语化转述的场景,基本都会引入向量检索。
6. 简要对比:关键词检索 vs 向量检索
| 维度 | 关键词检索 (ES) | 向量检索 |
|---|---|---|
| 匹配逻辑 | 字面词汇匹配 | 语义含义匹配 |
| 同义词 / 转述问句 | 能力弱,极易漏召回 | 能力强,自动识别同义、转述表达 |
| 长文本、行业专业术语 | 依赖人工维护词典,维护成本高 | 天然支持语义理解,适配行业术语 |
| 缺点 | 同义词、别名持续维护成本高;口语化提问召回差 | 存在 Embedding 计算开销;存在语义漂移风险 |
| 推荐搭配 | 和向量检索组合使用(混合检索最优) | RAG 核心基础组件 |
补充选型建议:生产环境不要二选一,推荐混合检索。关键词检索负责精准命中编号、文号、专有名词;向量检索负责语义召回,两路结果融合,兼顾精确匹配与语义理解,是口岸这类政务业务的最优方案。
7.常见误区
1、❌ 向量可以替代关键词检索
向量擅长语义,但是对于公告文号、单证编号、专有编码这类精确字符串,关键词检索命中更稳定,二者互补而非替代。
2、❌ 向量检索出来的内容一定是正确的
向量只判断语义相似,不判断内容事实是否正确,存在语义漂移(语义看起来相近,但事实无关),所以生产环境一般增加 Rerank 重排模型做二次过滤。
3、❌ 向量 = 大模型,向量检索会自己生成答案
向量检索只负责召回文档片段,不具备文本生成能力,最终回答依旧依靠大模型。
8.业务场景价值总结
在业务场景,企业知识库包含大量通关法规、查验规范、申报指引、内部业务通知,业务人员提问方式多样,存在大量口语化转述。向量检索解决 "问法不一样,检索不到资料" 的痛点,让 Agent 可以基于真实口岸业务文档做问答、工具路由、历史记忆,是行业 RAG 智能体不可或缺的底层能力。