首页/AI/大模型部署与运维速查/Embedding 模型服务化(TEI)
部署形态与选型43 条

Embedding 模型服务化(TEI)

文本向量化服务用 Hugging Face 的 TEI(Text Embeddings Inference)部署较省心:面向 embedding 优化,容器内监听 80 端口,适配主流向量检索链路。

向量化服务的特点

向量化模型的调用模式与生成模型不同:输入一段文本、输出一个定长向量,没有逐 token 生成的过程,因此单次延迟低、吞吐高。部署上通常用专门的推理服务框架,容器内监听固定端口,提供向量接口与兼容接口。它与检索链路直接挂钩,换模型意味着向量空间变化,索引必须重建。

容器部署示例

容器部署示例
# 启动向量化服务:指定模型、映射端口与数据卷
docker run -d --gpus all -p 8080:80 \
  -v /data/embed:/data \
  ghcr.io/huggingface/text-embeddings-inference:latest \
  --model-id BAAI/bge-large-zh-v1.5
# 验证接口
curl http://127.0.0.1:8080/embed -H 'Content-Type: application/json' \
  -d '{"inputs": "你好,世界"}'

基本信息

服务形态专门的向量化推理服务,容器内监听 80 端口
接口原生向量接口与兼容的向量端点,以版本为准
显存占用小于生成模型,但仍需按批量与序列长度估算
部署位置常与生成模型分卡或分实例,避免互相挤占
关键元数据向量维度与归一化方式必须记录

落地要点

要点说明疏漏的后果
维度与归一化记录模型输出维度与是否归一化相似度计算口径不一致,检索结果错乱
批量大小批量与序列长度共同决定显存批量过大导致溢出
换模型流程同步重建向量索引新旧向量混库,检索质量崩塌
服务分离与生成模型分卡或分实例互相挤占显存,两侧延迟同时上升
版本记录记录模型版本与索引版本无法回溯检索质量变化的原因

典型使用场景

  • 知识库构建:把文档切块后批量向量化入库
  • 在线检索:用户提问即时向量化后做相似度召回
  • 多语言场景:选择支持目标语言的向量模型
  • 检索质量优化:更换向量模型并重建索引后对比召回效果
  • 批量重建:模型升级后离线重跑全部语料,避免在线等待
向量服务请求量大且延迟敏感,常与生成模型分卡部署:混在一张卡上时,生成请求的长占用会拖慢检索环节。
不同模型的向量维度与归一化方式不同:切换模型必须同步重建索引并回归检索质量,否则表现的退化很难归因。

易错点

  • 换模型不重建索引:新旧向量空间混用,检索结果不可用
  • 忽略归一化方式:相似度计算口径不一致,排序结果明显失真
  • 与生成模型共用一张卡:显存互相挤占,两侧延迟同时上升
  • 批量设置过大:向量化服务同样会显存溢出,需要按长度分布压测
  • 不记录向量维度与版本:出问题时无法判断是模型、索引还是调用方的口径问题

数据来源与参考

  • Hugging Face TEI 文档(huggingface.co/docs/text-embeddings-inference)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌