news 2026/7/20 15:18:35

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 还是内网自建?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/20 15:17:57

【JAVA毕设源码分享】基于springboot高等数学课程教辅资源系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/7/20 15:16:34

Linux大内存页(HugePage)配置与Oracle性能优化实践

1. 大内存页(HugePage)的技术背景与价值在传统Linux内存管理中&#xff0c;默认采用4KB大小的内存页(Page)作为基本管理单元。这种设计源于早期计算机内存容量较小的时代&#xff0c;但随着现代服务器内存容量普遍达到数十GB甚至TB级别&#xff0c;4KB页面的管理方式开始暴露出…

作者头像 李华
网站建设 2026/7/20 15:16:34

Claude Code:AI编程助手的革命性进化与实战解析

1. Claude Code&#xff1a;AI编程助手的革命性进化第一次看到Claude Code在终端里自动修复bug时&#xff0c;我盯着屏幕足足愣了三分钟。这个来自Anthropic的AI编程助手正在我的代码库里穿梭自如&#xff1a;它先是定位到支付模块的双重扣费问题&#xff0c;接着修改了三个相关…

作者头像 李华
网站建设 2026/7/20 15:15:07

基础设施的“去 Python 化“:Rust 与 C# 的两条替代路径

一个数字引发的思考&#xff1a;0.05ms 上周&#xff0c;LiteLLM 发布了一篇技术博客&#xff0c;宣布正在用 Rust 重写核心网关。 数字很震撼&#xff1a; 指标 Python 版 Rust 版 差距 每请求延迟 ~7.5ms ~0.05ms 150 倍 吞吐量&#xff08;50 并发&#xff09; 453 req/s 6,…

作者头像 李华
网站建设 2026/7/20 15:14:19

机器学习模型上线就绪:从技术达标到系统可信的四维验证

1. 项目概述&#xff1a;这不是一个技术验收节点&#xff0c;而是一场跨职能的共识校准“When is a Machine Learning Model ready for Product”——这个标题乍看像一句技术提问&#xff0c;实则是一道横跨工程、产品、数据科学、法务与业务运营的复合型考题。我在过去十年带过…

作者头像 李华
网站建设 2026/7/20 15:11:37

DisplayCAL色彩管理工具:从入门到精通的完整指南

DisplayCAL色彩管理工具&#xff1a;从入门到精通的完整指南 【免费下载链接】displaycal-py3 DisplayCAL Modernization Project 项目地址: https://gitcode.com/gh_mirrors/di/displaycal-py3 你是否曾因显示器色彩不准确而苦恼&#xff1f;照片在不同设备上呈现完全不…

作者头像 李华