[ PROMPT_NODE_27508 ]
Pipeline API
[ SKILL_DOCUMENTATION ]
# Pipeline API 参考
## 概述
Pipeline 提供了一种最简单的方式来使用预训练模型进行推理。它们封装了分词、模型加载和后处理,为数十种任务提供了统一的接口。
## 基础用法
通过指定任务创建 pipeline:
python
from transformers import pipeline
# 自动选择任务的默认模型
pipe = pipeline("text-classification")
result = pipe("This is great!")
或者指定模型:
python
pipe = pipeline("text-classification", model="distilbert-base-uncased-finetuned-sst-2-english")
## 支持的任务
### 自然语言处理
**text-generation**: 生成文本续写
python
generator = pipeline("text-generation", model="gpt2")
output = generator("Once upon a time", max_length=50, num_return_sequences=2)
**text-classification**: 将文本分类到不同类别
python
classifier = pipeline("text-classification")
result = classifier("I love this product!") # 返回标签和分数
**token-classification**: 对单个 token 进行标注 (NER, POS 标注)
python
ner = pipeline("token-classification", model="dslim/bert-base-NER")
entities = ner("Hugging Face is based in New York City")
**question-answering**: 从上下文中提取答案
python
qa = pipeline("question-answering")
result = qa(question="What is the capital?", context="Paris is the capital of France.")
**fill-mask**: 预测被掩码的 token
python
unmasker = pipeline("fill-mask", model="bert-base-uncased")
result = unmasker("Paris is the [MASK] of France")
**summarization**: 总结长文本
python
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
summary = summarizer("Long article text...", max_length=130, min_length=30)
**translation**: 语言间翻译
python
translator = pipeline("translation_en_to_fr", model="Helsinki-NLP/opus-mt-en-fr")
result = translator("Hello, how are you?")
**zero-shot-classification**: 无需训练数据进行分类
python
classifier = pipeline("zero-shot-classification", model="facebook/bart-large-mnli")
result = classifier(
"This is a course about Python programming",
candidate_labels=["education", "politics", "business"]
)
**sentiment-analysis**: text-classification 的别名,专注于情感分析
python
sentiment = pipeline("sentiment-analysis")
result = sentiment("This product exceeded my expectations!")
### 计算机视觉
**image-classification**: