@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
TypeScript
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;
}[];
}