2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家
为什么切换嵌入模型会产生如此巨大的差异?
在前四篇文章中,我们构建了检索增强生成(RAG)流水线,调整了参数,并掌握了分块策略。但有一个问题我们尚未深入探讨:
文档被分块后,它们是如何转化为向量的?
这个过程被称为嵌入(Embedding)。它将人类可读的文本转换为机器可计算的向量。嵌入模型的选择直接决定了:
- “苹果”和“iPhone”是否被识别为相关
- “数据库连接池耗尽”和“连接数过多”是否匹配
- 中文成语、技术术语和缩写是否被正确理解
本文解释了嵌入的工作原理,比较了主流模型,并使用真实的中文文档对开放人工智能公司(OpenAI)和北京智源人工智能研究院(BAAI)的 BGE 模型进行了直接的检索对比。
什么是嵌入?
一句话解释
嵌入是一个函数,它接收一段文本并输出一个固定长度的数值向量(例如 1024 维)。语义相似的文本会在空间中产生彼此接近的向量。
为什么向量能代表含义?
想象将所有词语放置在一个多维空间中:
- “国王”和“女王”彼此靠近
- “苹果(水果)”和“香蕉”彼此靠近
- “苹果(公司)”和“谷歌”彼此靠近
- “苹果(水果)”和“苹果(公司)”相距甚远
嵌入模型通过在海量文本语料库上进行预训练,学习这些“语义距离”。当你询问“如何重启我的 iPhone?”时,模型知道“iPhone”与“苹果(公司)”相关,而不是“苹果(水果)”。
它在检索增强生成(RAG)中的作用
用户查询 → 嵌入模型 → 查询向量
↘
向量相似度 → 前 K 个检索结果
↗
文档分块 → 嵌入模型 → 文档向量(预先计算)
嵌入是检索增强生成(RAG)的语义桥梁。没有它,检索仅限于关键词匹配(类似于 Ctrl+F)。有了它,你就能获得能够理解同义词、改写和上下文的语义匹配。
主流嵌入模型对比
模型概览
| 模型 | 厂商 | 维度 | 语言优势 | 部署方式 | 特点 |
|---|---|---|---|---|---|
| text-embedding-3-small | 开放人工智能公司(OpenAI) | 1536 | 多语言 | 应用程序接口(API) | 便宜、快速,适合通用场景 |
| text-embedding-3-large | 开放人工智能公司(OpenAI) | 3072 | 多语言 | 应用程序接口(API) | 高精度、昂贵,适合复杂语义 |
| BAAI/bge-large-zh-v1.5 | 北京智源人工智能研究院(BAAI) | 1024 | 中文 | 应用程序接口(API)/本地 | 中文性能顶尖,开源,免费 |
| BAAI/bge-m3 | 北京智源人工智能研究院(BAAI) | 1024 | 多语言 | 应用程序接口(API)/本地 | 支持 100 多种语言,轻量级 |
| embed-multilingual-v3.0 | Cohere | 1024 | 多语言 | 应用程序接口(API) | 适合长文本 |
| E5-mistral-7b-instruct | 微软 | 4096 | 多语言 | 本地 | 基于指令,强大但资源消耗大 |
关键指标:MTEB 排行榜
MTEB(大规模文本嵌入
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。