📌 项目地址:huggingface/transformers | ⭐ 163,709 颗星 | 🔧 Python | 📜 未标注
它解决的不只是”加载模型”
很多库能帮你加载模型,但 Hugging Face Transformers 的目标更底层:它要成为整个生态对”模型长什么样”的统一约定。README 里的原话是:如果某个模型定义被 Transformers 支持,它就能兼容大多数训练框架(Axolotl、Unsloth、DeepSpeed、FSDP、PyTorch-Lightning 等)、推理引擎(vLLM、SGLang、TGI 等)以及周边建模库(llama.cpp、mlx 等)。换句话说,Transformers 不是和这些工具竞争,而是为它们提供”模型定义”这一层地基。
这也解释了为什么它的 Star 数超过 16 万,Hugging Face Hub 上有超过 100 万个以 transformers 为库的模型 checkpoint。你不需要为每个模型单独学一套加载方式,只需要学会 Transformers 的接口,就能使用 Hub 上的海量模型。
安装:两条路径,都写在 README 里
Transformers 要求 Python 3.10+ 和 PyTorch 2.5+。README 推荐用 venv 或 uv 创建虚拟环境:
# venv
python -m venv .my-env
source .my-env/bin/activate
# uv
uv venv .my-env
source .my-env/bin/activate
然后安装:
# pip
pip install "transformers[torch]"
# uv
uv pip install "transformers[torch]"
如果你想用最新代码,或者参与贡献,可以从源码安装。注意 README 明确说:最新版本可能不稳定,遇到错误可以开 issue。
git clone https://github.com/huggingface/transformers.git
cd transformers
# pip
pip install '.[torch]'
# uv
uv pip install '.[torch]'
快速开始:Pipeline 是入口
README 介绍了 Pipeline API,它是最快上手的方式。这是一个高层推理接口,支持文本、音频、视觉和多模态任务。它负责预处理输入,并返回对应的输出。
比如你想用某个模型做文本生成,只需要实例化一个 pipeline 并指定模型,模型会自动下载。README 没有在快速开始给完整代码,具体用法参考官方文档的 Pipeline 教程。这个设计意味着你不需要关心tokenization、张量维度等细节,用同一个 pipeline 接口就能切换任务和模型。
和同类工具的实质区别
市面上有专门的视觉模型库、音频模型库或部署框架。Transformers 的差异在于它把自己定位成”模型定义框架”,而不是某个垂直领域的工具。一个模型如果被 Transformers 支持,它的定义就能在所有主流训练/推理链路里复用。你不需要在训练时用一套定义、在推理时换成另一套定义。这是它在生态里的独特位置。
注意事项
- 版本要求严格:README 写明 Python 3.10+、PyTorch 2.5+。如果你的环境版本更低,先升级环境。
- 源码版可能不稳定:直接从 GitHub 安装最新代码适合想紧跟开发进度的人,不适合追求稳定生产的用户。
- 大模型下载存储:虽然 README 没说,但使用 Hub 上的模型时会自动下载权重,需要关注磁盘空间。这属于实际使用中的常识,官方文档有说明。
- 许可证因模型而异:Transformers 本身的 license 可以查仓库,但每个模型的许可证归模型作者所有,使用前要确认。
如果你需要一个能”一次定义,到处运行”的模型生态入口,Transformers 是目前最接近这个承诺的项目。从安装到跑通一个 pipeline 只需要几条命令,而它背后的生态覆盖范围远超任何单一框架。