UNPKG

llmatic

Version:

Use self-hosted LLMs with an OpenAI compatible API

73 lines (71 loc) 2.47 kB
type FinishReason = undefined | "length" | "stop"; declare enum Role { Assistant = "assistant", System = "system", User = "user" } type LlmAdapterModel = { id: string; created: number; ownedBy: string; }; type LlmAdapterCreateEmbeddingRequest = { model: string; input: string; }; type LlmAdapterCreateEmbeddingResponse = number[]; type LlmAdapterCreateCompletionRequest = { bestOf?: number; echo?: boolean; frequencyPenalty?: number; logitBias?: Record<string, any>; logprobs?: number; maxTokens?: number; model: string; n?: number; presencePenalty?: number; prompt: string[]; stop?: string[]; suffix?: string; temperature?: number; topP?: number; }; type LlmAdapterCreateChatCompletionRequest = { frequencyPenalty?: number; logitBias?: Record<string, any>; maxTokens?: number; messages: Array<{ content: string; name?: string; role: Role; }>; model: string; n?: number; presencePenalty?: number; stop?: string[]; temperature?: number; topP?: number; }; type LlmAdapterCreateCompletionResponse = { index: number; logprobs?: unknown; text: string; finishReason: FinishReason; }; type ChatCompletionDelta = { role?: Role; content?: string; }; type LlmAdapterCreateChatCompletionResponse = { index: number; delta: ChatCompletionDelta; finishReason?: string; }; declare abstract class LlmAdapter { static get defaultConfig(): Record<string, unknown>; abstract listModels(): Promise<LlmAdapterModel[]>; abstract createEmbedding({ model, input, }: LlmAdapterCreateEmbeddingRequest): Promise<LlmAdapterCreateEmbeddingResponse>; abstract createCompletion(createCompletionRequest: LlmAdapterCreateCompletionRequest, abortSignal: AbortSignal, onData: (data: LlmAdapterCreateCompletionResponse) => void): Promise<void>; abstract createChatCompletion(createChatCompletionRequest: LlmAdapterCreateChatCompletionRequest, abortSignal: AbortSignal, onData: (data: LlmAdapterCreateChatCompletionResponse) => void): Promise<void>; } export { type ChatCompletionDelta, type FinishReason, LlmAdapter, type LlmAdapterCreateChatCompletionRequest, type LlmAdapterCreateChatCompletionResponse, type LlmAdapterCreateCompletionRequest, type LlmAdapterCreateCompletionResponse, type LlmAdapterCreateEmbeddingRequest, type LlmAdapterCreateEmbeddingResponse, type LlmAdapterModel, Role };