基于 Rust 的嵌入(Embedding)流水线,可处理文本、PDF、图片、音频和网页,本地或云端生成向量并写入向量数据库。
huggingface/text-embeddings-inference
用 Rust 编写的推理服务,可通过 HTTP 或 gRPC 部署和提供开源文本向量模型服务。
- Star
- 5,109
- Fork
- 452
- 未关闭 Issue
- 217
- 最近提交
- 22小时前
这是什么?
Text Embeddings Inference(TEI)是一个用于部署和提供开源文本向量模型及序列分类模型服务的工具包。它提供生成文本嵌入、用交叉编码器对查询与文档进行重排序,以及序列分类等接口,并附带 REST API 的 OpenAPI/Swagger 文档。
服务支持 BERT、XLM-RoBERTa、Qwen2/Qwen3、Mistral、Gemma3、ModernBERT、NomicBERT 等架构的模型,权重可使用 Safetensors 或 ONNX 格式。请求会按 token 数量动态批处理。运行环境包括 CPU、通过 CUDA 使用的 NVIDIA GPU、Apple Silicon 上的 Metal,以及通过 ROCm 使用的 AMD Instinct GPU,可直接使用预构建的 Docker 镜像,也可用 Cargo 本地编译。
在运维方面,TEI 支持 OpenTelemetry 分布式追踪、Prometheus 指标和 JSON 日志,可选 API Key 鉴权,并支持离线环境部署,模型文件可从本地挂载卷读取。
核心功能
- 01通过 HTTP REST 和 gRPC 提供向量嵌入、重排序和序列分类服务。
- 02基于 token 数量的动态批处理,充分利用硬件资源。
- 03支持 CPU、NVIDIA CUDA GPU、Apple Silicon Metal 和 AMD ROCm GPU。
- 04支持 Safetensors 和 ONNX 权重,可从 Hugging Face Hub 或本地目录加载模型。
- 05提供 OpenTelemetry 追踪、Prometheus 指标和可选的 API Key 鉴权。
适用场景
- 为检索增强生成(RAG)流程部署向量嵌入接口。
- 在搜索结果之后增加交叉编码器重排序步骤,提升排序质量。
- 在离线或私有基础设施中,使用本地权重运行嵌入模型。
- 在 Apple Silicon Mac 上为本地开发提供嵌入模型服务。
快速上手
- 1
使用模型运行 Docker 容器(使用 GPU 需要 NVIDIA Container Toolkit)
docker run --gpus all -p 8080:80 -v $volume:/data --pull always ghcr.io/huggingface/text-embeddings-inference:cuda-1.9 --model-id $model - 2
向本地服务发送嵌入请求
curl 127.0.0.1:8080/embed -X POST -d '{"inputs":"What is Deep Learning?"}' -H 'Content-Type: application/json'
使用前须知
- 使用 GPU 需要安装 NVIDIA Container Toolkit,且驱动需兼容 CUDA 12.2 或更高版本。
- 仅支持 README 中列出的模型架构。
收录于专题
标签
常见问题
- text-embeddings-inference 是什么?
- 用 Rust 编写的推理服务,可通过 HTTP 或 gRPC 部署和提供开源文本向量模型服务。 Text Embeddings Inference(TEI)是一个用于部署和提供开源文本向量模型及序列分类模型服务的工具包。它提供生成文本嵌入、用交叉编码器对查询与文档进行重排序,以及序列分类等接口,并附带 REST API 的 OpenAPI/Swagger 文档。
- text-embeddings-inference 可以免费使用吗?用的什么许可证?
- text-embeddings-inference 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- text-embeddings-inference 还在维护吗?
- 活跃维护中。text-embeddings-inference 最近一次提交是在 2026年11月6日。
- text-embeddings-inference 适合用来做什么?
- 为检索增强生成(RAG)流程部署向量嵌入接口。 在搜索结果之后增加交叉编码器重排序步骤,提升排序质量。 在离线或私有基础设施中,使用本地权重运行嵌入模型。 在 Apple Silicon Mac 上为本地开发提供嵌入模型服务。
- text-embeddings-inference 怎么安装和运行?
- 使用模型运行 Docker 容器(使用 GPU 需要 NVIDIA Container Toolkit): docker run --gpus all -p 8080:80 -v $volume:/data --pull always ghcr.io/huggingface/text-embeddings-inference:cuda-1.9 --model-id $model 向本地服务发送嵌入请求: curl 127.0.0.1:8080/embed -X POST -d '{"inputs":"What is Deep Learning?"}' -H 'Content-Type: application/json'
- 在哪里获取 text-embeddings-inference?
- 源代码和安装说明在 GitHub 上:https://github.com/huggingface/text-embeddings-inference
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Redis 的 Python 客户端库,用于构建向量搜索、RAG、语义缓存和 LLM 记忆功能。
开源的 LLM 负载均衡与推理服务平台,基于 llama.cpp 在自有 CPU/GPU 集群上部署和扩展大模型。
北京智源推出的检索工具包,提供 BGE 向量模型与重排序模型,并包含微调、评测和教程,用于搜索与 RAG。
Go 语言向量搜索库,提供精确余弦相似度检索,并可选接入基于 llama.cpp 的本地 GGUF 嵌入或 OpenAI 兼容的云端嵌入。
本地向量索引与 RAG 工具,通过按需重算向量将存储占用降低约 97%,可在笔记本上检索个人数据。