UNPKG

@huggingface/inference

Version:

Typescript client for the Hugging Face Inference Providers and Inference Endpoints

182 lines 11.2 kB
import type { AudioClassificationInput, AudioClassificationOutput, AutomaticSpeechRecognitionInput, AutomaticSpeechRecognitionOutput, ChatCompletionInput, ChatCompletionOutput, DocumentQuestionAnsweringInput, DocumentQuestionAnsweringOutput, FeatureExtractionInput, FeatureExtractionOutput, FillMaskInput, FillMaskOutput, ImageClassificationInput, ImageClassificationOutput, ImageSegmentationInput, ImageSegmentationOutput, ImageToImageInput, ImageToTextInput, ImageToTextOutput, ObjectDetectionInput, ObjectDetectionOutput, QuestionAnsweringInput, QuestionAnsweringOutput, SentenceSimilarityInput, SentenceSimilarityOutput, SummarizationInput, SummarizationOutput, TableQuestionAnsweringInput, TableQuestionAnsweringOutput, TextClassificationOutput, TextGenerationInput, TextGenerationOutput, TextToImageInput, TextToSpeechInput, TextToVideoInput, TokenClassificationInput, TokenClassificationOutput, TranslationInput, TranslationOutput, VisualQuestionAnsweringInput, VisualQuestionAnsweringOutput, ZeroShotClassificationInput, ZeroShotClassificationOutput, ZeroShotImageClassificationInput, ZeroShotImageClassificationOutput } from "@huggingface/tasks"; import type { AudioToAudioOutput } from "../tasks/audio/audioToAudio"; import type { BaseArgs, BodyParams, HeaderParams, InferenceProvider, UrlParams } from "../types"; /** * Base class for task-specific provider helpers */ export declare abstract class TaskProviderHelper { readonly provider: InferenceProvider; private baseUrl; readonly clientSideRoutingOnly: boolean; constructor(provider: InferenceProvider, baseUrl: string, clientSideRoutingOnly?: boolean); /** * Return the response in the expected format. * Needs to be implemented in the subclasses. */ abstract getResponse(response: unknown, url?: string, headers?: HeadersInit, outputType?: "url" | "blob"): Promise<unknown>; /** * Prepare the route for the request * Needs to be implemented in the subclasses. */ abstract makeRoute(params: UrlParams): string; /** * Prepare the payload for the request * Needs to be implemented in the subclasses. */ abstract preparePayload(params: BodyParams): unknown; /** * Prepare the base URL for the request */ makeBaseUrl(params: UrlParams): string; /** * Prepare the body for the request */ makeBody(params: BodyParams): BodyInit; /** * Prepare the URL for the request */ makeUrl(params: UrlParams): string; /** * Prepare the headers for the request */ prepareHeaders(params: HeaderParams, isBinary: boolean): Record<string, string>; } export interface TextToImageTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit, outputType?: "url" | "blob"): Promise<string | Blob>; preparePayload(params: BodyParams<TextToImageInput & BaseArgs>): Record<string, unknown>; } export interface TextToVideoTaskHelper { getResponse(response: unknown, url?: string, headers?: Record<string, string>): Promise<Blob>; preparePayload(params: BodyParams<TextToVideoInput & BaseArgs>): Record<string, unknown>; } export interface ImageToImageTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<Blob>; preparePayload(params: BodyParams<ImageToImageInput & BaseArgs>): Record<string, unknown>; } export interface ImageSegmentationTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<ImageSegmentationOutput>; preparePayload(params: BodyParams<ImageSegmentationInput & BaseArgs>): Record<string, unknown> | BodyInit; } export interface ImageClassificationTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<ImageClassificationOutput>; preparePayload(params: BodyParams<ImageClassificationInput & BaseArgs>): Record<string, unknown> | BodyInit; } export interface ObjectDetectionTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<ObjectDetectionOutput>; preparePayload(params: BodyParams<ObjectDetectionInput & BaseArgs>): Record<string, unknown> | BodyInit; } export interface ImageToTextTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<ImageToTextOutput>; preparePayload(params: BodyParams<ImageToTextInput & BaseArgs>): Record<string, unknown> | BodyInit; } export interface ZeroShotImageClassificationTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<ZeroShotImageClassificationOutput>; preparePayload(params: BodyParams<ZeroShotImageClassificationInput & BaseArgs>): Record<string, unknown> | BodyInit; } export interface TextGenerationTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<TextGenerationOutput>; preparePayload(params: BodyParams<TextGenerationInput & BaseArgs>): Record<string, unknown>; } export interface ConversationalTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<ChatCompletionOutput>; preparePayload(params: BodyParams<ChatCompletionInput & BaseArgs>): Record<string, unknown>; } export interface TextClassificationTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<TextClassificationOutput>; preparePayload(params: BodyParams<ZeroShotClassificationInput & BaseArgs>): Record<string, unknown>; } export interface QuestionAnsweringTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<QuestionAnsweringOutput[number]>; preparePayload(params: BodyParams<QuestionAnsweringInput & BaseArgs>): Record<string, unknown>; } export interface FillMaskTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<FillMaskOutput>; preparePayload(params: BodyParams<FillMaskInput & BaseArgs>): Record<string, unknown>; } export interface ZeroShotClassificationTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<ZeroShotClassificationOutput>; preparePayload(params: BodyParams<ZeroShotClassificationInput & BaseArgs>): Record<string, unknown>; } export interface SentenceSimilarityTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<SentenceSimilarityOutput>; preparePayload(params: BodyParams<SentenceSimilarityInput & BaseArgs>): Record<string, unknown>; } export interface TableQuestionAnsweringTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<TableQuestionAnsweringOutput[number]>; preparePayload(params: BodyParams<TableQuestionAnsweringInput & BaseArgs>): Record<string, unknown>; } export interface TokenClassificationTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<TokenClassificationOutput>; preparePayload(params: BodyParams<TokenClassificationInput & BaseArgs>): Record<string, unknown>; } export interface TranslationTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<TranslationOutput>; preparePayload(params: BodyParams<TranslationInput & BaseArgs>): Record<string, unknown>; } export interface SummarizationTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<SummarizationOutput>; preparePayload(params: BodyParams<SummarizationInput & BaseArgs>): Record<string, unknown>; } export interface TextToSpeechTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<Blob>; preparePayload(params: BodyParams<TextToSpeechInput & BaseArgs>): Record<string, unknown>; } export interface TextToAudioTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<Blob>; preparePayload(params: BodyParams<Record<string, unknown> & BaseArgs>): Record<string, unknown>; } export interface AudioToAudioTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<AudioToAudioOutput[]>; preparePayload(params: BodyParams<BaseArgs & { inputs: Blob; } & Record<string, unknown>>): Record<string, unknown> | BodyInit; } export interface AutomaticSpeechRecognitionTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<AutomaticSpeechRecognitionOutput>; preparePayload(params: BodyParams<AutomaticSpeechRecognitionInput & BaseArgs>): Record<string, unknown> | BodyInit; } export interface AudioClassificationTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<AudioClassificationOutput>; preparePayload(params: BodyParams<AudioClassificationInput & BaseArgs>): Record<string, unknown> | BodyInit; } export interface DocumentQuestionAnsweringTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<DocumentQuestionAnsweringOutput[number]>; preparePayload(params: BodyParams<DocumentQuestionAnsweringInput & BaseArgs>): Record<string, unknown> | BodyInit; } export interface FeatureExtractionTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<FeatureExtractionOutput>; preparePayload(params: BodyParams<FeatureExtractionInput & BaseArgs>): Record<string, unknown>; } export interface VisualQuestionAnsweringTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<VisualQuestionAnsweringOutput[number]>; preparePayload(params: BodyParams<VisualQuestionAnsweringInput & BaseArgs>): Record<string, unknown> | BodyInit; } export interface TabularClassificationTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<number[]>; preparePayload(params: BodyParams<BaseArgs & { inputs: { data: Record<string, string[]>; }; } & Record<string, unknown>>): Record<string, unknown> | BodyInit; } export interface TabularRegressionTaskHelper { getResponse(response: unknown, url?: string, headers?: HeadersInit): Promise<number[]>; preparePayload(params: BodyParams<BaseArgs & { inputs: { data: Record<string, string[]>; }; } & Record<string, unknown>>): Record<string, unknown> | BodyInit; } export declare class BaseConversationalTask extends TaskProviderHelper implements ConversationalTaskHelper { constructor(provider: InferenceProvider, baseUrl: string, clientSideRoutingOnly?: boolean); makeRoute(): string; preparePayload(params: BodyParams): Record<string, unknown>; getResponse(response: ChatCompletionOutput): Promise<ChatCompletionOutput>; } export declare class BaseTextGenerationTask extends TaskProviderHelper implements TextGenerationTaskHelper { constructor(provider: InferenceProvider, baseUrl: string, clientSideRoutingOnly?: boolean); preparePayload(params: BodyParams): Record<string, unknown>; makeRoute(): string; getResponse(response: unknown): Promise<TextGenerationOutput>; } //# sourceMappingURL=providerHelper.d.ts.map