huggingfacetext-generation-inference:大语言模型推理部署工具
huggingface/text-generation-inference:大语言模型推理部署工具
huggingface/text-generation-inference 在 GitHub 上已经拿到 10,854 Star。
这是 Hugging Face 开源的大语言模型推理部署工具,用 Rust、Python 和 gRPC 开发,目前在 Hugging Face 生产环境中用于支撑 Hugging Chat、推理 API 和推理端点服务。该项目目前处于维护模式,后续仅接受 bug 修复、文档优化和轻量维护任务,官方推荐转向 vllm、SGLang、llama.cpp 或 MLX 等推理引擎使用。
1、 核心功能
Text Generation Inference(简称 TGI)主要用于部署和服务大语言模型,为主流开源大模型提供高性能文本生成能力,覆盖 Llama、Falcon、StarCoder、BLOOM、GPT-NeoX 等多个系列。
它包含的主要功能有:
- 简易启动器,可快速部署大部分主流大模型
- 生产级特性,支持 Open Telemetry 分布式追踪和 Prometheus 指标监控
- 张量并行,可在多 GPU 环境下提升推理速度
- 基于 Server-Sent Events 的 Token 流式输出
- 请求持续批处理,提高整体吞吐量
- 兼容 OpenAI 聊天补全 API 的 Messages 接口
- 针对主流架构优化的 Transformers 代码,集成 Flash Attention 和 Paged Attention
- 支持多种量化方式,包括 bitsandbytes、GPT-Q、EETQ、AWQ、Marlin、fp8
- 支持 Safetensors 权重加载
- 内置水印功能,可对生成内容添加隐式标识
- 支持输出格式约束,可指定 JSON 等输出结构,确保生成内容符合格式要求
- 支持自定义提示词生成,可通过自定义提示引导模型输出
- 支持微调模型部署,可使用特定任务微调后的模型提升输出准确率
2、 硬件支持
TGI 支持多种硬件平台部署:
- Nvidia GPU
- AMD GPU
- AWS Inferentia
- Intel GPU
- Habana Gaudi
- Google TPU
3、 部署方式
Docker 部署
官方推荐使用 Docker 容器部署,操作步骤如下:
model=HuggingFaceH4/zephyr-7b-beta
volume=$PWD/data
docker run --gpus all --shm-size 1g -p 8080:80 -v $volume:/data \
ghcr.io/huggingface/text-generation-inference:3.3.5 --model-id $model
部署完成后,可通过 curl 发送请求:
curl 127.0.0.1:8080/generate_stream \
-X POST \
-d '{"inputs":"什么是深度学习?","parameters":{"max_new_tokens":20}}' \
-H 'Content-Type: application/json'
也可使用兼容 OpenAI 格式的 Messages API:
curl localhost:8080/v1/chat/completions \
-X POST \
-d '{
"model": "tgi",
"messages": [
{
"role": "system",
"content": "你是一个有用的助手。"
},
{
"role": "user",
"content": "什么是深度学习?"
}
],
"stream": true,
"max_tokens": 20
}' \
-H 'Content-Type: application/json'
使用 Nvidia GPU 需提前安装 NVIDIA Container Toolkit,推荐使用 CUDA 12.2 及以上版本的驱动。无 GPU 环境下可移除 --gpus all 参数并添加 --disable-custom-kernels,但 CPU 平台不是该项目的目标运行环境,性能表现一般。
本地安装
也可选择本地安装使用,首先克隆仓库并进入目录:
git clone https://github.com/huggingface/text-generation-inference
cd text-generation-inference
安装 Rust 并创建 Python 虚拟环境(Python 3.9 及以上版本),然后执行安装命令:
BUILD_EXTENSIONS=True make install
text-generation-launcher --model-id mistralai/Mistral-7B-Instruct-v0.2

部署完成后,可通过 /docs 路由查看 OpenAPI 文档,也可访问 https://huggingface.github.io/text-generation-inference 查看在线 Swagger 接口文档。
使用私有或需要权限验证的模型时,可通过 HF_TOKEN 环境变量配置访问令牌,获取 Hugging Face 账号下的 CLI READ 令牌后,启动容器时传入该变量即可。
开源地址:https://github.com/huggingface/text-generation-inference
I READ 令牌后,启动容器时传入该变量即可。
开源地址:https://github.com/huggingface/text-generation-inference
更多推荐



所有评论(0)