Transformers.js documentation

pipelines

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

pipelines

Pipelines provide a high-level, easy to use, API for running machine learning models.

Example: Instantiate pipeline using the pipeline function.

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>

The Pipeline class is the class from which all pipelines inherit. Refer to this class for methods shared across different pipelines.

Kind: static class of pipelines
Extends: Callable


new Pipeline(options)

Create a new Pipeline.

ParamTypeDefaultDescription
optionsObject

An object containing the following properties:

[options.task]string

The task of the pipeline. Useful for specifying subtasks.

[options.model]PreTrainedModel

The model used by the pipeline.

[options.tokenizer]PreTrainedTokenizer

The tokenizer used by the pipeline (if any).

[options.processor]Processor

The processor used by the pipeline (if any).


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

Kind: instance method of Pipeline


pipelines.TextClassificationPipeline

Text classification pipeline using any ModelForSequenceClassification.

Example: Sentiment-analysis w/ 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 }]

Example: Multilingual sentiment-analysis w/ Xenova/bert-base-multilingual-uncased-sentiment (and return top 5 classes).

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 }
// ]

Example: Toxic comment classification w/ Xenova/toxic-bert (and return all classes).

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 }
// ]

Kind: static class of pipelines


new TextClassificationPipeline(options)

Create a new TextClassificationPipeline.

ParamTypeDescription
optionsTextPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of TextClassificationPipeline


pipelines.TokenClassificationPipeline

Named Entity Recognition pipeline using any ModelForTokenClassification.

Example: Perform named entity recognition with 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' }
// ]

Example: Perform named entity recognition with Xenova/bert-base-NER (and return all labels).

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' }
// ]

Kind: static class of pipelines


new TokenClassificationPipeline(options)

Create a new TokenClassificationPipeline.

ParamTypeDescription
optionsTextPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of TokenClassificationPipeline


pipelines.QuestionAnsweringPipeline

Question Answering pipeline using any ModelForQuestionAnswering.

Example: Run question answering with 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
// }

Kind: static class of pipelines


new QuestionAnsweringPipeline(options)

Create a new QuestionAnsweringPipeline.

ParamTypeDescription
optionsTextPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of QuestionAnsweringPipeline


pipelines.FillMaskPipeline

Masked language modeling prediction pipeline using any ModelWithLMHead.

Example: Perform masked language modelling (a.k.a. “fill-mask”) with 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.' }
// ]

Example: Perform masked language modelling (a.k.a. “fill-mask”) with Xenova/bert-base-cased (and return top result).

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.' }]

Kind: static class of pipelines


new FillMaskPipeline(options)

Create a new FillMaskPipeline.

ParamTypeDescription
optionsTextPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of FillMaskPipeline


pipelines.Text2TextGenerationPipeline

Text2TextGenerationPipeline class for generating text using a model that performs text-to-text generation tasks.

Example: Text-to-text generation w/ 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." }]

Kind: static class of pipelines


new Text2TextGenerationPipeline(options)

Create a new Text2TextGenerationPipeline.

ParamTypeDescription
optionsTextPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance property of Text2TextGenerationPipeline


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

Kind: instance method of Text2TextGenerationPipeline


pipelines.SummarizationPipeline

A pipeline for summarization tasks, inheriting from Text2TextGenerationPipeline.

Example: Summarization w/ 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.' }]

Kind: static class of pipelines


new SummarizationPipeline(options)

Create a new SummarizationPipeline.

ParamTypeDescription
optionsTextPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance property of SummarizationPipeline


pipelines.TranslationPipeline

Translates text from one language to another.

Example: Multilingual translation w/ Xenova/nllb-200-distilled-600M.

See here for the full list of languages and their corresponding codes.

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.' }]

Example: Multilingual translation w/ Xenova/m2m100_418M.

See here for the full list of languages and their corresponding codes.

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.' }]

Example: Multilingual translation w/ Xenova/mbart-large-50-many-to-many-mmt.

See here for the full list of languages and their corresponding codes.

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.' }]

Kind: static class of pipelines


new TranslationPipeline(options)

Create a new TranslationPipeline.

ParamTypeDescription
optionsTextPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance property of TranslationPipeline


pipelines.TextGenerationPipeline

Language generation pipeline using any ModelWithLMHead or ModelForCausalLM. This pipeline predicts the words that will follow a specified text prompt. NOTE: For the full list of generation parameters, see GenerationConfig.

Example: Text generation with Xenova/distilgpt2 (default settings).

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." }]

Example: Text generation with Xenova/distilgpt2 (custom settings).

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"
// }]

Example: Run code generation with 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'
// }]

Kind: static class of pipelines


new TextGenerationPipeline(options)

Create a new TextGenerationPipeline.

ParamTypeDescription
optionsTextPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of TextGenerationPipeline


pipelines.ZeroShotClassificationPipeline

NLI-based zero-shot classification pipeline using a ModelForSequenceClassification trained on NLI (natural language inference) tasks. Equivalent of text-classification pipelines, but these models don’t require a hardcoded number of potential classes, they can be chosen at runtime. It usually means it’s slower but it is much more flexible.

Example: Zero shot classification with 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 ]
// }

Example: Zero shot classification with Xenova/nli-deberta-v3-xsmall (multi-label).

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 ]
// }

Kind: static class of pipelines


new ZeroShotClassificationPipeline(options)

Create a new ZeroShotClassificationPipeline.

ParamTypeDescription
optionsTextPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance property of ZeroShotClassificationPipeline


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

Kind: instance method of ZeroShotClassificationPipeline


pipelines.FeatureExtractionPipeline

Feature extraction pipeline using no model head. This pipeline extracts the hidden states from the base transformer, which can be used as features in downstream tasks.

Example: Run feature extraction with bert-base-uncased (without pooling/normalization).

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]
// }

Example: Run feature extraction with bert-base-uncased (with pooling/normalization).

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]
// }

Example: Calculating embeddings with sentence-transformers models.

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]
// }

Example: Calculating binary embeddings with sentence-transformers models.

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]
// }

Kind: static class of pipelines


new FeatureExtractionPipeline(options)

Create a new FeatureExtractionPipeline.

ParamTypeDescription
optionsTextPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of FeatureExtractionPipeline


pipelines.ImageFeatureExtractionPipeline

Image feature extraction pipeline using no model head. This pipeline extracts the hidden states from the base transformer, which can be used as features in downstream tasks.

Example: Perform image feature extraction with 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
// }

Example: Compute image embeddings with 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
// }

Kind: static class of pipelines


new ImageFeatureExtractionPipeline(options)

Create a new ImageFeatureExtractionPipeline.

ParamTypeDescription
optionsImagePipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of ImageFeatureExtractionPipeline


pipelines.AudioClassificationPipeline

Audio classification pipeline using any AutoModelForAudioClassification. This pipeline predicts the class of a raw waveform or an audio file.

Example: Perform audio classification with 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 }
// ]

Example: Perform audio classification with Xenova/ast-finetuned-audioset-10-10-0.4593 and return top 4 results.

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 },
// ]

Kind: static class of pipelines


new AudioClassificationPipeline(options)

Create a new AudioClassificationPipeline.

ParamTypeDescription
optionsAudioPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of AudioClassificationPipeline


pipelines.ZeroShotAudioClassificationPipeline

Zero shot audio classification pipeline using ClapModel. This pipeline predicts the class of an audio when you provide an audio and a set of candidate_labels.

Example: Perform zero-shot audio classification with 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' }
// ]

Kind: static class of pipelines


new ZeroShotAudioClassificationPipeline(options)

Create a new ZeroShotAudioClassificationPipeline.

ParamTypeDescription
optionsTextAudioPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of ZeroShotAudioClassificationPipeline


pipelines.AutomaticSpeechRecognitionPipeline

Pipeline that aims at extracting spoken text contained within some audio.

Example: Transcribe English.

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." }

Example: Transcribe English w/ timestamps.

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." }
//   ]
// }

Example: Transcribe English w/ word-level timestamps.

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] }
//   ]
// }

Example: Transcribe French.

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." }

Example: Translate French to English.

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." }

Example: Transcribe/translate audio longer than 30 seconds.

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" }

Kind: static class of pipelines


new AutomaticSpeechRecognitionPipeline(options)

Create a new AutomaticSpeechRecognitionPipeline.

ParamTypeDescription
optionsTextAudioPipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of AutomaticSpeechRecognitionPipeline


pipelines.ImageToTextPipeline

Image To Text pipeline using a AutoModelForVision2Seq. This pipeline predicts a caption for a given image.

Example: Generate a caption for an image w/ 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' }]

Example: Optical Character Recognition (OCR) w/ Xenova/trocr-small-handwritten.

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.' }]

Kind: static class of pipelines


new ImageToTextPipeline(options)

Create a new ImageToTextPipeline.

ParamTypeDescription
optionsTextImagePipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of ImageToTextPipeline


pipelines.ImageClassificationPipeline

Image classification pipeline using any AutoModelForImageClassification. This pipeline predicts the class of an image.

Example: Classify an image.

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 },
// ]

Example: Classify an image and return top n classes.

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 },
// ]

Example: Classify an image and return all classes.

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 },
//   ...
// ]

Kind: static class of pipelines


new ImageClassificationPipeline(options)

Create a new ImageClassificationPipeline.

ParamTypeDescription
optionsImagePipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of ImageClassificationPipeline


pipelines.ImageSegmentationPipeline

Image segmentation pipeline using any AutoModelForXXXSegmentation. This pipeline predicts masks of objects and their classes.

Example: Perform image segmentation with 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 { ... } }
// ]

Kind: static class of pipelines


new ImageSegmentationPipeline(options)

Create a new ImageSegmentationPipeline.

ParamTypeDescription
optionsImagePipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of ImageSegmentationPipeline


pipelines.ZeroShotImageClassificationPipeline

Zero shot image classification pipeline. This pipeline predicts the class of an image when you provide an image and a set of candidate_labels.

Example: Zero shot image classification w/ 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' }
// ]

Kind: static class of pipelines


new ZeroShotImageClassificationPipeline(options)

Create a new ZeroShotImageClassificationPipeline.

ParamTypeDescription
optionsTextImagePipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of ZeroShotImageClassificationPipeline


pipelines.ObjectDetectionPipeline

Object detection pipeline using any AutoModelForObjectDetection. This pipeline predicts bounding boxes of objects and their classes.

Example: Run object-detection with 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 }
// }]

Kind: static class of pipelines


new ObjectDetectionPipeline(options)

Create a new ObjectDetectionPipeline.

ParamTypeDescription
optionsImagePipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of ObjectDetectionPipeline


pipelines.ZeroShotObjectDetectionPipeline

Zero-shot object detection pipeline. This pipeline predicts bounding boxes of objects when you provide an image and a set of candidate_labels.

Example: Zero-shot object detection w/ 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 }
//   }
// ]

Example: Zero-shot object detection w/ Xenova/owlvit-base-patch32 (returning top 4 matches and setting a threshold).

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 }
//   }
// ]

Kind: static class of pipelines


new ZeroShotObjectDetectionPipeline(options)

Create a new ZeroShotObjectDetectionPipeline.

ParamTypeDescription
optionsTextImagePipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of ZeroShotObjectDetectionPipeline


pipelines.DocumentQuestionAnsweringPipeline

Document Question Answering pipeline using any AutoModelForDocumentQuestionAnswering. The inputs/outputs are similar to the (extractive) question answering pipeline; however, the pipeline takes an image (and optional OCR’d words/boxes) as input instead of text context.

Example: Answer questions about a document with 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' }]

Kind: static class of pipelines


new DocumentQuestionAnsweringPipeline(options)

Create a new DocumentQuestionAnsweringPipeline.

ParamTypeDescription
optionsTextImagePipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of DocumentQuestionAnsweringPipeline


pipelines.TextToAudioPipeline

Text-to-audio generation pipeline using any AutoModelForTextToWaveform or AutoModelForTextToSpectrogram. This pipeline generates an audio file from an input text and optional other conditional inputs.

Example: Generate audio from text with 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
// }

You can then save the audio to a .wav file with the wavefile package:

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());

Example: Multilingual speech generation with Xenova/mms-tts-fra. See here for the full list of available languages (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
// }

Kind: static class of pipelines


new TextToAudioPipeline(options)

Create a new TextToAudioPipeline.

ParamTypeDescription
optionsTextToAudioPipelineConstructorArgs

An object used to instantiate the pipeline.


textToAudioPipeline._call() : <code> TextToAudioPipelineCallback </code>

Kind: instance method of TextToAudioPipeline


pipelines.ImageToImagePipeline

Image to Image pipeline using any AutoModelForImageToImage. This pipeline generates an image based on a previous image input.

Example: Super-resolution w/ 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
// }

Kind: static class of pipelines


new ImageToImagePipeline(options)

Create a new ImageToImagePipeline.

ParamTypeDescription
optionsImagePipelineConstructorArgs

An object used to instantiate the pipeline.


imageToImagePipeline._call() : <code> ImageToImagePipelineCallback </code>

Kind: instance method of ImageToImagePipeline


pipelines.DepthEstimationPipeline

Depth estimation pipeline using any AutoModelForDepthEstimation. This pipeline predicts the depth of an image.

Example: Depth estimation w/ 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
//   }
// }

Kind: static class of pipelines


new DepthEstimationPipeline(options)

Create a new DepthEstimationPipeline.

ParamTypeDescription
optionsImagePipelineConstructorArgs

An object used to instantiate the pipeline.


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

Kind: instance method of DepthEstimationPipeline


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

Utility factory method to build a Pipeline object.

Kind: static method of pipelines
Returns: * - A Pipeline object for the specified task.
Throws:

  • Error If an unsupported pipeline is requested.
ParamTypeDefaultDescription
taskT

The task defining which pipeline will be returned. Currently accepted tasks are:

  • "audio-classification": will return a AudioClassificationPipeline.
  • "automatic-speech-recognition": will return a AutomaticSpeechRecognitionPipeline.
  • "depth-estimation": will return a DepthEstimationPipeline.
  • "document-question-answering": will return a DocumentQuestionAnsweringPipeline.
  • "feature-extraction": will return a FeatureExtractionPipeline.
  • "fill-mask": will return a FillMaskPipeline.
  • "image-classification": will return a ImageClassificationPipeline.
  • "image-segmentation": will return a ImageSegmentationPipeline.
  • "image-to-text": will return a ImageToTextPipeline.
  • "object-detection": will return a ObjectDetectionPipeline.
  • "question-answering": will return a QuestionAnsweringPipeline.
  • "summarization": will return a SummarizationPipeline.
  • "text2text-generation": will return a Text2TextGenerationPipeline.
  • "text-classification" (alias "sentiment-analysis" available): will return a TextClassificationPipeline.
  • "text-generation": will return a TextGenerationPipeline.
  • "token-classification" (alias "ner" available): will return a TokenClassificationPipeline.
  • "translation": will return a TranslationPipeline.
  • "translation_xx_to_yy": will return a TranslationPipeline.
  • "zero-shot-classification": will return a ZeroShotClassificationPipeline.
  • "zero-shot-audio-classification": will return a ZeroShotAudioClassificationPipeline.
  • "zero-shot-image-classification": will return a ZeroShotImageClassificationPipeline.
  • "zero-shot-object-detection": will return a ZeroShotObjectDetectionPipeline.
[model]stringnull

The name of the pre-trained model to use. If not specified, the default model for the task will be used.

[options]*

Optional parameters for the pipeline.


pipelines~x[1] : <code> number </code>

Kind: inner property of pipelines


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

Kind: inner typedef of pipelines


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

Kind: inner typedef of pipelines


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

Kind: inner typedef of pipelines
Properties

NameTypeDescription
xminnumber

The minimum x coordinate of the bounding box.

yminnumber

The minimum y coordinate of the bounding box.

xmaxnumber

The maximum x coordinate of the bounding box.

ymaxnumber

The maximum y coordinate of the bounding box.


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

Kind: inner typedef of pipelines
Returns: Promise.<void> - A promise that resolves when the item has been disposed.
Properties

NameTypeDescription
disposeDisposeType

A promise that resolves when the pipeline has been disposed.


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

An object used to instantiate a text-based pipeline.

Kind: inner typedef of pipelines
Properties

NameTypeDescription
taskstring

The task of the pipeline. Useful for specifying subtasks.

modelPreTrainedModel

The model used by the pipeline.

tokenizerPreTrainedTokenizer

The tokenizer used by the pipeline.


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

An object used to instantiate an audio-based pipeline.

Kind: inner typedef of pipelines
Properties

NameTypeDescription
taskstring

The task of the pipeline. Useful for specifying subtasks.

modelPreTrainedModel

The model used by the pipeline.

processorProcessor

The processor used by the pipeline.


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

An object used to instantiate a text- and audio-based pipeline.

Kind: inner typedef of pipelines
Properties

NameTypeDescription
taskstring

The task of the pipeline. Useful for specifying subtasks.

modelPreTrainedModel

The model used by the pipeline.

tokenizerPreTrainedTokenizer

The tokenizer used by the pipeline.

processorProcessor

The processor used by the pipeline.


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

Parameters specific to text classification pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(TextClassificationOutput|Array<TextClassificationOutput>)> - An array or object containing the predicted labels and scores.

ParamTypeDescription
textsstring | Array<string>

The input text(s) to be classified.

[options]TextClassificationPipelineOptions

The options to use for text classification.

Properties

NameTypeDefaultDescription
labelstring

The label predicted.

scorenumber

The corresponding probability.

[topk]number1

The number of top predictions to be returned.


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

Parameters specific to token classification pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(TokenClassificationOutput|Array<TokenClassificationOutput>)> - The result.

ParamTypeDescription
textsstring | Array<string>

One or several texts (or one list of texts) for token classification.

[options]TokenClassificationPipelineOptions

The options to use for token classification.

Properties

NameTypeDescription
wordstring

The token/word classified. This is obtained by decoding the selected tokens.

scorenumber

The corresponding probability for entity.

entitystring

The entity predicted for that token/word.

indexnumber

The index of the corresponding token in the sentence.

[start]number

The index of the start of the corresponding entity in the sentence.

[end]number

The index of the end of the corresponding entity in the sentence.

[ignore_labels]Array.<string>

A list of labels to ignore.


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

Parameters specific to question answering pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(QuestionAnsweringOutput|Array<QuestionAnsweringOutput>)> - An array or object containing the predicted answers and scores.

ParamTypeDescription
questionstring | Array<string>

One or several question(s) (must be used in conjunction with the context argument).

contextstring | Array<string>

One or several context(s) associated with the question(s) (must be used in conjunction with the question argument).

[options]QuestionAnsweringPipelineOptions

The options to use for question answering.

Properties

NameTypeDefaultDescription
scorenumber

The probability associated to the answer.

[start]number

The character start index of the answer (in the tokenized version of the input).

[end]number

The character end index of the answer (in the tokenized version of the input).

answerstring

The answer to the question.

[topk]number1

The number of top answer predictions to be returned.


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

Parameters specific to fill mask pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(FillMaskOutput|Array<FillMaskOutput>)> - An array of objects containing the score, predicted token, predicted token string, and the sequence with the predicted token filled in, or an array of such arrays (one for each input text). If only one input text is given, the output will be an array of objects.
Throws:

  • Error When the mask token is not found in the input text.
ParamTypeDescription
textsstring | Array<string>

One or several texts (or one list of prompts) with masked tokens.

[options]FillMaskPipelineOptions

The options to use for masked language modelling.

Properties

NameTypeDefaultDescription
sequencestring

The corresponding input with the mask token prediction.

scorenumber

The corresponding probability.

tokennumber

The predicted token id (to replace the masked one).

token_strstring

The predicted token (to replace the masked one).

[topk]number5

When passed, overrides the number of predictions to return.


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

Kind: inner typedef of pipelines

ParamTypeDescription
textsstring | Array<string>

Input text for the encoder.

[options]*

Additional keyword arguments to pass along to the generate method of the model.

Properties

NameTypeDescription
generated_textstring

The generated text.


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

Kind: inner typedef of pipelines

ParamTypeDescription
textsstring | Array<string>

One or several articles (or one list of articles) to summarize.

[options]*

Additional keyword arguments to pass along to the generate method of the model.

Properties

NameTypeDescription
summary_textstring

The summary text.


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

Kind: inner typedef of pipelines

ParamTypeDescription
textsstring | Array<string>

Texts to be translated.

[options]*

Additional keyword arguments to pass along to the generate method of the model.

Properties

NameTypeDescription
translation_textstring

The translated text.


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

Parameters specific to text-generation pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(TextGenerationOutput|Array<TextGenerationOutput>)> - An array or object containing the generated texts.

ParamTypeDescription
textsstring | Array<string> | Chat | Array<Chat>

One or several prompts (or one list of prompts) to complete.

[options]TextGenerationConfig

Additional keyword arguments to pass along to the generate method of the model.

Properties

NameTypeDefaultDescription
generated_textstring | Chat

The generated text.

[add_special_tokens]boolean

Whether or not to add special tokens when tokenizing the sequences.

[return_full_text]booleantrue

If set to false only added text is returned, otherwise the full text is returned.


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

Parameters specific to zero-shot classification pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(ZeroShotClassificationOutput|Array<ZeroShotClassificationOutput>)> - An array or object containing the predicted labels and scores.

ParamTypeDescription
textsstring | Array<string>

The sequence(s) to classify, will be truncated if the model input is too large.

candidate_labelsstring | Array<string>

The set of possible class labels to classify each sequence into. Can be a single label, a string of comma-separated labels, or a list of labels.

[options]ZeroShotClassificationPipelineOptions

The options to use for zero-shot classification.

Properties

NameTypeDefaultDescription
sequencestring

The sequence for which this is the output.

labelsArray.<string>

The labels sorted by order of likelihood.

scoresArray.<number>

The probabilities for each of the labels.

[hypothesis_template]string""This example is {}.""

The template used to turn each candidate label into an NLI-style hypothesis. The candidate label will replace the &#123;} placeholder.

[multi_label]booleanfalse

Whether or not multiple candidate labels can be true. If false, the scores are normalized such that the sum of the label likelihoods for each sequence is 1. If true, the labels are considered independent and probabilities are normalized for each candidate by doing a softmax of the entailment score vs. the contradiction score.


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

Parameters specific to feature extraction pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<Tensor> - The features computed by the model.

ParamTypeDescription
textsstring | Array<string>

One or several texts (or one list of texts) to get the features of.

[options]FeatureExtractionPipelineOptions

The options to use for feature extraction.

Properties

NameTypeDefaultDescription
[pooling]'none' | 'mean' | 'cls'"none"

The pooling method to use.

[normalize]booleanfalse

Whether or not to normalize the embeddings in the last dimension.

[quantize]booleanfalse

Whether or not to quantize the embeddings.

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

The precision to use for quantization.


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

Parameters specific to image feature extraction pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<Tensor> - The image features computed by the model.

ParamTypeDescription
imagesImagePipelineInputs

One or several images (or one list of images) to get the features of.

[options]ImageFeatureExtractionPipelineOptions

The options to use for image feature extraction.

Properties

NameTypeDefaultDescription
[pool]boolean

Whether or not to return the pooled output. If set to false, the model will return the raw hidden states.


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

Parameters specific to audio classification pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(AudioClassificationOutput|Array<AudioClassificationOutput>)> - An array or object containing the predicted labels and scores.

ParamTypeDescription
audioAudioPipelineInputs

The input audio file(s) to be classified. The input is either:

  • string or URL that is the filename/URL of the audio file, the file will be read at the processor's sampling rate to get the waveform using the AudioContext API. If AudioContext is not available, you should pass the raw waveform in as a Float32Array of shape (n, ).
  • Float32Array or Float64Array of shape (n, ), representing the raw audio at the correct sampling rate (no further check will be done).
[options]AudioClassificationPipelineOptions

The options to use for audio classification.

Properties

NameTypeDefaultDescription
labelstring

The label predicted.

scorenumber

The corresponding probability.

[topk]number

The number of top labels that will be returned by the pipeline. If the provided number is null or higher than the number of labels available in the model configuration, it will default to the number of labels.


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

Parameters specific to zero-shot audio classification pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(Array<ZeroShotAudioClassificationOutput>|Array<Array<ZeroShotAudioClassificationOutput>>)> - An array of objects containing the predicted labels and scores.

ParamTypeDescription
audioAudioPipelineInputs

The input audio file(s) to be classified. The input is either:

  • string or URL that is the filename/URL of the audio file, the file will be read at the processor's sampling rate to get the waveform using the AudioContext API. If AudioContext is not available, you should pass the raw waveform in as a Float32Array of shape (n, ).
  • Float32Array or Float64Array of shape (n, ), representing the raw audio at the correct sampling rate (no further check will be done).
candidate_labelsArray.<string>

The candidate labels for this audio.

[options]ZeroShotAudioClassificationPipelineOptions

The options to use for zero-shot audio classification.

Properties

NameTypeDefaultDescription
labelstring

The label identified by the model. It is one of the suggested candidate_label.

scorenumber

The score attributed by the model for that label (between 0 and 1).

[hypothesis_template]string""This is a sound of {}.""

The sentence used in conjunction with candidate_labels to attempt the audio classification by replacing the placeholder with the candidate_labels. Then likelihood is estimated by using logits_per_audio.


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

Kind: inner typedef of pipelines

ParamTypeDescription
chunkChunkCallbackItem

The chunk to process.


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

Kind: inner typedef of pipelines
Properties

NameTypeDescription
timestamp*

The start and end timestamp of the chunk in seconds.

textstring

The recognized text.


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

Parameters specific to automatic-speech-recognition pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(AutomaticSpeechRecognitionOutput|Array<AutomaticSpeechRecognitionOutput>)> - An object containing the transcription text and optionally timestamps if return_timestamps is true.

ParamTypeDescription
audioAudioPipelineInputs

The input audio file(s) to be transcribed. The input is either:

  • string or URL that is the filename/URL of the audio file, the file will be read at the processor's sampling rate to get the waveform using the AudioContext API. If AudioContext is not available, you should pass the raw waveform in as a Float32Array of shape (n, ).
  • Float32Array or Float64Array of shape (n, ), representing the raw audio at the correct sampling rate (no further check will be done).
[options]AutomaticSpeechRecognitionConfig

Additional keyword arguments to pass along to the generate method of the model.

Properties

NameTypeDescription
textstring

The recognized text.

[chunks]Array.<Chunk>

When using return_timestamps, the chunks will become a list containing all the various text chunks identified by the model.

[kwargs.return_timestamps]boolean | 'word'

Whether to return timestamps or not. Default is false.

[kwargs.chunk_length_s]number

The length of audio chunks to process in seconds. Default is 0 (no chunking).

[kwargs.stride_length_s]number

The length of overlap between consecutive audio chunks in seconds. If not provided, defaults to chunk_length_s / 6.

[kwargs.chunk_callback]ChunkCallback

Callback function to be called with each chunk processed.

[kwargs.force_full_sequences]boolean

Whether to force outputting full sequences or not. Default is false.

[kwargs.language]string

The source language. Default is null, meaning it should be auto-detected. Use this to potentially improve performance if the source language is known.

[kwargs.task]string

The task to perform. Default is null, meaning it should be auto-detected.

[kwargs.forced_decoder_ids]Array.<Array<number>>

A list of pairs of integers which indicates a mapping from generation indices to token indices that will be forced before sampling. For example, [[1, 123]] means the second generated token will always be a token of index 123.

[num_frames]number

The number of frames in the input audio.


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

Kind: inner typedef of pipelines
Returns: Promise.<(ImageToTextOutput|Array<ImageToTextOutput>)> - An object (or array of objects) containing the generated text(s).

ParamTypeDescription
textsImagePipelineInputs

The images to be captioned.

[options]*

Additional keyword arguments to pass along to the generate method of the model.

Properties

NameTypeDescription
generated_textstring

The generated text.


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

Parameters specific to image classification pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(ImageClassificationOutput|Array<ImageClassificationOutput>)> - An array or object containing the predicted labels and scores.

ParamTypeDescription
imagesImagePipelineInputs

The input images(s) to be classified.

[options]ImageClassificationPipelineOptions

The options to use for image classification.

Properties

NameTypeDefaultDescription
labelstring

The label identified by the model.

scorenumber

The score attributed by the model for that label.

[topk]number1

The number of top labels that will be returned by the pipeline.


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

Parameters specific to image segmentation pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<Array<ImageSegmentationPipelineOutput>> - The annotated segments.

ParamTypeDescription
imagesImagePipelineInputs

The input images.

[options]ImageSegmentationPipelineOptions

The options to use for image segmentation.

Properties

NameTypeDefaultDescription
labelstring

The label of the segment.

scorenumber | null

The score of the segment.

maskRawImage

The mask of the segment.

[threshold]number0.5

Probability threshold to filter out predicted masks.

[mask_threshold]number0.5

Threshold to use when turning the predicted masks into binary values.

[overlap_mask_area_threshold]number0.8

Mask overlap threshold to eliminate small, disconnected segments.

[subtask]null | string

Segmentation task to be performed. One of [panoptic, instance, and semantic], depending on model capabilities. If not set, the pipeline will attempt to resolve (in that order).

[label_ids_to_fuse]Array.<number>

List of label ids to fuse. If not set, do not fuse any labels.

[target_sizes]Array.<Array<number>>

List of target sizes for the input images. If not set, use the original image sizes.


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

Parameters specific to zero-shot image classification pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(Array<ZeroShotImageClassificationOutput>|Array<Array<ZeroShotImageClassificationOutput>>)> - An array of objects containing the predicted labels and scores.

ParamTypeDescription
imagesImagePipelineInputs

The input images.

candidate_labelsArray.<string>

The candidate labels for this image.

[options]ZeroShotImageClassificationPipelineOptions

The options to use for zero-shot image classification.

Properties

NameTypeDefaultDescription
labelstring

The label identified by the model. It is one of the suggested candidate_label.

scorenumber

The score attributed by the model for that label (between 0 and 1).

[hypothesis_template]string""This is a photo of {}""

The sentence used in conjunction with candidate_labels to attempt the image classification by replacing the placeholder with the candidate_labels. Then likelihood is estimated by using logits_per_image.


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

Parameters specific to object detection pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(ObjectDetectionPipelineOutput|Array<ObjectDetectionPipelineOutput>)> - A list of objects or a list of list of objects.

ParamTypeDescription
imagesImagePipelineInputs

The input images.

[options]ObjectDetectionPipelineOptions

The options to use for object detection.

Properties

NameTypeDefaultDescription
labelstring

The class label identified by the model.

scorenumber

The score attributed by the model for that label.

boxBoundingBox

The bounding box of detected object in image's original size, or as a percentage if percentage is set to true.

[threshold]number0.9

The threshold used to filter boxes by score.

[percentage]booleanfalse

Whether to return the boxes coordinates in percentage (true) or in pixels (false).


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

Parameters specific to zero-shot object detection pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<(Array<ZeroShotObjectDetectionOutput>|Array<Array<ZeroShotObjectDetectionOutput>>)> - An array of objects containing the predicted labels, scores, and bounding boxes.

ParamTypeDescription
imagesImagePipelineInputs

The input images.

candidate_labelsArray.<string>

What the model should recognize in the image.

[options]ZeroShotObjectDetectionPipelineOptions

The options to use for zero-shot object detection.

Properties

NameTypeDefaultDescription
labelstring

Text query corresponding to the found object.

scorenumber

Score corresponding to the object (between 0 and 1).

boxBoundingBox

Bounding box of the detected object in image's original size, or as a percentage if percentage is set to true.

[threshold]number0.1

The probability necessary to make a prediction.

[topk]number

The number of top predictions that will be returned by the pipeline. If the provided number is null or higher than the number of predictions available, it will default to the number of predictions.

[percentage]booleanfalse

Whether to return the boxes coordinates in percentage (true) or in pixels (false).


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

Kind: inner typedef of pipelines
Returns: Promise.<(DocumentQuestionAnsweringOutput|Array<DocumentQuestionAnsweringOutput>)> - An object (or array of objects) containing the answer(s).

ParamTypeDescription
imageImageInput

The image of the document to use.

questionstring

A question to ask of the document.

[options]*

Additional keyword arguments to pass along to the generate method of the model.

Properties

NameTypeDescription
answerstring

The generated text.


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

Kind: inner typedef of pipelines
Properties

NameTypeDescription
[vocoder]PreTrainedModel

The vocoder used by the pipeline (if the model uses one). If not provided, use the default HifiGan vocoder.


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

Parameters specific to text-to-audio pipelines.

Kind: inner typedef of pipelines
Returns: Promise.<TextToAudioOutput> - An object containing the generated audio and sampling rate.

ParamTypeDescription
textsstring | Array<string>

The text(s) to generate.

optionsTextToAudioPipelineOptions

Parameters passed to the model generation/forward method.

Properties

NameTypeDefaultDescription
audioFloat32Array

The generated audio waveform.

sampling_ratenumber

The sampling rate of the generated audio waveform.

[speaker_embeddings]Tensor | Float32Array | string | URL

The speaker embeddings (if the model requires it).


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

Kind: inner typedef of pipelines
Returns: Promise.<(RawImage|Array<RawImage>)> - The transformed image or list of images.

ParamTypeDescription
imagesImagePipelineInputs

The images to transform.


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

Kind: inner typedef of pipelines
Returns: Promise.<(DepthEstimationPipelineOutput|Array<DepthEstimationPipelineOutput>)> - An image or a list of images containing result(s).

ParamTypeDescription
imagesImagePipelineInputs

The images to compute depth for.

Properties

NameTypeDescription
predicted_depthTensor

The raw depth map predicted by the model.

depthRawImage

The processed depth map as an image (with the same size as the input image).


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

All possible pipeline types.

Kind: inner typedef of pipelines