Embedding模型对比:OpenAI、Cohere、开源哪个好

🔧 AI工具 💬 🔥 Trending 发布者: leakey
Embedding模型对比:OpenAI、Cohere、开源哪个好

🩺 摘要

做RAG需要选Embedding模型,但OpenAI的贵、Cohere的有限额、开源的不知道效果。怎么选?

📝 详情

什么是Embedding模型

Embedding模型把文本变成向量(一串数字),RAG用它搜索相似文档。选对Embedding模型直接影响RAG效果。

代码实测:不同Embedding的效果差距

from sentence_transformers import SentenceTransformer
import numpy as np

query = "怎么办理退货"
docs = ["退货政策是30天内免费退货", "新品上架:iPhone15已到货", "满200元包邮"]

model = SentenceTransformer("BAAI/bge-large-zh-v1.5")
query_vec = model.encode(query)
doc_vecs = model.encode(docs)

scores = np.dot(doc_vecs, query_vec) / (
    np.linalg.norm(doc_vecs, axis=1) * np.linalg.norm(query_vec)
)
for doc, score in zip(docs, scores):
    print(f"{score:.3f} -> {doc}")
# 0.892 -> 退货政策...(正确命中)
# 0.451 -> 新品上架(无关,分数低)
# 0.523 -> 运费政策(部分相关)

主流方案对比

模型 维度 价格 中文MTEB
text-embedding-3-small 1536 $0.02/百万Token 62.1
text-embedding-3-large 3072 $0.13/百万Token 64.5
BAAI/bge-large-zh-v1.5 1024 免费开源 65.8
shibing624/text2vec 768 免费开源 63.2
Cohere embed-multilingual-v3 1024 $0.10/百万Token 63.9

推荐

中文场景:BAAI/bge-large-zh-v1.5(开源免费、中文MTEB最高) 英文场景:OpenAI text-embedding-3-small(性价比最高) 多语言:Cohere embed-multilingual-v3(覆盖最广)

注意:embedding维度高不等于效果好,关键看对应语言的评测分数。