AIGC标识 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 就等于握住了一把万能钥匙。

posted @ 2026-09-24 18:49  小小张说故事  阅读(1)  评论(0)    收藏  举报