in packages/inference/src/lib/getProviderHelper.ts [178:303]
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "automatic-speech-recognition"
): AutomaticSpeechRecognitionTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "text-to-video"
): TextToVideoTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "text-classification"
): TextClassificationTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "question-answering"
): QuestionAnsweringTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "audio-classification"
): AudioClassificationTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "audio-to-audio"
): AudioToAudioTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "fill-mask"
): FillMaskTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "feature-extraction"
): FeatureExtractionTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "image-classification"
): ImageClassificationTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "image-segmentation"
): ImageSegmentationTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "document-question-answering"
): DocumentQuestionAnsweringTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "image-to-text"
): ImageToTextTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "object-detection"
): ObjectDetectionTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "zero-shot-image-classification"
): ZeroShotImageClassificationTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "zero-shot-classification"
): ZeroShotClassificationTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "image-to-image"
): ImageToImageTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "sentence-similarity"
): SentenceSimilarityTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "table-question-answering"
): TableQuestionAnsweringTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "tabular-classification"
): TabularClassificationTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "tabular-regression"
): TabularRegressionTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "token-classification"
): TokenClassificationTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "translation"
): TranslationTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "summarization"
): SummarizationTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: "visual-question-answering"
): VisualQuestionAnsweringTaskHelper & TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: InferenceTask | undefined
): TaskProviderHelper;
export function getProviderHelper(
provider: InferenceProviderOrPolicy,
task: InferenceTask | undefined
): TaskProviderHelper {
if ((provider === "hf-inference" && !task) || provider === "auto") {
return new HFInference.HFInferenceTask();
}
if (!task) {
throw new InferenceClientInputError(
"you need to provide a task name when using an external provider, e.g. 'text-to-image'"
);
}
if (!(provider in PROVIDERS)) {
throw new InferenceClientInputError(
`Provider '${provider}' not supported. Available providers: ${Object.keys(PROVIDERS)}`
);
}
const providerTasks = PROVIDERS[provider];
if (!providerTasks || !(task in providerTasks)) {
throw new InferenceClientInputError(
`Task '${task}' not supported for provider '${provider}'. Available tasks: ${Object.keys(providerTasks ?? {})}`
);
}
return providerTasks[task] as TaskProviderHelper;
}