Hugging Face transformers
A biblioteca transformers carrega e executa modelos de código aberto do Hugging Face Hub. Use pipeline para inferência rápida ou AutoModel para loops de geração personalizados.
Busque em todas as páginas da documentação
A biblioteca transformers carrega e executa modelos de código aberto do Hugging Face Hub. Use pipeline para inferência rápida ou AutoModel para loops de geração personalizados.
Cartão de receita de referência rápida - pronto para copiar e colar.
from transformers import pipeline
generator = pipeline("text-generation", model="meta-llama/Llama-3.2-1B-Instruct")
output = generator("Explique os decoradores Python:", max_new_tokens=100)
print(output[0]["generated_text"])Quando usar isso:
"""hugging_face_transformers.py - pipeline e geração manual."""
from __future__ import annotations
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_id = "meta-llama/Llama-3.2-1B-Instruct"
# Inferência rápida com pipeline
gen = pipeline("text-generation", model=model_id, torch_dtype=torch.float16, device_map="auto")
result = gen("O que é pytest?", max_new_tokens=80, do_sample=True, temperature=0.7)
print("pipeline:", result[0]["generated_text"][-200:])
# Loop de geração manual
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float16, device_map="auto")
messages = [{"role": "user", "content": "Escreva um hello world em Python de uma linha."}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
with torch.inference_mode():
outputs = model.generate(**inputs, max_new_tokens=60, temperature=0.7, do_sample=True)
response = tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print("manual:", response)O que isso demonstra:
pipeline para geração de texto sem configuração.AutoTokenizer e AutoModelForCausalLM para controle manual.apply_chat_template para modelos ajustados por instruções.device_map="auto" para posicionamento automático da GPU.config.json.| API | Use Quando | Complexidade |
|---|---|---|
pipeline() | Prototipagem rápida | Baixa |
model.generate() | Parâmetros de geração personalizados | Média |
Trainer | Ajuste fino | Média |
trl (SFT, DPO) | Alinhamento estilo RLHF | Alta |
# Quantização de 4 bits para memória de GPU limitada
from transformers import BitsAndBytesConfig
bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_compute_dtype=torch.float16)
model = AutoModelForCausalLM.from_pretrained(model_id, quantization_config=bnb_config, device_map="auto")tokenizer.apply_chat_template.device_map="auto" ou modelos menores.huggingface-cli login e aceite a licença na página do modelo.tokenizer.pad_token = tokenizer.eos_token.HF_HOME; use local_files_only=True em produção.torch_dtype=torch.float16 ou bfloat16.| Alternativa | Use Quando | Não Use Quando |
|---|---|---|
pipeline | Inferência rápida | Lógica de decodificação personalizada |
| vLLM | Servidor de alta taxa de transferência | Experimentos locais simples |
| Ollama | Gerenciamento fácil de modelos locais | Ajuste fino |
| Provedores de API | Sem infraestrutura de GPU | Privacidade de dados exige local |
pip install huggingface_hub
huggingface-cli loginfrom transformers import TrainingArguments, Trainer
args = TrainingArguments(output_dir="./out", num_train_epochs=3, per_device_train_batch_size=4)
trainer = Trainer(model=model, args=args, train_dataset=dataset)
trainer.train()max_new_tokens limita os novos tokens (preferível a max_length).min_new_tokens garante o comprimento mínimo da resposta.do_sample=False para decodificação gulosa (determinística).generate.torch.compile pode acelerar a geração em modelos suportados.export HF_HOME=/data/hf_cachefrom transformers import AutoModel
embedder = pipeline("feature-extraction", model="sentence-transformers/all-MiniLM-L6-v2")sentence-transformers diretamente.Versões da Stack: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, e uv 0.6+.
Revisado por Chris St. John·Última atualização: 19 de jul. de 2026