UNPKG

inference-server

Version:

Libraries and server to build AI applications. Adapters to various native bindings allowing local inference. Integrate it with your application, or use as a microservice.

53 lines (52 loc) 4.06 kB
import { EngineContext, FileDownloadProgress, ModelConfig, TextCompletionTaskResult, EmbeddingTaskResult, TransformersJsModel, TransformersJsSpeechModel, TextCompletionTaskArgs, EngineTextCompletionTaskContext, EmbeddingTaskArgs, EngineTaskContext, ImageToTextTaskArgs, SpeechToTextTaskArgs, TextToSpeechTaskArgs, ObjectDetectionTaskArgs, ChatCompletionTaskArgs, ChatCompletionTaskResult, TextClassificationTaskArgs, ObjectDetectionTaskResult, TextClassificationTaskResult, TextToSpeechTaskResult } from '../../types/index.js'; import { Processor, PreTrainedModel, PreTrainedTokenizer, SpeechT5ForTextToSpeech, WhisperForConditionalGeneration } from '@huggingface/transformers'; export interface TransformersJsModelComponents<TModel = PreTrainedModel> { model?: TModel; processor?: Processor; tokenizer?: PreTrainedTokenizer; } export interface TextToSpeechModel { generate_speech: SpeechT5ForTextToSpeech['generate_speech']; } export interface SpeechToTextModel { generate: WhisperForConditionalGeneration['generate']; } export interface SpeechModelComponents extends TransformersJsModelComponents<TextToSpeechModel | SpeechToTextModel> { vocoder?: PreTrainedModel; speakerEmbeddings?: Record<string, Float32Array>; } interface TransformersJsInstance { primary?: TransformersJsModelComponents; text?: TransformersJsModelComponents; vision?: TransformersJsModelComponents; speech?: SpeechModelComponents; } export interface TransformersJsModelConfig extends ModelConfig, TransformersJsModel, TransformersJsSpeechModel { location: string; url: string; textModel?: TransformersJsModel; visionModel?: TransformersJsModel; speechModel?: TransformersJsSpeechModel; device?: { gpu?: boolean | 'auto' | (string & {}); }; } export declare const autoGpu = true; export declare function prepareModel({ config, log }: EngineContext<TransformersJsModelConfig>, onProgress?: (progress: FileDownloadProgress) => void, signal?: AbortSignal): Promise<{ files: string[] | Buffer<ArrayBufferLike>[]; } | undefined>; export declare function createInstance({ config, log }: EngineContext<TransformersJsModelConfig>, signal?: AbortSignal): Promise<TransformersJsInstance>; export declare function disposeInstance(instance: TransformersJsInstance): Promise<void>; export declare function processChatCompletionTask(task: ChatCompletionTaskArgs, ctx: EngineTextCompletionTaskContext<TransformersJsInstance, TransformersJsModelConfig>, signal?: AbortSignal): Promise<ChatCompletionTaskResult>; export declare function processTextCompletionTask(task: TextCompletionTaskArgs, ctx: EngineTextCompletionTaskContext<TransformersJsInstance, TransformersJsModelConfig>, signal?: AbortSignal): Promise<TextCompletionTaskResult>; export declare function processEmbeddingTask(task: EmbeddingTaskArgs, ctx: EngineTaskContext<TransformersJsInstance, TransformersJsModelConfig>, signal?: AbortSignal): Promise<EmbeddingTaskResult>; export declare function processImageToTextTask(task: ImageToTextTaskArgs, ctx: EngineTaskContext<TransformersJsInstance, TransformersJsModelConfig>, signal?: AbortSignal): Promise<{ text: string; } | undefined>; export declare function processSpeechToTextTask(task: SpeechToTextTaskArgs, ctx: EngineTaskContext<TransformersJsInstance, TransformersJsModelConfig>, signal?: AbortSignal): Promise<{ text: string; }>; export declare function processTextToSpeechTask(task: TextToSpeechTaskArgs, ctx: EngineTaskContext<TransformersJsInstance, TransformersJsModelConfig>, signal?: AbortSignal): Promise<TextToSpeechTaskResult>; export declare function processObjectDetectionTask(task: ObjectDetectionTaskArgs, ctx: EngineTaskContext<TransformersJsInstance, TransformersJsModelConfig>, signal?: AbortSignal): Promise<ObjectDetectionTaskResult>; export declare function processTextClassificationTask(task: TextClassificationTaskArgs, ctx: EngineTaskContext<TransformersJsInstance, TransformersJsModelConfig>, signal?: AbortSignal): Promise<TextClassificationTaskResult>; export {};