
摘要:在大模型(LLM)和RAG(检索增强生成)爆发的今天,“嵌入模型”(Embedding Model)成为了连接人类语言与机器计算的桥梁。本文将根据学习路线图,带你从零开始认识嵌入模型,解析其核心概念、应用场景、主流模型选型,以及最关键的API接入与本地部署实战。
目录
一、认识嵌入模型
1. 什么是嵌入模型?
2. 嵌入模型应用场景
3. 主流的嵌入模型
4. 嵌入模型接入方式
1 API 接入(闭源)
2 本地部署(开源)
二、总结
一、认识嵌入模型
在自然语言处理(NLP)的世界里,计算机并不懂什么是“苹果”,什么是“香蕉”。为了让计算机理解语义,我们需要将文本转化为数字向量。这就是嵌入模型的核心使命。
1. 什么是嵌入模型?
大语言模型是生成式模型。它理解输入并生成新的文本(回答问题、写文章)。它内部实际上也使用嵌入技术来理解输入,但最终目标是 “创造”。
而嵌入模型(Embedding Model)是表示型模型。 是一种将高维的离散数据(如单词、句子、文档、甚至图像)映射到低维连续向量空间的技术。
- 通俗理解:想象一个巨大的多维坐标系。嵌入模型的作用就是把一段文字变成这个坐标系里的一个“点”(即向量)。
- 核心特性:语义相似,距离相近。
- “国王”和“王后”在这个空间里的距离会很近。
- “国王”和“土豆”的距离会很远。
- 数学表达:输入一段文本 TT ,模型输出一个固定长度的浮点数数组 V=[v1,v2,…,vn]V=[v1,v2,…,vn] 。

通过这种方式,计算机可以通过计算向量之间的余弦相似度(Cosine Similarity)来判断两段文本在语义上是否相似,从而实现“理解”语言。
它的目标不是生成文本,而是为输入的文本创建一个最佳的、富含语义的数值表示(向量)。
由于计算机天生擅长处理数字,但不理解文字、图片的含义。嵌入(Embedding)的核心思想就是将人类世界的符号(如单词、句子、产品、用户、图片)转换为计算机能够理解的数值形式(即向量,本质上是一个数字列表),并且要求这种转换能够保留原始符号的语义和关系。
2. 嵌入模型应用场景
嵌入模型是构建现代AI应用的基石,主要应用在以下场景:



3. 主流的嵌入模型
市面上的嵌入模型百花齐放,选择时通常需要考虑维度大小(影响存储和计算)、支持语言(中文/英文/多语言)以及最大Token长度。 国际主流(闭源/开源)
- OpenAI text-embedding-3-small/large:目前的行业标杆,性能极强,支持多语言,维度可选,但需付费调用。
- Cohere embed-v3:在检索任务上表现优异,企业级应用广泛。
- BGE (BAAI General Embedding):由北京智源研究院开源,bge-large-en-v1.5 或 bge-m3 在开源界霸榜许久,支持多语言和长文本。
国内主流(对中文优化更好)
- 阿里通义 text-embedding-v2/v3:阿里云百炼平台提供,对中文语义理解深刻,性价比高。
- 智谱 AI embedding-2/3:GLM系列配套模型,中文效果第一梯队。
- M3E / GTE:社区活跃的开源中文模型,适合本地轻量级部署。
其他参考:
- Huggingface 的 MTEB 评测:https://huggingface.co/spaces/mteb/leaderboard
- ModelScope:https://www.modelscope.cn/(界面和 Huggingface 设计的差不多)
Huggingface 的 MTEB(Massive Multilingual Text Embedding Benchmark)评测,是业界比较公认的标准。

4. 嵌入模型接入方式
知道了原理和模型,接下来就是怎么用。主要分为“省事但花钱”的API接入和“免费但费显卡”的本地部署。
1 API 接入(闭源)
适用场景:快速原型开发、不想维护GPU服务器、对数据隐私要求不极其严苛(或使用企业版私有化API)的场景。 优点:
实战示例(Python调用 OpenAI API):
from openai import OpenAI
# 初始化客户端
client = OpenAI(api_key="your-api-key-here")
def get_embedding(text):
response = client.embeddings.create(
input=text,
model="text-embedding-3-small"
)
# 返回向量列表
return response.data[0].embedding
# 测试
text = "今天天气真不错"
vector = get_embedding(text)
print(f"向量维度: {len(vector)}")
print(f"向量前5位: {vector[:5]}")
注:国内厂商如阿里百炼、智谱的API调用方式类似,只需更换base_url和model名称即可。
2 本地部署(开源)
适用场景:数据隐私要求极高(数据不出域)、需要离线运行、拥有自有GPU资源、长期运行成本敏感。 优点:
常用工具:
- Sentence-Transformers:Python库,加载HuggingFace模型最方便的方式。
- Ollama:一键运行大模型和嵌入模型的神器。
- Xinference / vLLM:高性能推理框架。
实战示例(使用 Sentence-Transformers 本地加载 BGE 模型):
首先安装库:
pip install sentence-transformers
from sentence_transformers import SentenceTransformer
# 加载本地模型或从HuggingFace下载
# 这里以 BAAI/bge-small-zh-v1.5 为例,适合中文且速度快
model = SentenceTransformer('BAAI/bge-small-zh-v1.5')
sentences = [
"为这个句子生成表示以用于检索相关文章",
"机器学习是人工智能的一个分支"
]
# 编码生成向量
embeddings = model.encode(sentences)
# 计算相似度
from sentence_transformers import util
similarity = util.cos_sim(embeddings[0], embeddings[1])
print(f"句子1向量形状: {embeddings[0].shape}")
print(f"两句相似度: {similarity.item()}")
二、总结
嵌入模型是AI应用落地的“隐形功臣”。
- 如果你追求极致效果和开发速度,首选 OpenAI 或 国内大厂 API。
- 如果你看重数据隐私和成本控制,且有一定的运维能力,本地部署 BGE 或 GTE 等开源模型是最佳选择。
希望这篇文章能帮你建立起对嵌入模型的完整认知!如果觉得有用,欢迎点赞、收藏、关注三连!
网硕互联帮助中心






评论前必须登录!
注册