transformers
统一加载和部署 Hugging Face Hub 上超过百万个预训练模型的 Python 库,覆盖文本、视觉、音频和多模态任务,同时支持推理和训练。作为 Hugging Face 生态的核心,它定义了模型格式并被 vLLM、SGLang、llama.cpp 等推理引擎和训练框架广泛兼容,是当前开源 ML 生态的事实标准。Apache 2.0 许可。
README
English | 简体中文 | 繁體中文 | 한국어 | Español | 日本語 | हिन्दी | Русский | Português | తెలుగు | Français | Deutsch | Italiano | Tiếng Việt | العربية | اردو | বাংলা | فارسی | Türkçe |
用于推理和训练的最先进预训练模型
Transformers 是面向文本、计算机视觉、音频、视频和多模态模型的最先进机器学习模型定义框架,同时支持推理和训练。
它集中管理模型定义,使整个生态系统对该定义达成一致。transformers 是跨框架的枢纽:如果一个模型定义受支持,它就能兼容大多数训练框架(Axolotl、Unsloth、DeepSpeed、FSDP、PyTorch-Lightning 等)、推理引擎(vLLM、SGLang、TGI 等)以及使用 transformers 模型定义的相邻建模库(llama.cpp、mlx 等)。
我们承诺支持新的最先进模型,并通过让模型定义简单、可定制且高效来推动其普及。
Hugging Face Hub 上有超过 1M+ 个 Transformers 模型检查点 供你使用。
立即探索 Hub,找到合适的模型并使用 Transformers 快速上手。
安装
Transformers 支持 Python 3.10+ 和 PyTorch 2.5+。
使用 venv 或 uv(一个基于 Rust 的快速 Python 包和项目管理器)创建并激活虚拟环境。
# venv
python -m venv .my-env
source .my-env/bin/activate
# uv
uv venv .my-env
source .my-env/bin/activate
在虚拟环境中安装 Transformers。
# pip
pip install "transformers[torch]"
# uv
uv pip install "transformers[torch]"
如果你想获取库中最新改动或有意贡献代码,可以从源码安装 Transformers。不过,最新版本可能不稳定。如果遇到错误,欢迎提交 issue。
git clone https://github.com/huggingface/transformers.git
cd transformers
# pip
pip install '.[torch]'
# uv
uv pip install '.[torch]'
快速上手
使用 Pipeline API 立即上手 Transformers。Pipeline 是一个高级推理类,支持文本、音频、视觉和多模态任务。它负责预处理输入并返回相应的输出。
实例化一个 pipeline 并指定用于文本生成的模型。模型会被下载并缓存,方便你随时复用。最后,传入一些文本作为模型提示词。
from transformers import pipeline
pipeline = pipeline(task="text-generation", model="Qwen/Qwen2.5-1.5B")
pipeline("the secret to baking a really good cake is ")
[{'generated_text': 'the secret to baking a really good cake is 1) to use the right ingredients and 2) to follow the recipe exactly. the recipe for the cake is as follows: 1 cup of sugar, 1 cup of flour, 1 cup of milk, 1 cup of butter, 1 cup of eggs, 1 cup of chocolate chips. if you want to make 2 cakes, how much sugar do you need? To make 2 cakes, you will need 2 cups of sugar.'}]
与模型对话的使用方式相同。唯一区别是需要构建你和系统之间的对话历史(Pipeline 的输入)。
[!TIP] 只要
transformers serve正在运行,你也可以直接从命令行与模型对话。transformers chat Qwen/Qwen2.5-0.5B-Instruct
import torch
from transformers import pipeline
chat = [
{"role": "system", "content": "You are a sassy, wise-cracking robot as imagined by Hollywood circa 1986."},
{"role": "user", "content": "Hey, can you tell me any