Transformers.js 文档

管道

Hugging Face's logo
加入Hugging Face社区

并获取增强文档体验

开始使用

流水线

流水线提供了一套高级、易于使用的API,用于运行机器学习模型。

示例:使用pipeline函数实例化流水线。

import { pipeline } from '@xenova/transformers';

const classifier = await pipeline('sentiment-analysis');
const output = await classifier('I love transformers!');
// [{'label': 'POSITIVE', 'score': 0.999817686}]

pipelines.Pipeline ⇐ <code> Callable </code>

Pipeline 类是所有管道都继承的类。请参阅此类,以了解跨不同管道共享的方法。

类型pipelines 的静态类
扩展Callable


new Pipeline(options)

创建一个新的Pipeline。

参数类型默认值描述
options对象

包含以下属性的对象

[options.task]字符串

pipelines的任务。用于指定子任务。

[options.model]预训练模型

pipeline使用的模型。

[options.tokenizer]预训练分词器

pipeline使用的分词器(如果有)。

[options.processor]处理器

pipeline使用的处理器(如果有)。


pipeline.dispose() : <code> DisposeType </code>

类型: Pipeline 的实例方法


pipelines.TextClassificationPipeline

使用任何 ModelForSequenceClassification 的文本分类pipeline。

示例:Xenova/distilbert-base-uncased-finetuned-sst-2-english 进行情感分析。

const classifier = await pipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english');
const output = await classifier('I love transformers!');
// [{ label: 'POSITIVE', score: 0.999788761138916 }]

示例:与多语言情感分析 Xenova/bert-base-multilingual-uncased-sentiment(并返回前5个类别)。

const classifier = await pipeline('sentiment-analysis', 'Xenova/bert-base-multilingual-uncased-sentiment');
const output = await classifier('Le meilleur film de tous les temps.', { topk: 5 });
// [
//   { label: '5 stars', score: 0.9610759615898132 },
//   { label: '4 stars', score: 0.03323351591825485 },
//   { label: '3 stars', score: 0.0036155181005597115 },
//   { label: '1 star', score: 0.0011325967498123646 },
//   { label: '2 stars', score: 0.0009423971059732139 }
// ]

示例:Xenova/toxic-bert 进行带毒评论分类(并返回所有类别)。

const classifier = await pipeline('text-classification', 'Xenova/toxic-bert');
const output = await classifier('I hate you!', { topk: null });
// [
//   { label: 'toxic', score: 0.9593140482902527 },
//   { label: 'insult', score: 0.16187334060668945 },
//   { label: 'obscene', score: 0.03452680632472038 },
//   { label: 'identity_hate', score: 0.0223250575363636 },
//   { label: 'threat', score: 0.019197041168808937 },
//   { label: 'severe_toxic', score: 0.005651099607348442 }
// ]

类型pipelines 的静态类


new TextClassificationPipeline(options)

创建一个新的TextClassificationPipeline。

参数类型描述
optionsTextPipelineConstructorArgs

一个用于实例化管道的对象。


textClassificationPipeline._call() : <code> TextClassificationPipelineCallback </code>

类型TextClassificationPipeline 实例方法


pipelines.TokenClassificationPipeline

使用任何 ModelForTokenClassification 的命名实体识别管道。

示例:使用 Xenova/bert-base-NER 进行命名实体识别。

const classifier = await pipeline('token-classification', 'Xenova/bert-base-NER');
const output = await classifier('My name is Sarah and I live in London');
// [
//   { entity: 'B-PER', score: 0.9980202913284302, index: 4, word: 'Sarah' },
//   { entity: 'B-LOC', score: 0.9994474053382874, index: 9, word: 'London' }
// ]

示例:使用 Xenova/bert-base-NER (并返回所有标签)进行命名实体识别。

const classifier = await pipeline('token-classification', 'Xenova/bert-base-NER');
const output = await classifier('Sarah lives in the United States of America', { ignore_labels: [] });
// [
//   { entity: 'B-PER', score: 0.9966587424278259, index: 1, word: 'Sarah' },
//   { entity: 'O', score: 0.9987385869026184, index: 2, word: 'lives' },
//   { entity: 'O', score: 0.9990072846412659, index: 3, word: 'in' },
//   { entity: 'O', score: 0.9988298416137695, index: 4, word: 'the' },
//   { entity: 'B-LOC', score: 0.9995510578155518, index: 5, word: 'United' },
//   { entity: 'I-LOC', score: 0.9990395307540894, index: 6, word: 'States' },
//   { entity: 'I-LOC', score: 0.9986724853515625, index: 7, word: 'of' },
//   { entity: 'I-LOC', score: 0.9975294470787048, index: 8, word: 'America' }
// ]

类型pipelines 的静态类


new TokenClassificationPipeline(options)

创建一个新的TokenClassificationPipeline。

参数类型描述
optionsTextPipelineConstructorArgs

一个用于实例化管道的对象。


tokenClassificationPipeline._call() : <code> TokenClassificationPipelineCallback </code>

类型: TokenClassificationPipeline 的实例方法


pipelines.QuestionAnsweringPipeline

使用任何 `ModelForQuestionAnswering` 的问答管道。

示例: 使用 `Xenova/distilbert-base-uncased-distilled-squad` 运行问答。

const answerer = await pipeline('question-answering', 'Xenova/distilbert-base-uncased-distilled-squad');
const question = 'Who was Jim Henson?';
const context = 'Jim Henson was a nice puppet.';
const output = await answerer(question, context);
// {
//   answer: "a nice puppet",
//   score: 0.5768911502526741
// }

类型pipelines 的静态类


new QuestionAnsweringPipeline(options)

创建一个新的 QuestionAnsweringPipeline。

参数类型描述
optionsTextPipelineConstructorArgs

一个用于实例化管道的对象。


questionAnsweringPipeline._call() : <code> QuestionAnsweringPipelineCallback </code>

类型: QuestionAnsweringPipeline 的实例方法


pipelines.FillMaskPipeline

使用任何 ModelWithLMHead 的掩码语言建模预测管道。

示例:使用 Xenova/bert-base-uncased 进行掩码语言建模(也称为“填空”)。

const unmasker = await pipeline('fill-mask', 'Xenova/bert-base-cased');
const output = await unmasker('The goal of life is [MASK].');
// [
//   { token_str: 'survival', score: 0.06137419492006302, token: 8115, sequence: 'The goal of life is survival.' },
//   { token_str: 'love', score: 0.03902450203895569, token: 1567, sequence: 'The goal of life is love.' },
//   { token_str: 'happiness', score: 0.03253183513879776, token: 9266, sequence: 'The goal of life is happiness.' },
//   { token_str: 'freedom', score: 0.018736306577920914, token: 4438, sequence: 'The goal of life is freedom.' },
//   { token_str: 'life', score: 0.01859794743359089, token: 1297, sequence: 'The goal of life is life.' }
// ]

示例:使用 Xenova/bert-base-cased(并返回最高结果)进行掩码语言建模(也称为“填空”)。

const unmasker = await pipeline('fill-mask', 'Xenova/bert-base-cased');
const output = await unmasker('The Milky Way is a [MASK] galaxy.', { topk: 1 });
// [{ token_str: 'spiral', score: 0.6299987435340881, token: 14061, sequence: 'The Milky Way is a spiral galaxy.' }]

类型pipelines 的静态类


new FillMaskPipeline(options)

创建一个新的 FillMaskPipeline。

参数类型描述
optionsTextPipelineConstructorArgs

一个用于实例化管道的对象。


fillMaskPipeline._call() : <code> FillMaskPipelineCallback </code>

类型FillMaskPipeline 的实例方法


pipelines.Text2TextGenerationPipeline

Text2TextGenerationPipeline 类,用于使用执行文本到文本生成任务的模型生成文本。

示例:Xenova/LaMini-Flan-T5-783M 进行文本到文本生成。

const generator = await pipeline('text2text-generation', 'Xenova/LaMini-Flan-T5-783M');
const output = await generator('how can I become more healthy?', {
  max_new_tokens: 100,
});
// [{ generated_text: "To become more healthy, you can: 1. Eat a balanced diet with plenty of fruits, vegetables, whole grains, lean proteins, and healthy fats. 2. Stay hydrated by drinking plenty of water. 3. Get enough sleep and manage stress levels. 4. Avoid smoking and excessive alcohol consumption. 5. Regularly exercise and maintain a healthy weight. 6. Practice good hygiene and sanitation. 7. Seek medical attention if you experience any health issues." }]

类型pipelines 的静态类


new Text2TextGenerationPipeline(options)

创建一个新的 Text2TextGenerationPipeline。

参数类型描述
optionsTextPipelineConstructorArgs

一个用于实例化管道的对象。


text2TextGenerationPipeline._key : <code> ’ generated_text ’ </code>

类型: Text2TextGenerationPipeline 的实例属性


text2TextGenerationPipeline._call() : <code> Text2TextGenerationPipelineCallback </code>

类型: Text2TextGenerationPipeline 的实例方法


pipelines.SummarizationPipeline

继承自 Text2TextGenerationPipeline 的总结任务管道。

示例:使用 Xenova/distilbart-cnn-6-6 进行总结。

const generator = await pipeline('summarization', 'Xenova/distilbart-cnn-6-6');
const text = 'The tower is 324 metres (1,063 ft) tall, about the same height as an 81-storey building, ' +
  'and the tallest structure in Paris. Its base is square, measuring 125 metres (410 ft) on each side. ' +
  'During its construction, the Eiffel Tower surpassed the Washington Monument to become the tallest ' +
  'man-made structure in the world, a title it held for 41 years until the Chrysler Building in New ' +
  'York City was finished in 1930. It was the first structure to reach a height of 300 metres. Due to ' +
  'the addition of a broadcasting aerial at the top of the tower in 1957, it is now taller than the ' +
  'Chrysler Building by 5.2 metres (17 ft). Excluding transmitters, the Eiffel Tower is the second ' +
  'tallest free-standing structure in France after the Millau Viaduct.';
const output = await generator(text, {
  max_new_tokens: 100,
});
// [{ summary_text: ' The Eiffel Tower is about the same height as an 81-storey building and the tallest structure in Paris. It is the second tallest free-standing structure in France after the Millau Viaduct.' }]

类型pipelines 的静态类


new SummarizationPipeline(options)

创建一个新的SummarizationPipeline。

参数类型描述
optionsTextPipelineConstructorArgs

一个用于实例化管道的对象。


summarizationPipeline._key : <code> ’ summary_text ’ </code>

类型: SummarizationPipeline 的实例属性


pipelines.TranslationPipeline

将文本从一种语言翻译成另一种语言。

示例:使用 Xenova/nllb-200-distilled-600M 进行多语言翻译。

有关完整语言列表及其对应代码,请参阅此处

const translator = await pipeline('translation', 'Xenova/nllb-200-distilled-600M');
const output = await translator('जीवन एक चॉकलेट बॉक्स की तरह है।', {
  src_lang: 'hin_Deva', // Hindi
  tgt_lang: 'fra_Latn', // French
});
// [{ translation_text: 'La vie est comme une boîte à chocolat.' }]

示例:使用 Xenova/m2m100_418M 进行多语言翻译。

有关完整语言列表及其对应代码,请参阅此处

const translator = await pipeline('translation', 'Xenova/m2m100_418M');
const output = await translator('生活就像一盒巧克力。', {
  src_lang: 'zh', // Chinese
  tgt_lang: 'en', // English
});
// [{ translation_text: 'Life is like a box of chocolate.' }]

示例:使用 Xenova/mbart-large-50-many-to-many-mmt 进行多语言翻译。

有关完整语言列表及其对应代码,请参阅此处

const translator = await pipeline('translation', 'Xenova/mbart-large-50-many-to-many-mmt');
const output = await translator('संयुक्त राष्ट्र के प्रमुख का कहना है कि सीरिया में कोई सैन्य समाधान नहीं है', {
  src_lang: 'hi_IN', // Hindi
  tgt_lang: 'fr_XX', // French
});
// [{ translation_text: 'Le chef des Nations affirme qu 'il n 'y a military solution in Syria.' }]

类型pipelines 的静态类


new TranslationPipeline(options)

创建一个新的TranslationPipeline。

参数类型描述
optionsTextPipelineConstructorArgs

一个用于实例化管道的对象。


translationPipeline._key : <code> ‘translation_text’ </code>

类型TranslationPipeline的实例属性


pipelines.TextGenerationPipeline

使用任何ModelWithLMHeadModelForCausalLM的文本生成管道。此管道预测指定文本提示词后出现的词汇。注:有关生成参数的完整列表,请参阅GenerationConfig

示例:使用[Xenova/distilgpt2](默认设置)进行文本生成。

const generator = await pipeline('text-generation', 'Xenova/distilgpt2');
const text = 'I enjoy walking with my cute dog,';
const output = await generator(text);
// [{ generated_text: "I enjoy walking with my cute dog, and I love to play with the other dogs." }]

示例:使用[Xenova/distilgpt2](自定义设置)进行文本生成。

const generator = await pipeline('text-generation', 'Xenova/distilgpt2');
const text = 'Once upon a time, there was';
const output = await generator(text, {
  temperature: 2,
  max_new_tokens: 10,
  repetition_penalty: 1.5,
  no_repeat_ngram_size: 2,
  num_beams: 2,
  num_return_sequences: 2,
});
// [{
//   "generated_text": "Once upon a time, there was an abundance of information about the history and activities that"
// }, {
//   "generated_text": "Once upon a time, there was an abundance of information about the most important and influential"
// }]

示例:运行Xenova/codegen-350M-mono的代码生成。

const generator = await pipeline('text-generation', 'Xenova/codegen-350M-mono');
const text = 'def fib(n):';
const output = await generator(text, {
  max_new_tokens: 44,
});
// [{
//   generated_text: 'def fib(n):\n' +
//     '    if n == 0:\n' +
//     '        return 0\n' +
//     '    elif n == 1:\n' +
//     '        return 1\n' +
//     '    else:\n' +
//     '        return fib(n-1) + fib(n-2)\n'
// }]

类型pipelines 的静态类


创建一个新的TextGenerationPipeline对象

创建一个新的TextGenerationPipeline。

参数类型描述
optionsTextPipelineConstructorArgs

一个用于实例化管道的对象。


textGenerationPipeline._call() : <code> TextGenerationPipelineCallback </code>

类型: TextGenerationPipeline 的实例方法


pipelines.ZeroShotClassificationPipeline

基于NLI任务的ModelForSequenceClassification训练的NLI零样本分类流程。等同于text-classification流程,但这些模型不需要硬编码的潜在类数量,它们可以在运行时选择。通常意味着速度较慢,但 灵活性要高得多

示例: 使用Xenova/mobilebert-uncased-mnli进行零样本分类。

const classifier = await pipeline('zero-shot-classification', 'Xenova/mobilebert-uncased-mnli');
const text = 'Last week I upgraded my iOS version and ever since then my phone has been overheating whenever I use your app.';
const labels = [ 'mobile', 'billing', 'website', 'account access' ];
const output = await classifier(text, labels);
// {
//   sequence: 'Last week I upgraded my iOS version and ever since then my phone has been overheating whenever I use your app.',
//   labels: [ 'mobile', 'website', 'billing', 'account access' ],
//   scores: [ 0.5562091040482018, 0.1843621307860853, 0.13942646639336376, 0.12000229877234923 ]
// }

示例: 使用Xenova/nli-deberta-v3-xsmall(多标签)进行零样本分类。

const classifier = await pipeline('zero-shot-classification', 'Xenova/nli-deberta-v3-xsmall');
const text = 'I have a problem with my iphone that needs to be resolved asap!';
const labels = [ 'urgent', 'not urgent', 'phone', 'tablet', 'computer' ];
const output = await classifier(text, labels, { multi_label: true });
// {
//   sequence: 'I have a problem with my iphone that needs to be resolved asap!',
//   labels: [ 'urgent', 'phone', 'computer', 'tablet', 'not urgent' ],
//   scores: [ 0.9958870956360275, 0.9923963400697035, 0.002333537946160235, 0.0015134138567598765, 0.0010699384208377163 ]
// }

类型pipelines 的静态类


new ZeroShotClassificationPipeline(options)

创建一个新的ZeroShotClassificationPipeline。

参数类型描述
optionsTextPipelineConstructorArgs

一个用于实例化管道的对象。


zeroShotClassificationPipeline.model : <code> any </code>

类型: ZeroShotClassificationPipeline 的实例属性


zeroShotClassificationPipeline._call() : <code> ZeroShotClassificationPipelineCallback </code>

类型: ZeroShotClassificationPipeline 的实例方法


pipelines.FeatureExtractionPipeline

无模型头特征提取流水线。此流水线从基础转换器中提取隐藏状态,可以用作下游任务的特征。

示例:使用 bert-base-uncased 运行特征提取(无池化/归一化)。

const extractor = await pipeline('feature-extraction', 'Xenova/bert-base-uncased', { revision: 'default' });
const output = await extractor('This is a simple test.');
// Tensor {
//   type: 'float32',
//   data: Float32Array [0.05939924716949463, 0.021655935794115067, ...],
//   dims: [1, 8, 768]
// }

示例: 使用 bert-base-uncased(带有池化/归一化)进行特征提取。

const extractor = await pipeline('feature-extraction', 'Xenova/bert-base-uncased', { revision: 'default' });
const output = await extractor('This is a simple test.', { pooling: 'mean', normalize: true });
// Tensor {
//   type: 'float32',
//   data: Float32Array [0.03373778983950615, -0.010106077417731285, ...],
//   dims: [1, 768]
// }

示例: 使用 sentence-transformers 模型计算嵌入。

const extractor = await pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2');
const output = await extractor('This is a simple test.', { pooling: 'mean', normalize: true });
// Tensor {
//   type: 'float32',
//   data: Float32Array [0.09094982594251633, -0.014774246141314507, ...],
//   dims: [1, 384]
// }

示例: 使用 sentence-transformers 模型计算二元嵌入。

const extractor = await pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2');
const output = await extractor('This is a simple test.', { pooling: 'mean', quantize: true, precision: 'binary' });
// Tensor {
//   type: 'int8',
//   data: Int8Array [49, 108, 24, ...],
//   dims: [1, 48]
// }

类型pipelines 的静态类


new FeatureExtractionPipeline(options)

创建一个新的 FeatureExtractionPipeline。

参数类型描述
optionsTextPipelineConstructorArgs

一个用于实例化管道的对象。


featureExtractionPipeline._call() : <code> FeatureExtractionPipelineCallback </code>

类型FeatureExtractionPipeline 的实例方法


pipelines.ImageFeatureExtractionPipeline

未使用模型头的图像特征提取管道。此管道从基本转换器提取隐藏状态,可以作为下游任务的特征使用。

示例: 使用 Xenova/vit-base-patch16-224-in21k 进行图像特征提取。

const image_feature_extractor = await pipeline('image-feature-extraction', 'Xenova/vit-base-patch16-224-in21k');
const url = 'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/cats.png';
const features = await image_feature_extractor(url);
// Tensor {
//   dims: [ 1, 197, 768 ],
//   type: 'float32',
//   data: Float32Array(151296) [ ... ],
//   size: 151296
// }

示例: 使用 Xenova/clip-vit-base-patch32 计算图像嵌入。

const image_feature_extractor = await pipeline('image-feature-extraction', 'Xenova/clip-vit-base-patch32');
const url = 'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/cats.png';
const features = await image_feature_extractor(url);
// Tensor {
//   dims: [ 1, 512 ],
//   type: 'float32',
//   data: Float32Array(512) [ ... ],
//   size: 512
// }

类型pipelines 的静态类


new ImageFeatureExtractionPipeline(options)

创建新的 ImageFeatureExtractionPipeline。

参数类型描述
optionsImagePipelineConstructorArgs

一个用于实例化管道的对象。


imageFeatureExtractionPipeline._call() : <code> ImageFeatureExtractionPipelineCallback </code>

类型ImageFeatureExtractionPipeline的实例方法


pipelines.AudioClassificationPipeline

使用任何AutoModelForAudioClassification进行音频分类的管道。此管道预测原始波形或音频文件的类别。

示例:使用Xenova/wav2vec2-large-xlsr-53-gender-recognition-librispeech执行音频分类。

const classifier = await pipeline('audio-classification', 'Xenova/wav2vec2-large-xlsr-53-gender-recognition-librispeech');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/jfk.wav';
const output = await classifier(url);
// [
//   { label: 'male', score: 0.9981542229652405 },
//   { label: 'female', score: 0.001845747814513743 }
// ]

示例:使用Xenova/ast-finetuned-audioset-10-10-0.4593执行音频分类并返回前4个结果。

const classifier = await pipeline('audio-classification', 'Xenova/ast-finetuned-audioset-10-10-0.4593');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/cat_meow.wav';
const output = await classifier(url, { topk: 4 });
// [
//   { label: 'Meow', score: 0.5617874264717102 },
//   { label: 'Cat', score: 0.22365376353263855 },
//   { label: 'Domestic animals, pets', score: 0.1141069084405899 },
//   { label: 'Animal', score: 0.08985692262649536 },
// ]

类型pipelines 的静态类


new AudioClassificationPipeline(options)

创建一个新的AudioClassificationPipeline。

参数类型描述
optionsAudioPipelineConstructorArgs

一个用于实例化管道的对象。


audioClassificationPipeline._call() : <code> AudioClassificationPipelineCallback </code>

类型: AudioClassificationPipeline类的实例方法


pipelines.ZeroShotAudioClassificationPipeline

使用ClapModel的零样本音频分类流水线。该流水线在提供音频和一组candidate_labels时预测音频的类别。

示例:使用Xenova/clap-htsat-unfused执行零样本音频分类。

const classifier = await pipeline('zero-shot-audio-classification', 'Xenova/clap-htsat-unfused');
const audio = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/dog_barking.wav';
const candidate_labels = ['dog', 'vaccum cleaner'];
const scores = await classifier(audio, candidate_labels);
// [
//   { score: 0.9993992447853088, label: 'dog' },
//   { score: 0.0006007603369653225, label: 'vaccum cleaner' }
// ]

类型pipelines 的静态类


new ZeroShotAudioClassificationPipeline(options)

创建一个新的 ZeroShotAudioClassificationPipeline。

参数类型描述
optionsTextAudioPipelineConstructorArgs

一个用于实例化管道的对象。


zeroShotAudioClassificationPipeline._call() : <code> ZeroShotAudioClassificationPipelineCallback </code>

类型: ZeroShotAudioClassificationPipeline 的实例方法


pipelines.AutomaticSpeechRecognitionPipeline

旨在从某些音频中提取包含的语言文本的管道。

示例: 转录英语。

const transcriber = await pipeline('automatic-speech-recognition', 'Xenova/whisper-tiny.en');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/jfk.wav';
const output = await transcriber(url);
// { text: " And so my fellow Americans ask not what your country can do for you, ask what you can do for your country." }

示例: 转录带时间戳的英语。

const transcriber = await pipeline('automatic-speech-recognition', 'Xenova/whisper-tiny.en');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/jfk.wav';
const output = await transcriber(url, { return_timestamps: true });
// {
//   text: " And so my fellow Americans ask not what your country can do for you, ask what you can do for your country."
//   chunks: [
//     { timestamp: [0, 8],  text: " And so my fellow Americans ask not what your country can do for you" }
//     { timestamp: [8, 11], text: " ask what you can do for your country." }
//   ]
// }

示例: 转录带词级时间戳的英语。

const transcriber = await pipeline('automatic-speech-recognition', 'Xenova/whisper-tiny.en');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/jfk.wav';
const output = await transcriber(url, { return_timestamps: 'word' });
// {
//   "text": " And so my fellow Americans ask not what your country can do for you ask what you can do for your country.",
//   "chunks": [
//     { "text": " And", "timestamp": [0, 0.78] },
//     { "text": " so", "timestamp": [0.78, 1.06] },
//     { "text": " my", "timestamp": [1.06, 1.46] },
//     ...
//     { "text": " for", "timestamp": [9.72, 9.92] },
//     { "text": " your", "timestamp": [9.92, 10.22] },
//     { "text": " country.", "timestamp": [10.22, 13.5] }
//   ]
// }

示例: 转录法语。

const transcriber = await pipeline('automatic-speech-recognition', 'Xenova/whisper-small');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/french-audio.mp3';
const output = await transcriber(url, { language: 'french', task: 'transcribe' });
// { text: " J'adore, j'aime, je n'aime pas, je déteste." }

示例: 将法语翻译成英语。

const transcriber = await pipeline('automatic-speech-recognition', 'Xenova/whisper-small');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/french-audio.mp3';
const output = await transcriber(url, { language: 'french', task: 'translate' });
// { text: " I love, I like, I don't like, I hate." }

示例: 转录/翻译超过 30 秒的音频。

const transcriber = await pipeline('automatic-speech-recognition', 'Xenova/whisper-tiny.en');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/ted_60.wav';
const output = await transcriber(url, { chunk_length_s: 30, stride_length_s: 5 });
// { text: " So in college, I was a government major, which means [...] So I'd start off light and I'd bump it up" }

类型pipelines 的静态类


new AutomaticSpeechRecognitionPipeline(options)

创建一个新的自动语音识别管道。

参数类型描述
optionsTextAudioPipelineConstructorArgs

一个用于实例化管道的对象。


automaticSpeechRecognitionPipeline._call() : <code> AutomaticSpeechRecognitionPipelineCallback </code>

类型:自动语音识别管道的实例方法


pipelines.ImageToTextPipeline

使用AutoModelForVision2Seq来进行图像到文本的pipeline。此pipeline对图像预测文本描述。

示例:使用Xenova/vit-gpt2-image-captioning生成图像描述。

const captioner = await pipeline('image-to-text', 'Xenova/vit-gpt2-image-captioning');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/cats.jpg';
const output = await captioner(url);
// [{ generated_text: 'a cat laying on a couch with another cat' }]

示例:使用Xenova/trocr-small-handwritten进行光学字符识别(OCR)。

const captioner = await pipeline('image-to-text', 'Xenova/trocr-small-handwritten');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/handwriting.jpg';
const output = await captioner(url);
// [{ generated_text: 'Mr. Brown commented icily.' }]

类型pipelines 的静态类


new ImageToTextPipeline(options)

创建一个新的图像到文本管道。

参数类型描述
options文本图像管道构造函数参数

一个用于实例化管道的对象。


imageToTextPipeline._call() : <code> ImageToTextPipelineCallback </code>

种类:`ImageToTextPipeline` 的实例方法


pipelines.ImageClassificationPipeline

使用任何 AutoModelForImageClassification 的图像分类管道。此管道预测图像的类别。

示例:对图像进行分类。

const classifier = await pipeline('image-classification', 'Xenova/vit-base-patch16-224');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/tiger.jpg';
const output = await classifier(url);
// [
//   { label: 'tiger, Panthera tigris', score: 0.632695734500885 },
// ]

示例:对图像进行分类并返回前 n 个类别。

const classifier = await pipeline('image-classification', 'Xenova/vit-base-patch16-224');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/tiger.jpg';
const output = await classifier(url, { topk: 3 });
// [
//   { label: 'tiger, Panthera tigris', score: 0.632695734500885 },
//   { label: 'tiger cat', score: 0.3634825646877289 },
//   { label: 'lion, king of beasts, Panthera leo', score: 0.00045060308184474707 },
// ]

示例:对图像进行分类并返回所有类别。

const classifier = await pipeline('image-classification', 'Xenova/vit-base-patch16-224');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/tiger.jpg';
const output = await classifier(url, { topk: 0 });
// [
//   { label: 'tiger, Panthera tigris', score: 0.632695734500885 },
//   { label: 'tiger cat', score: 0.3634825646877289 },
//   { label: 'lion, king of beasts, Panthera leo', score: 0.00045060308184474707 },
//   { label: 'jaguar, panther, Panthera onca, Felis onca', score: 0.00035465499968267977 },
//   ...
// ]

类型pipelines 的静态类


new ImageClassificationPipeline(options)

创建一个新的 ImageClassificationPipeline。

参数类型描述
optionsImagePipelineConstructorArgs

一个用于实例化管道的对象。


imageClassificationPipeline._call() : <code> ImageClassificationPipelineCallback </code>

类型:类方法,属于 ImageClassificationPipeline


pipelines.ImageSegmentationPipeline

使用任意 AutoModelForXXXSegmentation 的图像分割流水线。此流水线预测对象的掩码及其类。

示例: 使用 Xenova/detr-resnet-50-panoptic 执行图像分割。

const segmenter = await pipeline('image-segmentation', 'Xenova/detr-resnet-50-panoptic');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/cats.jpg';
const output = await segmenter(url);
// [
//   { label: 'remote', score: 0.9984649419784546, mask: RawImage { ... } },
//   { label: 'cat', score: 0.9994316101074219, mask: RawImage { ... } }
// ]

类型pipelines 的静态类


new ImageSegmentationPipeline(options)

创建一个新的 ImageSegmentationPipeline。

参数类型描述
optionsImagePipelineConstructorArgs

一个用于实例化管道的对象。


imageSegmentationPipeline._call() : <code> ImageSegmentationPipelineCallback </code>

类型:类方法,属于 ImageSegmentationPipeline


pipelines.ZeroShotImageClassificationPipeline

零样本图像分类流程。此流程在您提供图像和一组candidate_labels时预测图像的类别。

示例:使用 Xenova/clip-vit-base-patch32 进行零样本图像分类。

const classifier = await pipeline('zero-shot-image-classification', 'Xenova/clip-vit-base-patch32');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/tiger.jpg';
const output = await classifier(url, ['tiger', 'horse', 'dog']);
// [
//   { score: 0.9993917942047119, label: 'tiger' },
//   { score: 0.0003519294841680676, label: 'horse' },
//   { score: 0.0002562698791734874, label: 'dog' }
// ]

类型pipelines 的静态类


new ZeroShotImageClassificationPipeline(options)

创建一个新的ZeroShotImageClassificationPipeline。

参数类型描述
options文本图像管道构造函数参数

一个用于实例化管道的对象。


zeroShotImageClassificationPipeline._call() : <code> ZeroShotImageClassificationPipelineCallback </code>

类型ZeroShotImageClassificationPipeline 的实例方法


pipelines.ObjectDetectionPipeline

使用任何 AutoModelForObjectDetection 的目标检测流程。此流程可预测对象的边界框及其类别。

示例:使用 Xenova/detr-resnet-50 运行对象检测。

const detector = await pipeline('object-detection', 'Xenova/detr-resnet-50');
const img = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/cats.jpg';
const output = await detector(img, { threshold: 0.9 });
// [{
//   score: 0.9976370930671692,
//   label: "remote",
//   box: { xmin: 31, ymin: 68, xmax: 190, ymax: 118 }
// },
// ...
// {
//   score: 0.9984092116355896,
//   label: "cat",
//   box: { xmin: 331, ymin: 19, xmax: 649, ymax: 371 }
// }]

类型pipelines 的静态类


new ObjectDetectionPipeline(options)

创建一个新的ObjectDetectionPipeline。

参数类型描述
optionsImagePipelineConstructorArgs

一个用于实例化管道的对象。


objectDetectionPipeline._call() : <code> ObjectDetectionPipelineCallback </code>

类型:class ObjectDetectionPipeline 的实例方法


pipelines.ZeroShotObjectDetectionPipeline

零样本物体检测管道。当您提供一个图像和一组 candidate_labels 时,该管道预测物体的边界框。

示例:使用 Xenova/owlvit-base-patch32 进行零样本物体检测。

const detector = await pipeline('zero-shot-object-detection', 'Xenova/owlvit-base-patch32');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/astronaut.png';
const candidate_labels = ['human face', 'rocket', 'helmet', 'american flag'];
const output = await detector(url, candidate_labels);
// [
//   {
//     score: 0.24392342567443848,
//     label: 'human face',
//     box: { xmin: 180, ymin: 67, xmax: 274, ymax: 175 }
//   },
//   {
//     score: 0.15129457414150238,
//     label: 'american flag',
//     box: { xmin: 0, ymin: 4, xmax: 106, ymax: 513 }
//   },
//   {
//     score: 0.13649864494800568,
//     label: 'helmet',
//     box: { xmin: 277, ymin: 337, xmax: 511, ymax: 511 }
//   },
//   {
//     score: 0.10262022167444229,
//     label: 'rocket',
//     box: { xmin: 352, ymin: -1, xmax: 463, ymax: 287 }
//   }
// ]

示例:使用 Xenova/owlvit-base-patch32 进行零样本物体检测(返回前 4 个匹配项并设置阈值)。

const detector = await pipeline('zero-shot-object-detection', 'Xenova/owlvit-base-patch32');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/beach.png';
const candidate_labels = ['hat', 'book', 'sunglasses', 'camera'];
const output = await detector(url, candidate_labels, { topk: 4, threshold: 0.05 });
// [
//   {
//     score: 0.1606510728597641,
//     label: 'sunglasses',
//     box: { xmin: 347, ymin: 229, xmax: 429, ymax: 264 }
//   },
//   {
//     score: 0.08935828506946564,
//     label: 'hat',
//     box: { xmin: 38, ymin: 174, xmax: 258, ymax: 364 }
//   },
//   {
//     score: 0.08530698716640472,
//     label: 'camera',
//     box: { xmin: 187, ymin: 350, xmax: 260, ymax: 411 }
//   },
//   {
//     score: 0.08349756896495819,
//     label: 'book',
//     box: { xmin: 261, ymin: 280, xmax: 494, ymax: 425 }
//   }
// ]

类型pipelines 的静态类


new ZeroShotObjectDetectionPipeline(options)

创建一个新的ZeroShotObjectDetectionPipeline。

参数类型描述
options文本图像管道构造函数参数

一个用于实例化管道的对象。


zeroShotObjectDetectionPipeline._call() : <code> ZeroShotObjectDetectionPipelineCallback </code>

类型: ZeroShotObjectDetectionPipeline 的实例方法


pipelines.DocumentQuestionAnsweringPipeline

使用任何 AutoModelForDocumentQuestionAnswering 的文档问答管道。输入/输出类似于(抽取式)问答管道;然而,此管道以图像(和可选的 OCR 文字/框)作为输入,而不是文本上下文。

示例:使用 Xenova/donut-base-finetuned-docvqa 拟回答文档中的问题。

const qa_pipeline = await pipeline('document-question-answering', 'Xenova/donut-base-finetuned-docvqa');
const image = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/invoice.png';
const question = 'What is the invoice number?';
const output = await qa_pipeline(image, question);
// [{ answer: 'us-001' }]

类型pipelines 的静态类


new DocumentQuestionAnsweringPipeline(options)

创建一个新的 DocumentQuestionAnsweringPipeline 对象。

参数类型描述
options文本图像管道构造函数参数

一个用于实例化管道的对象。


documentQuestionAnsweringPipeline._call() : <code> DocumentQuestionAnsweringPipelineCallback </code>

类型: DocumentQuestionAnsweringPipeline 的实例方法


pipelines.TextToAudioPipeline

使用任意 AutoModelForTextToWaveformAutoModelForTextToSpectrogram 的文本到音频生成管道。该管道将输入文本和可选的其它条件输入生成音频文件。

示例: 使用 Xenova/speecht5_tts 生成文本音频。

const synthesizer = await pipeline('text-to-speech', 'Xenova/speecht5_tts', { quantized: false });
const speaker_embeddings = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/speaker_embeddings.bin';
const out = await synthesizer('Hello, my dog is cute', { speaker_embeddings });
// {
//   audio: Float32Array(26112) [-0.00005657337896991521, 0.00020583874720614403, ...],
//   sampling_rate: 16000
// }

然后您可以利用 wavefile 包将音频保存到 .wav 文件。

import wavefile from 'wavefile';
import fs from 'fs';

const wav = new wavefile.WaveFile();
wav.fromScratch(1, out.sampling_rate, '32f', out.audio);
fs.writeFileSync('out.wav', wav.toBuffer());

示例: 使用 Xenova/mms-tts-fra 进行多语言语音生成。完整支持的(共1107种)语言列表请见此处

const synthesizer = await pipeline('text-to-speech', 'Xenova/mms-tts-fra');
const out = await synthesizer('Bonjour');
// {
//   audio: Float32Array(23808) [-0.00037693005288019776, 0.0003325853613205254, ...],
//   sampling_rate: 16000
// }

类型pipelines 的静态类


new TextToAudioPipeline(options)

创建一个新的 TextToAudioPipeline。

参数类型描述
optionsTextToAudioPipelineConstructorArgs

一个用于实例化管道的对象。


textToAudioPipeline._call() : TextToAudioPipelineCallback

类型: TextToAudioPipeline 的实例方法


pipelines.ImageToImagePipeline

使用任何 AutoModelForImageToImage 的图像到图像管道。该管道根据之前的图像输入生成图像。

示例: 使用 Xenova/swin2SR-classical-sr-x2-64 进行超分辨率

const upscaler = await pipeline('image-to-image', 'Xenova/swin2SR-classical-sr-x2-64');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/butterfly.jpg';
const output = await upscaler(url);
// RawImage {
//   data: Uint8Array(786432) [ 41, 31, 24,  43, ... ],
//   width: 512,
//   height: 512,
//   channels: 3
// }

类型pipelines 的静态类


new ImageToImagePipeline(options)

创建一个新的 ImageToImagePipeline。

参数类型描述
optionsImagePipelineConstructorArgs

一个用于实例化管道的对象。


imageToImagePipeline._call() : ImageToImagePipelineCallback

类型: ImageToImagePipeline 的实例方法


pipelines.DepthEstimationPipeline

使用任何 AutoModelForDepthEstimation 的深度估计管道。此管道预测图像的深度。

示例: 使用 Xenova/dpt-hybrid-midas 进行深度估计

const depth_estimator = await pipeline('depth-estimation', 'Xenova/dpt-hybrid-midas');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/cats.jpg';
const out = await depth_estimator(url);
// {
//   predicted_depth: Tensor {
//     dims: [ 384, 384 ],
//     type: 'float32',
//     data: Float32Array(147456) [ 542.859130859375, 545.2833862304688, 546.1649169921875, ... ],
//     size: 147456
//   },
//   depth: RawImage {
//     data: Uint8Array(307200) [ 86, 86, 86, ... ],
//     width: 640,
//     height: 480,
//     channels: 1
//   }
// }

类型pipelines 的静态类


new DepthEstimationPipeline(options)

创建一个新的 DepthEstimationPipeline。

参数类型描述
optionsImagePipelineConstructorArgs

一个用于实例化管道的对象。


depthEstimationPipeline._call() : <code> DepthEstimationPipelineCallback </code>

类型: DepthEstimationPipeline 的实例方法


pipelines.pipeline(task, [model], [options]) ⇒ <code> * </code>

构建 Pipeline 对象的实用工厂方法。

类型: pipelines 的静态方法
返回值: * - 指定任务的关键管对象。
抛出:

  • Error:如果请求不支持的管道。
参数类型默认值描述
taskT

定义返回哪个管道的任务。当前接受的任务包括

  • "audio-classification":将返回 AudioClassificationPipeline
  • "automatic-speech-recognition":将返回 AutomaticSpeechRecognitionPipeline
  • "depth-estimation":将返回 DepthEstimationPipeline
  • "document-question-answering":将返回 DocumentQuestionAnsweringPipeline
  • "feature-extraction":将返回 FeatureExtractionPipeline
  • "fill-mask":将返回 FillMaskPipeline
  • "image-classification":将返回 ImageClassificationPipeline
  • "image-segmentation":将返回 ImageSegmentationPipeline
  • "image-to-text":将返回 ImageToTextPipeline
  • "object-detection":将返回 ObjectDetectionPipeline
  • "question-answering":将返回 QuestionAnsweringPipeline
  • "summarization":将返回 SummarizationPipeline
  • "text2text-generation":将返回 Text2TextGenerationPipeline
  • "text-classification" (别名 "sentiment-analysis" 可用):将返回 TextClassificationPipeline
  • "text-generation":将返回 TextGenerationPipeline
  • "token-classification" (别名 "ner" 可用):将返回 TokenClassificationPipeline
  • "translation":将返回 TranslationPipeline
  • "translation_xx_to_yy":将返回 TranslationPipeline
  • "zero-shot-classification":将返回 ZeroShotClassificationPipeline
  • "zero-shot-audio-classification":将返回 ZeroShotAudioClassificationPipeline
  • "zero-shot-image-classification":将返回 ZeroShotImageClassificationPipeline
  • "zero-shot-object-detection":将返回 ZeroShotObjectDetectionPipeline
[model]字符串null

要使用的预训练模型的名称。如果未指定,将使用任务的默认模型。

[options]*

管道的可选参数。


pipelines~x[1] : <code> 数字 </code>

类型: pipelines 的内部属性


pipelines~ImagePipelineInputs : <code> string </code> | <code> RawImage </code> | <code> URL </code>

类型: pipelines 的内部typedef


pipelines~AudioPipelineInputs : <code> string </code> | <code> URL </code> | <code> Float32Array </code> | <code> Float64Array </code>

类型: pipelines 的内部typedef


pipelines~BoundingBox : <code> Object </code>

类型: pipelines 的内部typedef
属性

名称类型描述
xmin数字

边界框的最小x坐标。

ymin数字

边界框的最小y坐标。

xmax数字

边界框的最大x坐标。

ymax数字

边界框的最大y坐标。


pipelines~Disposable ⇤ <code> Promise. < void > </code>

类型: pipelines 的内部typedef
返回值: Promise.<void> - 当项目已被销毁时解决的 Promise。
属性

名称类型描述
disposeDisposeType

当管线已被销毁时解决的 Promise。


pipelines~TextPipelineConstructorArgs : <code> Object </code>

用于实例化基于文本的管道的对象。

类型: pipelines 的内部typedef
属性

名称类型描述
task字符串

pipelines的任务。用于指定子任务。

model预训练模型

pipeline使用的模型。

tokenizer预训练分词器

管道使用的分词器。


pipelines~ImagePipelineConstructorArgs : <code> Object </code>

用于实例化基于音频的管道的对象。

类型: pipelines 的内部typedef
属性

名称类型描述
task字符串

pipelines的任务。用于指定子任务。

model预训练模型

pipeline使用的模型。

processor处理器

管道使用的处理器。


pipelines~TextImagePipelineConstructorArgs : <code> Object </code>

用于创建文本和音频管道的对象。

类型: pipelines 的内部typedef
属性

名称类型描述
task字符串

pipelines的任务。用于指定子任务。

model预训练模型

pipeline使用的模型。

tokenizer预训练分词器

管道使用的分词器。

processor处理器

管道使用的处理器。


pipelines~TextClassificationPipelineType ⇒ <代码> Promise. < (TextClassificationOutput|Array < TextClassificationOutput > ) > </代码>

特定于文本分类管道的参数。

类型: pipelines 的内部typedef
返回值: Promise.<(TextClassificationOutput|Array<TextClassificationOutput>)> - 包含预测标签和分数的数组或对象。

参数类型描述
textsstring | Array<string>

待分类的输入文本。

[options]TextClassificationPipelineOptions

用于文本分类的选项。

属性

名称类型默认值描述
label字符串

预测的标签。

score数字

相应的概率。

[topk]数字1

返回的前N个最高预测。


pipelines~TokenClassificationPipelineType ⇒ <代码> Promise. < (TokenClassificationOutput|Array < TokenClassificationOutput > ) > </代码>

特定于标记分类管道的参数。

类型: pipelines 的内部typedef
返回值: Promise.<(TokenClassificationOutput|Array<TokenClassificationOutput>)> - 结果。

参数类型描述
textsstring | Array<string>

用于标记分类的一个或多个文本(或一组文本列表)。

[options]TokenClassificationPipelineOptions

用于标记分类的选项。

属性

名称类型描述
word字符串

被分类的标记/单词。这是通过解码所选标记获得的。

score数字

entity的相应概率。

entity字符串

对该标记/单词预测的实体。

index数字

在句子中对应标记的索引。

[start]数字

对应实体的句子开始索引。

[end]数字

对应实体的句子结束索引。

[ignore_labels]Array.<string>

要忽略的标签列表。


pipelines~QuestionAnsweringPipelineType ⇒ <code> Promise. < (QuestionAnsweringOutput|Array < QuestionAnsweringOutput > ) > </code>

问答pipeline的特定参数。

类型: pipelines 的内部typedef
返回值: Promise.<(QuestionAnsweringOutput|Array<QuestionAnsweringOutput>)> - 包含预测答案和得分的数组或对象。

参数类型描述
questionstring | Array<string>

一个或多个问题(必须与 context 参数一起使用)。

contextstring | Array<string>

与问题相关联的一个或多个上下文(必须与 question 参数一起使用)。

[options]QuestionAnsweringPipelineOptions

用于问答的选项。

属性

名称类型默认值描述
score数字

答案的概率。

[start]数字

答案字符在输入分词中的起始索引。

[end]数字

答案字符在输入分词中的结束索引。

answer字符串

问题的答案。

[topk]数字1

要返回的最高预测答案的数量。


pipelines~FillMaskPipelineType ⇒ <code> Promise. < (FillMaskOutput|Array < FillMaskOutput > ) > </code>

填充掩码pipeline的特定参数。

类型: pipelines 的内部typedef
返回值: Promise.<(FillMaskOutput|Array<FillMaskOutput>)> - 一个包含得分、预测token、预测token字符串以及填充预测token的序列的对象数组,或这样的数组数组(每个输入文本一个)。如果仅提供一个输入文本,输出将是一个对象数组。
抛出:

  • Error - 当掩码token未在输入文本中找到时。
参数类型描述
textsstring | Array<string>

一个或多个带有掩码token的文本(或一个提示列表)。

[options]FillMaskPipelineOptions

用于掩码语言模型的选项。

属性

名称类型默认值描述
sequence字符串

带有掩码token预测的对应输入。

score数字

相应的概率。

token数字

预测的token ID(替换掩码的token)。

token_str字符串

预测的token(替换掩码的token)。

[topk]数字5

传递时,将覆盖要返回的预测数量。


pipelines~Text2TextGenerationPipelineType ⇒ <code> Promise. < (Text2TextGenerationOutput|Array < Text2TextGenerationOutput > ) > </code>

类型: pipelines 的内部typedef

参数类型描述
textsstring | Array<string>

编码器输入文本。

[options]*

传递给模型 generate 方法的额外关键字参数。

属性

名称类型描述
生成的文本字符串

生成的文本。


pipelines~SummarizationPipelineType ⇒ <code> Promise. < (SummarizationOutput|Array < SummarizationOutput > ) > </code>

类型: pipelines 的内部typedef

参数类型描述
textsstring | Array<string>

要总结的文章(或文章列表)。

[options]*

传递给模型 generate 方法的额外关键字参数。

属性

名称类型描述
摘要文本字符串

摘要文本。


pipelines~TranslationPipelineType ⇒ <code> Promise. < (TranslationOutput|Array < TranslationOutput > ) > </code>

类型: pipelines 的内部typedef

参数类型描述
textsstring | Array<string>

要翻译的文本。

[options]*

传递给模型 generate 方法的额外关键字参数。

属性

名称类型描述
翻译后的文本字符串

翻译后的文本。


pipelines~TextGenerationPipelineType ⇒ Promise. < (TextGenerationOutput|Array < TextGenerationOutput > ) > </code>

针对文本生成管道的特定参数。

类型: pipelines 的内部typedef
返回: Promise.<(TextGenerationOutput|Array<TextGenerationOutput>)> - 包含生成文本的数组或对象。

参数类型描述
textsstring | Array<string> | Chat | Array<Chat>

一个或多个要完成的提示(或一个提示列表)。

[options]TextGenerationConfig

传递给模型 generate 方法的额外关键字参数。

属性

名称类型默认值描述
生成的文本string | Chat

生成的文本。

[add_special_tokens]boolean

在序列标记时是否添加特殊令牌。

[return_full_text]booleantrue

如果设置为false,则仅返回添加的文本,否则返回全文。


pipelines~ZeroShotClassificationPipelineType ⇒ Promise. < (ZeroShotClassificationOutput|Array < ZeroShotClassificationOutput > ) > </code>

针对零样本分类管道的特定参数。

类型: pipelines 的内部typedef
返回: Promise.<(ZeroShotClassificationOutput|Array<ZeroShotClassificationOutput>)> - 包含预测标签和得分的数组或对象。

参数类型描述
textsstring | Array<string>

要分类的序列(序列长度过长将被截断)。

candidate_labelsstring | Array<string>

将每个序列分类到其中的可能的类标签集合。可以是单个标签,逗号分隔的标签字符串或标签列表。

[options]ZeroShotClassificationPipelineOptions

用于零样本分类的选项。

属性

名称类型默认值描述
sequence字符串

这是输出的序列。

labelsArray.<string>

按可能性顺序排序的标签。

scoresArray.<number>

每个标签的概率。

[hypothesis_template]字符串""This example is {}.""

将每个候选标签转换为NLI-style假设的模板。候选标签将替换{ placeholder。

[multi_label]booleanfalse

是否多个候选标签可以被同时视为正确。如果设置为false,分数会被归一化,使得每个序列的标签可能性之和为1。如果设置为true,标签被视为彼此独立,通过计算蕴涵分数与矛盾分数的softmax来对每个候选进行归一化概率。


pipelines~FeatureExtractionPipelineType ⇒ <code> Promise. < Tensor > </code>

针对特征提取管道的特定参数。

类型: pipelines 的内部typedef
返回值: Promise.<Tensor> - 模型计算出的特征。

参数类型描述
textsstring | Array<string>

一个或多个文本(或一组文本)以获取其特征。

[options]FeatureExtractionPipelineOptions

用于特征提取的选项。

属性

名称类型默认值描述
[pooling]'none' | 'mean' | 'cls'"none"

要使用的池化方法。

[normalize]booleanfalse

是否对最后一个维度的嵌入进行归一化。

[quantize]booleanfalse

是否对嵌入进行量化。

[precision]'binary' | 'ubinary''binary'

用于量化的精度。


pipelines~ImageFeatureExtractionPipelineType ⇒ <code> Promise. < Tensor > </code>

针对图像特征提取管道的特定参数。

类型: pipelines 的内部typedef
返回值: Promise.<Tensor> - 模型计算出的图像特征。

参数类型描述
imagesImagePipelineInputs

一个或多个图像(或一组图像)以获取其特征。

[options]ImageFeatureExtractionPipelineOptions

用于图像特征提取的选项。

属性

名称类型默认值描述
[pool]boolean

是否返回池化后的输出。如果设置为false,模型将返回原始隐藏状态。


pipelines~AudioClassificationPipelineType ⇒ <code> Promise. < (AudioClassificationOutput|Array < AudioClassificationOutput > ) > </code>

音频分类管道特定的参数。

类型: pipelines 的内部typedef
返回值: Promise.<(AudioClassificationOutput|Array<AudioClassificationOutput>)> - 包含预测标签和分数的数组或对象。

参数类型描述
音频AudioPipelineInputs

要分类的音频文件。输入可以是

  • stringURL,表示音频文件的文件名/URL。文件将使用 AudioContext API 以处理器采样率读取,获取波形。如果 AudioContext 不可用,您应将原始波形作为形状为 (n, )Float32Array 传递。
  • 形状为 (n, )Float32ArrayFloat64Array,表示正确采样率下的原始音频(不会进行进一步检查)。
[options]AudioClassificationPipelineOptions

用于音频分类的选项。

属性

名称类型默认值描述
label字符串

预测的标签。

score数字

相应的概率。

[topk]数字

管道将返回的前N个标签数量。如果提供的数字为 null 或高于模型配置中可用的标签数量,则默认为标签数量。


pipelines~ZeroShotAudioClassificationPipelineType ⇒ <code> Promise. < (Array < ZeroShotAudioClassificationOutput > |Array < Array < ZeroShotAudioClassificationOutput > > ) > </code>

零样本音频分类管道特定的参数。

类型: pipelines 的内部typedef
返回值: Promise.<(Array<ZeroShotAudioClassificationOutput>|Array<Array<ZeroShotAudioClassificationOutput>>)> - 包含预测标签和分数的对象数组。

参数类型描述
音频AudioPipelineInputs

要分类的音频文件。输入可以是

  • stringURL,表示音频文件的文件名/URL。文件将使用 AudioContext API 以处理器采样率读取,获取波形。如果 AudioContext 不可用,您应将原始波形作为形状为 (n, )Float32Array 传递。
  • 形状为 (n, )Float32ArrayFloat64Array,表示正确采样率下的原始音频(不会进行进一步检查)。
candidate_labelsArray.<string>

此音频的候选标签。

[options]ZeroShotAudioClassificationPipelineOptions

用于零样本音频分类的选项。

属性

名称类型默认值描述
label字符串

模型识别的标签。它是以下建议之一 candidate_label

score数字

模型为该标签分配的分数(介于0和1之间)。

[hypothesis_template]字符串“这是一个 {} 的声音。”

candidate_labels 一起使用的句子,以替换占位符并尝试通过使用 logits_per_audio 估计其可能性来进行音频分类。


pipelines~ChunkCallback : <code> function </code>

类型: pipelines 的内部typedef

参数类型描述
ChunkCallbackItem

要处理的块。


pipelines~Chunk : <code> 对象 </code>

类型: pipelines 的内部typedef
属性

名称类型描述
时间戳*

块的开始和结束时间戳(秒)。

文本字符串

识别出的文本。


pipelines~AutomaticSpeechRecognitionPipelineType ⇒ <code> Promise. < (AutomaticSpeechRecognitionOutput|Array < AutomaticSpeechRecognitionOutput > ) > </code>

自动语音识别管道的特定参数。

类型: pipelines 的内部typedef
返回: Promise.<(AutomaticSpeechRecognitionOutput|Array<AutomaticSpeechRecognitionOutput>)> - 包含转录文本和可选的时间戳的对象,如果 return_timestampstrue,则包含时间戳。

参数类型描述
音频AudioPipelineInputs

要转录的输入音频文件。输入为:

  • stringURL,表示音频文件的文件名/URL。文件将使用 AudioContext API 以处理器采样率读取,获取波形。如果 AudioContext 不可用,您应将原始波形作为形状为 (n, )Float32Array 传递。
  • 形状为 (n, )Float32ArrayFloat64Array,表示正确采样率下的原始音频(不会进行进一步检查)。
[options]AutomaticSpeechRecognitionConfig

传递给模型 generate 方法的额外关键字参数。

属性

名称类型描述
文本字符串

识别出的文本。

[chunks]Array.<Chunk>

当使用 return_timestamps 时,chunks 将成为包含模型识别的所有各种文.splitext

[kwargs.return_timestamps]boolean | 'word'

是否返回时间戳。默认为 false

[kwargs.chunk_length_s]数字

处理音频块的时间长度(秒)。默认为 0(无分块)。

[kwargs.stride_length_s]数字

连续音频块之间重叠的长度(秒)。如果没有提供,则默认为 chunk_length_s / 6

[kwargs.chunk_callback]ChunkCallback

用于每个处理的块的回调函数。

[kwargs.force_full_sequences]boolean

是否强制输出完整序列。默认为 false

[kwargs.language]字符串

源语言。默认为null,表示应自动检测。如果已知源语言,可以使用它来潜在地提高性能。

[kwargs.task]字符串

要执行的任务。默认为null,表示应自动检测。

[kwargs.forced_decoder_ids]数组。<数组 <数字>>

一个整数对列表,表示生成索引到令牌索引的映射,在采样之前将强制映射。例如,[[1, 123]] 表示第二个生成的令牌将是索引为 123 的令牌。

[num_frames]数字

输入音频中的帧数。


pipelines~ImageToTextPipelineType ⇒ <code> Promise. < (ImageToTextOutput|Array < ImageToTextOutput > ) > </code>

类型: pipelines 的内部typedef
返回值: Promise.<(ImageToTextOutput|Array<ImageToTextOutput>)> - 包含生成的文本(或文本数组)的对象。

参数类型描述
textsImagePipelineInputs

需要加注解的图像。

[options]*

传递给模型 generate 方法的额外关键字参数。

属性

名称类型描述
生成的文本字符串

生成的文本。


pipelines~ImageClassificationPipelineType ⇒ <code> Promise. < (ImageClassificationOutput|Array < ImageClassificationOutput > ) > </code>

针对图像分类管道的特定参数。

类型: pipelines 的内部typedef
返回值: Promise.<(ImageClassificationOutput|Array<ImageClassificationOutput>)> - 包含预测标签和得分的数组或对象。

参数类型描述
imagesImagePipelineInputs

要分类的输入图像(或图像数组)。

[options]ImageClassificationPipelineOptions

用于图像分类的选项。

属性

名称类型默认值描述
label字符串

模型识别的标签。

score数字

模型对该标签赋予的分数。

[topk]数字1

管道将返回的前几个标签数量。


pipelines~ImageSegmentationPipelineType ⇔ <code> Promise. < Array < ImageSegmentationPipelineOutput > > </code>

图片分割流程特有的参数。

类型: pipelines 的内部typedef
返回: Promise.<Array<ImageSegmentationPipelineOutput>> - 带注释的段落。

参数类型描述
imagesImagePipelineInputs

输入图像。

[options]ImageSegmentationPipelineOptions

用于图片分割的选项。

属性

名称类型默认值描述
label字符串

段落的标签。

scorenumber | null

段落的分数。

mask原始图像

段落的掩码。

[threshold]数字0.5

过滤预测掩码的概率阈值。

[mask_threshold]数字0.5

将预测掩码转换为二进制值时使用的阈值。

[overlap_mask_area_threshold]数字0.8

去除小且不连贯段落的掩码重叠阈值。

[subtask]null | string

要执行的分割任务。根据模型的能力,可以是 [panopticinstancesemantic] 之一。如果没有设置,管道将尝试解决(按此顺序)。

[label_ids_to_fuse]Array.<number>

要融合的标签 ID 列表。如果没有设置,不融合任何标签。

[target_sizes]数组。<数组 <数字>>

输入图像的目标尺寸列表。如果没有设置,使用原始图像尺寸。


pipelines~ZeroShotImageClassificationPipelineType ⇔ <code> Promise. < (Array < ZeroShotImageClassificationOutput > |Array < Array < ZeroShotImageClassificationOutput > > ) > </code>

零样本图像分类流程特有的参数。

类型: pipelines 的内部typedef
返回: Promise.<(Array<ZeroShotImageClassificationOutput>|Array<Array<ZeroShotImageClassificationOutput>>)> - 一个包含预测标签和分数的对象数组。

参数类型描述
imagesImagePipelineInputs

输入图像。

candidate_labelsArray.<string>

此图像的候选标签。

[options]ZeroShotImageClassificationPipelineOptions

用于零样本图像分类的选项。

属性

名称类型默认值描述
label字符串

模型识别的标签。它是以下建议之一 candidate_label

score数字

模型为该标签分配的分数(介于0和1之间)。

[hypothesis_template]字符串"这是一张 {} 的照片"

candidate_labels 一起使用的句子,尝试通过使用候选标签替换占位符来进行图像分类。然后使用 logits_per_image 进行可能性估计。


pipelines~ObjectDetectionPipelineType ⇒ <code> Promise. < (ObjectDetectionPipelineOutput|Array < ObjectDetectionPipelineOutput > ) > </code>

对象检测管道专属参数。

类型: pipelines 的内部typedef
返回值: Promise.<(ObjectDetectionPipelineOutput|Array<ObjectDetectionPipelineOutput>)> - 对象列表或对象列表的列表。

参数类型描述
imagesImagePipelineInputs

输入图像。

[options]ObjectDetectionPipelineOptions

用于对象检测的选项。

属性

名称类型默认值描述
label字符串

模型所识别的类标签。

score数字

模型对该标签赋予的分数。

边界框

检测对象在图像原始尺寸中的边界框,或者如果设置了百分比为 true,则按百分比表示。

[threshold]数字0.9

用于通过分数过滤框的阈值。

[percentage]booleanfalse

是否以百分比(true)或像素(false)的形式返回框的坐标。


pipelines~ZeroShotObjectDetectionPipelineType ⇒ <code> Promise. < (Array < ZeroShotObjectDetectionOutput > |Array < Array < ZeroShotObjectDetectionOutput > > ) > </code>

零样本目标检测管道的专属参数。

类型: pipelines 的内部typedef
返回值: Promise.<(Array<ZeroShotObjectDetectionOutput>|Array<Array<ZeroShotObjectDetectionOutput>>)> - 包含预测标签、分数和边界框的对象数组。

参数类型描述
imagesImagePipelineInputs

输入图像。

candidate_labelsArray.<string>

模型应在图像中识别的内容。

[options]ZeroShotObjectDetectionPipelineOptions

用于零样本对象检测的选项。

属性

名称类型默认值描述
label字符串

对应于找到的对象的文本查询。

score数字

对象的分数(介于 0 和 1 之间)。

边界框

检测对象在图像原始尺寸中的边界框,如果设置了percentage为 true,则按百分比表示。

[threshold]数字0.1

做出预测所需的概率。

[topk]数字

管道将返回的前 top 预测次数。如果提供的数字为 null 或高于可用预测数量,则默认为预测数量。

[percentage]booleanfalse

是否以百分比(true)或像素(false)的形式返回框的坐标。


pipelines~DocumentQuestionAnsweringPipelineType ⇒ <code> Promise. < (DocumentQuestionAnsweringOutput|Array < DocumentQuestionAnsweringOutput > ) > </code>

类型: pipelines 的内部typedef
返回值: Promise.<(DocumentQuestionAnsweringOutput|Array<DocumentQuestionAnsweringOutput>)> - 包含答案的对象(或对象数组)。

参数类型描述
图像ImageInput

要使用的文档图像。

question字符串

要向文档提出的问题。

[options]*

传递给模型 generate 方法的额外关键字参数。

属性

名称类型描述
answer字符串

生成的文本。


pipelines~TextToAudioPipelineConstructorArgs : <code> Object </code>

类型: pipelines 的内部typedef
属性

名称类型描述
[音频合成器]预训练模型

用于该管道的音频合成器(如果模型使用它)。如果没有提供,则使用默认的 HifiGan 音频合成器。


pipelines~TextToAudioPipelineType ⇒ <code> Promise. < TextToAudioOutput > </code>

针对文本到音频管道的特定参数。

类型: pipelines 的内部typedef
返回值: Promise.<TextToAudioOutput> - 包含生成的音频和采样率的对象。

参数类型描述
textsstring | Array<string>

要生成的文本。

optionsTextToAudioPipelineOptions

传递给模型生成/前向方法的参数。

属性

名称类型默认值描述
音频Float32Array

生成的音频波形。

采样率数字

生成的音频波形的采样率。

[说话人嵌入]Tensor | Float32Array | string | URL

需要时使用的说话人嵌入。


pipelines~ImageToImagePipelineType ⇒ <code> Promise. < (RawImage|Array < RawImage > ) > </code>

类型: pipelines 的内部typedef
返回值: Promise.<(RawImage|Array<RawImage>)> - 转换后的图像或图像列表。

参数类型描述
imagesImagePipelineInputs

要转换的图像。


pipelines~DepthEstimationPipelineType ⇒ <code> Promise. < (DepthEstimationPipelineOutput|Array < DepthEstimationPipelineOutput > ) > </code>

类型: pipelines 的内部typedef
返回值: Promise.<(DepthEstimationPipelineOutput|Array<DepthEstimationPipelineOutput>)> - 包含结果(的结果)的图像或图像列表。

参数类型描述
imagesImagePipelineInputs

计算深度的图像。

属性

名称类型描述
预测深度张量

模型预测的原始深度图。

深度原始图像

作为图像的处理后的深度图(与输入图像相同的大小)。


pipelines~AllTasks : <code> * </code>

所有可能的管道类型。

类型: pipelines 的内部typedef


< > 在GitHub更新