系统学习 AI 学习路径:从 GPU 运行时到推理、微调与 RAG 评估

text-embeddings-inference

TEI 嵌入服务:用 Hugging Face Text Embeddings Inference 部署向量化与重排接口

补充说明

Text Embeddings Inference(TEI)是 Hugging Face 用 Rust 实现的嵌入/重排推理服务,支持 GPU 和 CPU、动态批处理、分词和长文本截断。它把 embedding 模型包装成 HTTP 服务,提供 /embed、/rerank、/info 等端点,适合给 RAG、语义搜索和推荐系统做在线向量化。

TEI 不是完整的 RAG 应用,也不做文档切分、向量库写入和检索编排;这些由 LangChain、LlamaIndex、RAGFlow 或业务服务负责。部署时要关注模型架构支持、最大输入长度、批处理 token 上限和 GPU 显存。

常用示例

# Docker 启动 TEI(GPU)
docker run --gpus all -p 8080:80 \
  -v /models:/data \
  ghcr.io/huggingface/text-embeddings-inference:latest \
  --model-id BAAI/bge-m3 --max-batch-tokens 16384
# 生成 embedding
curl http://localhost:8080/embed \
  -H 'Content-Type: application/json' \
  -d '{"inputs":["如何排查磁盘满","Kubernetes Pod 一直重启"]}'

# 重排:给候选文档打分
curl http://localhost:8080/rerank \
  -H 'Content-Type: application/json' \
  -d '{"query":"磁盘满怎么排查","texts":["df -h 看分区","Pod 日志排查"]}'

# 查看模型信息与最大输入长度
curl http://localhost:8080/info

部分版本提供 OpenAI 兼容的 /v1/embeddings 端点,接入 OpenAI SDK 前先用 /info 和实际请求确认字段、维度和错误格式。

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. TEI 负责 RAG 链路中的哪一段?不负责什么?
  2. 长文档召回不完整,可能是什么原因?
  3. /embed 和 /rerank 的输入输出有什么不同?
答案
  1. 负责把文本转成向量、对候选做重排;不负责文档切分、向量存储、检索编排和业务逻辑。
  2. 可能被模型的最大输入长度截断;用 /info 查看 max_input_length,并在客户端切分或调小单条长度。
  3. /embed 输入文本数组,输出向量;/rerank 输入 query 和候选文本,输出相关性分数与排序。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令