UNPKG

@naktibalda/jorel

Version:

The easiest way to use LLMs, including streams, images, documents, tools and various agent scenarios.

108 lines (107 loc) 2.96 kB
import { LogService } from "../logger"; /** * Manages models for JorEl */ export declare class JorElModelManager { private logger; private models; private embeddingModels; private defaultModel; private defaultEmbeddingModel; constructor(logger: LogService); /** * Register a model for an existing provider * @param model The model name * @param provider The provider name * @param setAsDefault Whether to set this model as the default * @returns The model entry * @throws Error - If the provider does not exist */ registerModel({ model, provider, setAsDefault }: { model: string; provider: string; setAsDefault?: boolean; }): void; /** * Unregister a model * @param model The model name */ unregisterModel(model: string): void; /** * Get a model entry * @param model The model name * @returns The model entry * @throws Error - If the model does not exist */ getModel(model: string): { model: string; provider: string; }; /** * Get the default model * @returns The default model id */ getDefaultModel(): string; /** * Set the default model * @param model The model name * @throws Error - If the model does not exist */ setDefaultModel(model: string): void; /** * List all models */ listModels(): { model: string; provider: string; }[]; /** * Register an embedding model for an existing provider * @param model The model name * @param provider The provider name * @param dimensions The number of dimensions * @param setAsDefault Whether to set this model as the default * @returns The model entry * @throws Error - If the provider does not exist */ registerEmbeddingModel({ model, provider, dimensions, setAsDefault, }: { model: string; provider: string; dimensions: number; setAsDefault?: boolean; }): void; /** * Unregister an embedding model * @param model The model name */ unregisterEmbeddingModel(model: string): void; /** * Get an embedding model entry * @param model The model name * @returns The model entry * @throws Error - If the model does not exist */ getEmbeddingModel(model: string): { model: string; provider: string; }; /** * Get the default embedding model * @returns The default model id */ getDefaultEmbeddingModel(): string; /** * Set the default embedding model * @param model The model name * @throws Error - If the model does not exist */ setDefaultEmbeddingModel(model: string): void; /** * List all embedding models * @returns The list of embedding models */ listEmbeddingModels(): { model: string; provider: string; }[]; }