mcpField
T
transformers

transformers

github.com/davila7开发33.0k383 次安装今天更新
代码仓库

关于 transformers

transformers 技能介绍如何使用 Hugging Face Transformers 加载预训练模型、执行推理并进行微调,面向构建 NLP、视觉、音频及多模态任务的开发者。它涵盖 Pipeline 快速推理和可定制的模型工作流。

主要功能

  1. 01跨任务 Pipeline 推理
  2. 02加载和管理预训练模型
  3. 03配置文本生成策略
  4. 04使用 Trainer 微调模型
  5. 05文本分词与输入处理

适用场景

  1. 01快速原型化文本或视觉推理
  2. 02用自定义数据适配预训练模型
  3. 03构建文本生成或分类流程
  4. 04准备模型输入并批量处理文本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill transformers

安装后在 Claude Code 中输入/transformers确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
generation.md
models.md
pipelines.md
tokenizers.md
training.md

详细介绍

Transformers

概述

Hugging Face Transformers 库提供了对数千个预训练模型的访问,涵盖 NLP、计算机视觉、音频和多模态领域的任务。使用此技能可加载模型、执行推理,并在自定义数据上进行微调。

安装

安装 transformers 及核心依赖:

uv pip install torch transformers datasets evaluate accelerate

对于视觉任务,添加:

uv pip install timm pillow

对于音频任务,添加:

uv pip install librosa soundfile

身份验证

Hugging Face Hub 上的许多模型需要身份验证。设置访问权限:

from huggingface_hub import login
login()  # Follow prompts to enter token

或设置环境变量:

export HUGGINGFACE_TOKEN="your_token_here"

在以下地址获取令牌:https://huggingface.co/settings/tokens

快速开始

使用 Pipeline API 进行快速推理,无需手动配置:

from transformers import pipeline

# Text generation
generator = pipeline("text-generation", model="gpt2")
result = generator("The future of AI is", max_length=50)

# Text classification
classifier = pipeline("text-classification")
result = classifier("This movie was excellent!")

# Question answering
qa = pipeline("question-answering")
result = qa(question="What is AI?", context="AI is artificial intelligence...")

核心能力

1. 用于快速推理的 Pipelines

用于跨多种任务的简单、优化推理。支持文本生成、分类、NER、问答、摘要、翻译、图像分类、目标检测、音频分类等。

使用场景:快速原型设计、简单推理任务、无需自定义预处理。

有关全面的任务覆盖和优化,请参阅 references/pipelines.md。

2. 模型加载与管理

加载预训练模型,并对配置、设备放置和精度进行细粒度控制。

使用场景:自定义模型初始化、高级设备管理、模型检查。

有关加载模式和最佳实践,请参阅 references/models.md。

3. 文本生成

使用大模型通过各种解码策略(贪婪、束搜索、采样)和控制参数(temperature、top-k、top-p)生成文本。

使用场景:创意文本生成、代码生成、对话式 AI、文本补全。

有关生成策略和参数,请参阅 references/generation.md。

4. 训练与微调

使用 Trainer API 在自定义数据集上微调预训练模型,支持自动混合精度、分布式训练和日志记录。

使用场景:任务特定模型适配、领域适配、提升模型性能。

有关训练工作流和最佳实践,请参阅 references/training.md。

5. 分词

将文本转换为 token 和 token ID 以供模型输入,并支持填充、截断和特殊 token 处理。

使用场景:自定义预处理流水线、理解模型输入、批处理。

有关分词细节,请参阅 references/tokenizers.md。

常见模式

模式 1:简单推理

对于直接的任务,使用 pipelines:

pipe = pipeline("task-name", model="model-id")
output = pipe(input_data)
模式 2:自定义模型使用

对于高级控制,分别加载模型和分词器:

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("model-id")
model = AutoModelForCausalLM.from_pretrained("model-id", device_map="auto")

inputs = tokenizer("text", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=100)
result = tokenizer.decode(outputs[0])
模式 3:微调

对于任务适配,使用 Trainer:

from transformers import Trainer, TrainingArguments

training_args = TrainingArguments(
    output_dir="./results",
    num_train_epochs=3,
    per_device_train_batch_size=8,
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=train_dataset,
)

trainer.train()

参考文档

有关特定组件的详细信息:

  • Pipelines:references/pipelines.md - 所有支持的任务和优化
  • Models:references/models.md - 加载、保存和配置
  • Generation:references/generation.md - 文本生成策略和参数
  • Training:references/training.md - 使用 Trainer API 进行微调
  • Tokenizers:references/tokenizers.md - 分词和预处理

评论

支持 Markdown