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
TypeScript
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 {};