Skip to content

参考

基于 OpenAI / BGE-M3 / Cohere / Voyage / Jina 官方文档 + MTEB 2026 编写。完整 API 见各官方文档。

主流嵌入模型参数表

模型类型默认维度最小维度上下文(token)多语言特色
OpenAI text-embedding-3-smallAPI15362568191生态默认,便宜
OpenAI text-embedding-3-largeAPI30722568191闭源 SOTA
OpenAI text-embedding-ada-002API15361536(固定)8191旧版
Cohere Embed v3 (English)API10241024512部分input_type
Cohere Embed v3 (Multilingual)API10241024512✓(100+)input_type
Cohere Embed v3 (384 变体)API384384512视版本压缩友好
Voyage voyage-3-largeAPI可变25632000多领域 SOTA
Voyage voyage-3API1024102432000通用
Voyage voyage-code-3API1024102432000英文代码检索
Jina Embeddings v3API/开源≤10242568192✓(89)570M 参数,Task LoRA
BGE-M3开源102410248192✓(100+)dense+sparse+multi-vector
bge-large-en-v1.5开源10241024512英文英文专项
bge-large-zh-v1.5开源10241024512中文中文专项
Nomic Embed开源7687688192部分开源+长上下文
E5-large-v2开源10241024512早期 SOTA

维度-存储-成本速查(float32)

维度单条100 万条1 亿条
3841.5 KB1.5 GB150 GB
7683 KB3 GB300 GB
10244 KB4 GB400 GB
15366 KB6 GB600 GB
307212 KB12 GB1.2 TB

量化省存储

实际入库常用 SQ8 / PQ 量化(见向量数据库叶),float32 → int8 省 4 倍。3072 维量化后约 3 GB/百万条。

OpenAI Embeddings API

基本调用

python
from openai import OpenAI
client = OpenAI()

resp = client.embeddings.create(
    model="text-embedding-3-small",
    input="要嵌入的文本",
    # 可选:dimensions=1024  (MRL 降维,仅 3 系列支持)
    # 可选:encoding_format="float" | "base64"
)
vec = resp.data[0].embedding  # list[float]

批量

python
resp = client.embeddings.create(
    model="text-embedding-3-small",
    input=["doc1", "doc2", ...],  # ≤ 2048 条
)
for d in resp.data:
    print(d.index, len(d.embedding))

计费

  • 按输入 token 计费
  • text-embedding-3-small:约 $0.02 / 1M token
  • text-embedding-3-large:约 $0.13 / 1M token

BGE-M3

三种输出

python
from FlagEmbedding import BGEM3FlagModel
model = BGEM3FlagModel('BAAI/bge-m3', use_fp16=True)

out = model.encode(
    ["文档1", "文档2"],
    return_dense=True,
    return_sparse=True,
    return_colbert_vecs=True,
    batch_size=32,
)
out['dense_vecs']        # (N, 1024) 语义向量
out['lexical_weights']   # sparse 词权重(类 BM25)
out['colbert_vecs']      # token 级向量(multi-vector)

关键参数

参数说明
use_fp16半精度推理,省显存
max_length最大 8192 token
batch_size依显存调,A100 可 64

Cohere Embed v3

python
import cohere
co = cohere.Client()

resp = co.embed(
    texts=["doc1", "doc2"],
    model="embed-english-v3.0",        # 或 embed-multilingual-v3.0
    input_type="search_document",      # search_query / search_document / classification / clustering
    embedding_types=["float"],        # 也可 "int8" / "uint8" / "binary" / "ubinary"
)
embs = resp.embeddings.float

embedding_types

类型大小用途
float全精度默认
int81/4量化省内存
binary1/32极致压缩,召回损失大

input_type 取值

用途
search_query查询时用
search_document入库时用
classification分类任务
clustering聚类任务
image多模态

Voyage AI

python
import voyageai
vo = voyageai.Client()

resp = vo.embed(
    texts=["doc1", "doc2"],
    model="voyage-3-large",
    input_type="document",   # document / query
    # output_dtype="int8" 等可选
)
embs = resp.embeddings

模型矩阵

模型维度上下文适用
voyage-3-large1024(可变)32000通用 SOTA
voyage-3102432000通用
voyage-3-lite51232000省内存
voyage-code-3102432000代码
voyage-finance-2102432000金融
voyage-law-2102432000法律

Jina Embeddings v3

python
# API
from openai import OpenAI
client = OpenAI(base_url="https://api.jina.ai/v1", api_key="jina_xxx")
resp = client.embeddings.create(
    model="jina-embeddings-v3",
    input="...",
    extra_body={"dimensions": 1024, "task": "text-matching"},
)

task(Task LoRA)

task用途
text-matching对称(STS、去重)
retrieval.passage非对称,入库
retrieval.query非对称,查询
separation聚类
classification分类

类似 Cohere 的 input_type,但更细。

MTEB 任务分类

任务评测内容典型数据集
Retrieval检索MS MARCO, NFCorpus
STS语义相似度STS12-22, SickR
Clustering聚类Reddit, StackExchange
Reranking重排AskUbuntu, StackOverflow
Classification分类Amazon, IMDb
Pair Classification句对SprintDuplicate, PawsX
Bitext Mining双语对齐Tatoeba, BUCC
Summarization摘要SummEval

MTEB 排行榜阅读指南

地址:huggingface.co/spaces/mteb/leaderboard

阅读步骤:

  1. 选任务:RAG 场景看 Retrieval
  2. 选语言:有英文 / 中文 / 多语言分榜
  3. 选模型类型:开源 / 闭源分榜
  4. 对比维度:同分比维度,低维性价比高
  5. MMTEB:多语言综合榜

排行榜局限

  • 数据集分布可能与你业务不符
  • 模型在 MTEB 上「过拟合」刷分
  • 总分高不代表 Retrieval 子项高

务必在自己数据上验证。

选型决策矩阵

场景首选备选
通用 RAG,闭源省心OpenAI 3-smallVoyage-3
极致召回OpenAI 3-largeVoyage-3-large
多语言 / 中文BGE-M3Cohere multilingual v3
混合检索(dense+sparse)BGE-M3-
本地部署 / 隐私BGE-M3Nomic Embed
长文档(> 8k)Voyage (32k)Jina v3 (8k)
代码检索Voyage-code-3Jina v3
成本敏感1024 维 + MRL 截断Cohere int8
对称任务(去重/STS)Jina v3 (text-matching)Sentence-BERT

资源链接