text-embedding模型有哪些

接入与开发

把主流文本嵌入模型按用途、语言、维度、计费口径做成一张可对照的选型清单,并给出验证与替换的落地步骤。

做 RAG 或语义搜索时,卡点往往不是「有没有模型」,而是「我该选哪个、怎么比较、换掉旧的要动多少东西」。这篇不堆名词,先把选型维度列成表,再给一条从试跑到上线的动作清单:怎么定基线、怎么小样本对比、切换时改哪几处配置,以及什么情况下这套思路不适用。

做 RAG 或者语义搜索的时候,真正卡人的从来不是「有没有模型可用」,而是站在一堆名字前面不知道挑哪个,以及哪天想换掉旧的,得动多少东西。这篇不打算给你背名词,先把选型的比较维度摊开,再给一条从试跑到上线的动作清单:怎么定基线、怎么用小样本对比、切换时改哪几处配置,以及什么情况下这套思路根本用不上。

全文不会出现任何具体数字,价格、跑分、版本号这类东西时效性太强,写死了反而误导你。需要看当时的实际情况,直接去站内对应页面核对,本文只负责把「该看什么、该怎么比」讲清楚。

选之前先固定几个比较维度

很多人选型的第一个错误,是拿一个大模型硬扛所有场景。语义检索、聚类去重、分类打标、推荐召回,对向量的要求其实不一样:检索看重的是「相关的排前面」,分类看重的是「同类聚得紧」,两者对维度和距离度量的偏好并不一致。先想清楚你要解决的是哪一类问题,再去挑模型,能省掉一半来回。

维度要确认什么不适用的情况
用途检索、聚类、分类、召回,哪一种为主一个模型同时想覆盖全部用途时,效果通常都平庸
语言中英混排、纯中文、要不要小语种纯中文语料没必要为多语言能力额外买单
输入长度单条最长能塞多少字,超了怎么截断只做短句去重的场景,长度上限不是重点
向量维度输出多少维、能不能自定义、向量库支不支持改向量库维度写死后,换模型代价会变大
计费口径按什么单位算、长文本怎么切分计入调用量极小的脚本场景,计费差异可以忽略

把维度当成一项成本来看会更有感觉:维度越高,向量库占的存储越大,检索时的计算也越重。如果你的向量库支持改维度、也支持降维,那选型时可以宽松一点;如果维度一旦建库就锁死,那选模型前务必先确认这一点,否则后面换模型会变成一次全库重建。

常被提到的几类文本嵌入模型

闭源商用接口
不公开权重,按调用量计费,接入方式基本是 HTTP 接口,适合不想自己运维、要稳的场景
开源权重
可以本地部署或托管跑,数据不必出内网,适合调用量大、数据敏感的团队,代价是要自己承担运维和扩容
多语言/跨语言模型
做中英混合语料、跨境业务时才真正需要,纯中文语料用它不一定划算
对话模型顺带的向量能力
接入方便,但通常不是为检索优化的,做小规模验证可以,正式检索一定要单独测过再定

这里刻意不列具体品牌和型号,第一是这类名单变动快,第二是每个团队真正可用的候选受私有化、合规、已有云厂商关系影响很大,别人能用的你未必能用。想知道当时市面上在售的都有哪些、各家口径怎么标,去站内的嵌入模型列表页对一遍再定候选,别凭记忆列清单。

  • 先从你的底线条件里筛出可用的一批,通常剩下 2 到 4 个就够了
  • 再看语言和输入长度是否卡你的真实语料,卡就直接排除
  • 最后才比维度和计费口径,前两步就出局的不用浪费精力
  • 拿不准的先记进候选表,别急着下结论,等下的小样本对照环节来分胜负

没有榜单也要能自己比:三步小样本对照

外部的评测榜单参考价值有限,因为它测的语料和你的业务语料往往不是一回事。更靠得住的办法是自己搭一个小评测集,规模不用大,但要真实。评测方法上的细节,站内有专门讲嵌入模型评测方法的文章,这里只给可直接执行的三步。

  1. 备一份自己的评测集从真实文档里切出几十条切片,再配二十条左右真实用户会问的问题,人工标出每个问题应该召回哪几条。这份标注就是后面唯一的裁判,标得认真比标得多重要。
  2. 同一批数据跑两到三个候选切片策略、问题、评测集全部保持一致,只换模型。只看一个指标:该被召回的内容有没有出现在前几条。同时把延迟和单次调用成本一起记下来,长文档还要额外观察一条长文本会被切成几片。
  3. 结果不稳就换一批问题重跑如果两个候选的差距很小,说明这点差异可能是评测集太小带来的噪声,换一批问题重跑。只看一次的结果别当成定论,尤其是只测了十几条的时候。

换模型时要动哪些地方:一份清单

换模型之所以比想象中麻烦,根子在向量空间不通用。不同模型对同一句话生成的向量,方向和尺度都对不上,新旧向量混在一个库里,检索结果会变得莫名其妙。所以核心原则只有一条:切换时整库重算,不要想着增量补。

  • 向量必须全量重算,旧索引和新索引不要混用
  • 配置里通常有三处要改:模型名、接口地址、向量维度,维度对不上是最常见的报错来源
  • 改完先跑一遍检索连通性验证,确认返回条数和字段正常,再考虑放真实流量
  • 保留旧索引一段时间做回滚,确认新结果稳定后再清理;调用日志里把模型名带上,方便事后复盘

这里有个容易被忽略的点:如果你的向量库维度是建库时固定的,那么换模型可能意味着新建一个集合而不是原地更新。动手前先去确认向量库这条限制,能避免做到一半才发现要迁移数据。

这些情况下别急着换模型

换个模型就能救召回,这个念头在实操里经常是错的。下面这几种情况,先解决别的问题比换模型更值。

现象先检查什么为什么不该先换模型
召回结果总是差一口气切片粒度和文档清洗是否到位原料没处理干净,换什么模型都白搭
问题里全是编号、型号、专有名词加一路关键词检索做混合这类字面匹配,向量本来就不占优
团队没评测集、换完也没人看结果先把最小评测流程搭起来没有裁判的替换,每次都是凭感觉
调用量很小、对延迟不敏感选接入最省事的那一个就行这个量级做性能调优,投入产出不成比例

反过来说,如果上面的问题你都排除了,评测集也显示新模型在老问题上稳定更好,那切换是合理的。唯一别做的是夹在中间反复横跳——每次换都重建一遍索引,团队会被折腾得没脾气。

下一步先把候选名单和当时的计费口径核对清楚,再跑你的小样本对照。站内嵌入模型资料库里有各家模型的用途、语言、维度等对照信息,可以直接拿来填你自己的选型表。

常见问题

主流文本嵌入模型到底有哪些,能给我一张表吗?

各家命名和迭代很快,写死的名单很快就过时。稳妥做法是到站内嵌入模型页看当前在架清单,再按语言、维度、输入长度、计费口径四个字段自己筛,同时用官方 API 价格页核对口径。

嵌入模型和向量模型是不是一回事?

多数语境下说的是同一件事:把文本变成一串数值向量,方便算相似度。区别在叫法场景,有人把整套「模型+索引+检索」叫向量模型。概念上的区分站内嵌入模型和向量模型的区别那篇讲得更细。

换嵌入模型必须重建整个向量库吗?

基本必须。不同模型的向量空间不一致,旧向量和新查询向量算出来的相似度没有意义。切换时把文档重新切片、重新向量化、整库覆盖写入,别做增量混写;重建前留一份旧索引以便回滚。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。