Transformers 入门指南:用 Python 调用预训练大模型
想在自己代码里用 BERT 做分类、用 GPT 做生成,但被环境劝退?Hugging Face 的 Transformers 库把上千个预训练模型封装成几行代码就能调用的统一接口。本文带你用 Python 跑通文本分类与文本生成。
一、环境准备
pip install transformers torch
# 仅 CPU 推理可装轻量版
pip install transformers torch --index-url https://download.pytorch.org/whl/cpu
要求 Python 3.8+。首次运行会自动下载模型权重(需联网,建议挂代理或配置镜像)。
二、最小可运行示例:情感分类
用管道(pipeline)一行搞定:
from transformers import pipeline
classifier = pipeline("sentiment-analysis")
result = classifier("I love using Transformers, it is amazing!")
print(result)
# [{'label': 'POSITIVE', 'score': 0.9998}]
pipeline 是最高层封装,自动加载默认模型与分词器,适合快速验证。
三、核心概念
- Pipeline:任务级封装(分类 / 生成 / 问答 / 翻译),开箱即用。
- AutoModel / AutoTokenizer:底层组件。
Tokenizer把文本转模型输入,AutoModel加载具体架构(如BertModel)。 - Model Hub:Hugging Face 模型仓库,指定
model="用户名/模型名"即可换模型。
四、进阶用法:指定中文模型
用中文情感分析模型:
from transformers import pipeline
zh = pipeline(
"sentiment-analysis",
model="uer/roberta-base-finetuned-dft-chinese-climate",
tokenizer="uer/roberta-base-finetuned-dft-chinese-climate"
)
print(zh("这部电影真的很好看"))
生成任务同理,换 pipeline("text-generation", model="...")。
五、实战场景:本地文本生成
用小型生成模型写一段续写:
from transformers import pipeline
generator = pipeline("text-generation", model="gpt2")
out = generator(
"Python 是一门",
max_new_tokens=50,
num_return_sequences=1,
do_sample=True,
temperature=0.9
)
print(out[0]["generated_text"])
max_new_tokens 控制生成长度,temperature 控制随机性。中文场景建议换 ChatGLM、Qwen 等中文模型以获得更好效果。
六、常见坑 / 报错
1. 下载模型超时 / ConnectionError
国内访问 Hugging Face 不稳定。两种办法:设置镜像 export HF_ENDPOINT=https://hf-mirror.com,或提前用 huggingface-cli download 缓存到本地。
2. OSError: Can't load tokenizer
模型名拼错或仓库下架。到 huggingface.co 核对 model 与 tokenizer 名称一致。
3. 显存不足 CUDA out of memory
大模型需 GPU 显存。CPU 可跑小模型(如 distilbert),或在 pipeline(..., device=-1) 强制用 CPU(慢但稳)。
七、总结与下一步
Transformers 把“调大模型”变成普通的 Python 函数调用,是做 NLP/LLM 应用的事实标准。下一步建议:
- 用
AutoModelForSequenceClassification微调自己的分类任务; - 结合
datasets库加载训练数据; - 学
peft做 LoRA 轻量微调,显存占用大幅下降。
大模型时代,会调 Transformers 就等于握住了一把万能钥匙。

浙公网安备 33010602011771号