text-embeddings-inference

用 Rust 极速跑嵌入模型,高吞吐低延迟,一键部署生产级 API

text-embeddings-inference 是一个用 Rust 编写的高性能文本嵌入模型推理服务,专为大规模生产环境设计。它解决了传统嵌入模型推理速度慢、资源占用高、部署复杂的问题,提供与 Hugging Face 生态无缝集成的 REST API 和 gRPC 接口。核心能力包括:支持多种主流嵌入模型(如 BERT、RoBERTa、Sentence Transformers 等),利用 Rust 的异步并发和内存安全特性实现极低延迟和高吞吐;内置动态批处理、模型分片(sharding)和量化(如 INT8、FP16)优化,显著降低显存和计算成本;提供 Prometheus 监控指标和健康检查,便于运维;支持从 Hugging Face Hub 一键加载模型,并兼容 OpenAI 兼容的 API 格式,方便迁移。该项目适合需要大规模向量化文本的搜索、推荐、语义理解等场景,是生产级嵌入服务的轻量级替代方案。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 5057
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队huggingface
所属国家
官网地址
定价模式free
价格说明开源项目,Apache-2.0许可证,可自行部署,完全免费。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Rust
技术栈/模型ai,embeddings,huggingface,llm,ml
GitHub 星标★ 5057
30天Star增速
HF 下载量
上线时间2023-10-13 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:入门 约 15 分钟 部署方式:Docker 4 步

环境要求

  • 已安装 Docker,且能拉取 ghcr.io 镜像
  • NVIDIA 显卡驱动需兼容 CUDA 12.2 或更高版本
  • 需安装 NVIDIA Container Toolkit 才能让容器使用 GPU
  • 准备一个本地目录用于挂载模型权重缓存(示例用 $PWD/data)
  • 磁盘/显存空间足够放下所选嵌入模型(示例 Qwen/Qwen3-Embedding-0.6B)

安装与启动步骤

  1. 1安装 GPU 容器支持

    要让容器调用显卡,需先在宿主机安装 NVIDIA Container Toolkit,并确认驱动兼容 CUDA 12.2+。否则启动容器会拿不到 GPU。

  2. 2启动 TEI 容器

    用 cuda-1.9 官方镜像启动服务,把宿主机 8080 映射到容器 80,并挂载 data 目录复用模型缓存,避免每次重新下载权重。

    model=Qwen/Qwen3-Embedding-0.6B
    volume=$PWD/data
    docker run --gpus all -p 8080:80 -v $volume:/data --pull always ghcr.io/huggingface/text-embeddings-inference:cuda-1.9 --model-id $model
  3. 3调用嵌入接口

    容器启动后向 /embed 发送 POST 请求,inputs 字段放待编码文本,返回即向量结果。这是验证服务是否可用的最直接方式。

    curl 127.0.0.1:8080/embed 
        -X POST 
        -d '{"inputs":"What is Deep Learning?"}' 
        -H 'Content-Type: application/json'
  4. 4查看全部启动参数

    如需调优并发、批大小、量化精度或池化方式,可用 --help 查看 text-embeddings-router 支持的全部命令行选项(服务未在本地安装时可跳过)。

    text-embeddings-router --help

关键配置

配置项必填说明示例
--model-id是要部署的 Hugging Face 模型 ID,或本地保存的模型目录路径Qwen/Qwen3-Embedding-0.6B
--hf-token否Hugging Face 令牌,用于访问私有或受限(gated)模型hf_xxxxxxxxxxxxxxxx
--dtype否强制模型精度,可选 float16 或 float32float16
--pooling否覆盖模型自带池化配置,可选 cls、mean、splade、last-tokenmean
--max-batch-tokens否单个批次可容纳的总 token 数,吞吐调优关键参数,默认 1638416384
--max-concurrent-requests否最大并发请求数,超过则直接拒绝以做背压,默认 512512

如何确认成功

容器日志无报错后,执行 curl 请求 /embed 能返回嵌入向量(JSON 数组)即表示服务正常,服务默认监听容器 80 端口,映射到宿主机 8080。

常见问题

Q:启动后提示找不到 GPU 或报 CUDA 相关错误?

A:先在宿主机安装 NVIDIA Container Toolkit,并确认显卡驱动兼容 CUDA 12.2 或更高版本;同时 docker run 必须带 --gpus all 参数。

Q:端口为什么是 8080 而不是 3000?

A:镜像里服务监听容器内 80 端口,示例用 -p 8080:80 映射到宿主机 8080。路由器本地运行的默认端口才是 3000,可用 --port 修改。

Q:每次重启都重新下载模型太慢?

A:务必挂载卷 -v $volume:/data 与容器共享数据目录,权重会缓存到该目录,后续启动可直接复用。

Q:服务能承载多少请求该怎么调?

A:--max-batch-tokens 表示一个批次内可容纳的总 token 数,默认 16384,应在模型进入计算瓶颈前尽量调大;--max-concurrent-requests 控制并发上限,超限直接拒绝请求以做背压。

注意事项

  • 示例命令中的 $PWD/data 需替换为你自己的宿主机目录,容器内对应挂载点为 /data。
  • 访问私有或 gated 模型时传入 --hf-token 或设置 HF_TOKEN,也可把 token 放在 $HF_HOME/token 路径下自动读取。
  • --default-prompt 与 --default-prompt-name 互斥,不能同时使用;后者必须是 sentence-transformers 配置 prompts 字典中的键。
  • README 还提到 Apple Silicon 可通过 Homebrew 本地安装,但未给出具体命令,如需本地部署请自行查阅官方文档。

核心亮点

  • 基于 Rust 实现,推理延迟极低,吞吐量远超 Python 方案
  • 内置动态批处理和模型量化,显存占用降低且速度提升
  • 提供 OpenAI 兼容 API,从现有服务迁移零成本

不足之处

  • 仅支持文本嵌入模型,不覆盖生成式或多模态模型
  • Rust 技术栈对二次开发门槛较高,社区扩展组件较少

适用场景

  • 大规模文本向量化服务,如搜索引擎的语义召回
  • 实时推荐系统的用户/物品 embedding 生成
  • 需要高并发低延迟的 NLP 微服务,如聊天机器人意图识别

替代项目

sentence-transformers、ONNX Runtime、Triton Inference Server

项目介绍

text-embeddings-inference 是基础设施领域的开源项目,由 huggingface 开发,2023 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(5,057)位列前 9%,在基础设施分类的 1,132 个项目里位列前 13%。

近 41 天,它的 GitHub 星标从 4,995 增加到 5,057,净增 62。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。Apache-2.0许可证,可自行部署,完全免费。

它主要面向的使用场景是:大规模文本向量化服务,如搜索引擎的语义召回。同类可对比的替代方案包括 sentence-transformers、ONNX Runtime、Triton Inference Server。

上一篇:semantic-router

下一篇:axonhub

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09