当前位置: 首页 > news >正文

Embedding 和向量库:RAG 的地基,一次讲透

AI 技能说明书 · 第4篇

工具怎么选|用人话讲透|建议收藏

做 RAG、语义搜索、推荐,都绕不开Embedding(嵌入向量)向量数据库。很多人卡在:模型选 1536 还是 1024 维?Milvus 和 Pinecone 差在哪?为什么搜出来不相关?这篇专讲地基层,不重复 RAG 业务故事(见第 2 篇)。

一、一句话搞懂

Embedding 把文本变成「语义坐标」;向量库负责存坐标、按相似度快搜。

「苹果」和「iPhone」在向量空间里距离近,「苹果」和「香蕉」也近但簇不同——模型用海量语料学过这种关系。检索时,问题向量文档块向量做余弦相似度,取最近的 K 个,就是「语义搜文」。

二、深度拆解:到底差在哪?

### 1. Embedding 模型怎么选

OpenAI text-embedding-3-small

1536(可降) | 均衡,按 token 计费

text-embedding-3-large

3072 | 更准,贵

BGE / M3E 等开源

768–1024 | 可私有化,中英常见

原则:PoC 用 small;中文为主测国产/多语同一库内禁止混用不同模型(维度/空间不一致)。

### 2. 向量库在干什么

存储:百万~十亿级向量 + 可选 metadata(部门、日期、doc_id)

索引:HNSW、IVF 等,在recall 与 latency间 trade-off

过滤:`where department='sales'` 再 ANN,企业必备

### 3. Milvus vs Pinecone(典型选型)

部署

自建/K8s/Zilliz Cloud | 全托管 SaaS

数据主权

可完全内网 | 在 Pinecone 云

运维

要懂集群 | 几乎零运维

成本

机器成本 | 按向量数+查询量

适合

金融/政务/大数据量 | 创业团队快速验证

### 4. 搜不准的 4 个技术原因

1.Chunk 质量差(占一半)

2.只用向量不用关键词→ 专有名词用Hybrid(BM25 + dense)

3.Embedding 与查询语言不一致(英问中 doc)

4.未 normalize / 距离度量选错(一般 cosine)

三、适合谁 / 不适合谁

适合:要做语义搜索/RAG 的开发、架构师;评估内网部署 vs SaaS的技术负责人;想搞懂面试题「HNSW 是什么」的人。

不适合:完全零代码且不愿学概念——可直接 Dify 黑盒;文档量 <100 页且只 10 个问题——暴力 fine chunk + 关键词可能更省事。

典型决策:

1.PoC <100 万向量→ Pinecone Serverless 或 Zilliz Cloud 免费档

2.生产内网→ Milvus + MinIO(存原始文件)+ 自研 ingest

3.已有 Elasticsearch→ 8.x _dense_vector + hybrid,少引入新组件

4.预算紧→ pgvector(Postgres 插件),量小够用

四、核心对比(收藏这张)

成本粗算(示例):100 万 chunk × 500 token × embed 单价 + 向量库存储 + 每日 1 万 query

→ PoC often几百 USD/月量级,要先算清楚再立项

Embedding API

文本→向量 | 不做权限

向量库

存+搜 | 不做复杂 NLP

LLM

读片段写答案 | 不做全库扫描

五、和别的概念 / 工具怎么分?

Embedding vs 关键词搜索:「离职流程」和「辞职手续」向量近;SKU 编号 keyword 更准 →混合

向量库 vs 传统 DB:MySQL B-tree 不做高维 ANN

LangChain 在这里的角色:统一 `embed_query` / `similarity_search`,不是替代品

六、真实工作流(可以直接抄)

本地最小闭环(Python 伪流程)

1. 文档 list → chunk → 调 OpenAI Embedding → 得到 `[(id, vector, meta)]`

2. 写入 Pinecone index(`upsert`),metadata 带 `source_page`

3. 用户 query → embed → `query(top_k=5, include_metadata=True)`

4. 拼接 top chunks → ChatGPT:`仅根据 context 回答,附 [source_page]`

5. 用 10 条标注问题算MRR@5

上线前检查清单

[ ] 同一 embedding 模型

[ ] metadata 过滤测过

[ ] 空结果 / 低分阈值拒答

[ ] 增量更新脚本(新 doc 只 upsert 新 id)

七、常见误区与踩坑

维度越高越好:高维 + 小数据可能过拟合噪声,且占存储

向量库=备份:还要存原文与版本,向量可重建

一次 embed 永久有效:换模型要全量 re-embed

Pinecone 一定比 Milvus 简单:大规模、多租户仍要架构设计

⚠️PII:embed 前脱敏,metadata 别存身份证

八、小编说

Embedding 和向量库不性感,但决定 RAG 上限。先 small 模型 + 10 万向量 PoC,用 MRR 说话,再谈 Milvus 集群。你们更倾向 SaaS 还是内网自建?

http://www.jsqmd.com/news/1228830/

相关文章:

  • 计算机毕业设计之django基于 Python 的仓库管理系统设计与实现
  • 大模型服务化与平台化:AI中台的架构设计与落地思考
  • Nextcloud全文搜索技术实现:构建高效文件检索系统的完整指南
  • 2026通辽家装装修公司推荐排行 本土口碑标杆榜 - 极欧测评
  • 金仓发布制造场景数据库演进白皮书:SQL Server替代进入“深水区”
  • Miles vs Slime:两大强化学习框架核心功能对比与选型建议
  • C++实现一元多项式运算:链表设计与运算符重载实践
  • Bonsai-8B-GGUF:如何实现1位量化模型在边缘设备的高效部署实践
  • XBIT Wallet:DEX钱包如何实现ETF链上资产管理
  • KTransformers:CPU-GPU 异构计算驱动的大模型推理与微调框架深度解析
  • .NET CORE 动态扩展Options-配置运行时热更新
  • Flipper Zero终极指南:从入门到精通的全方位资源宝典
  • 【粉丝福利社】可视艺术用可视化路径赋能数据分析
  • AI自然语言查询总出错?这8类语义解析陷阱90%团队从未察觉,附Prompt工程校准清单
  • M12 X-Code 8芯 PoE 相机/远程IO 针脚定义完整详解
  • Spring Boot3中分布式事务与本地事务的冲突与解决方案
  • AI音乐商用版权合规实战手册(含BBC/Spotify/网易云最新授权模板)
  • 深入解析EDMA3事件与中断寄存器:嵌入式DMA高效数据搬移的核心机制
  • 如何在code-server中搭建3种AI编程助手?从Copilot到本地模型全攻略
  • 华硕笔记本性能优化终极指南:如何用G-Helper实现一键智能控制
  • 如何在《鸣潮》中自定义游戏体验?AES密钥与模组制作完全解析
  • C++高并发内存池实现:三层架构设计与性能优化实战
  • Fun-ASR社区生态与未来发展:路线图、贡献指南与社区支持资源
  • 一週間でなれる!スパコンプログラマ:7日間でMPIと並列計算をマスターする完全ガイド
  • MNE-Python中的信号空间分离(SSS)与Maxwell滤波技术详解
  • Vio lit:高性能Python Web框架的差分更新技术解析
  • 奢源国际水光模式商城软件开发
  • MOSS-TTS-v1.5终极指南:31种语言语音合成的完整实战教程
  • 2026中国呼吸康复学术年会:技术与临床转化新进展
  • 3分钟掌握鸣潮模组:从基础使用到高级自定义的完整攻略