UNPKG

@naktibalda/jorel

Version:

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

63 lines (62 loc) 3.56 kB
import { LogService } from "../logger"; import { InitLlmGenerationConfig, LlmMessage, LlmStreamResponse, LlmStreamResponseChunk, LlmStreamResponseMessages, LlmStreamResponseWithToolCalls, LlmStreamToolCallCompleted, LlmStreamToolCallStarted } from "../providers"; import { JorElGenerationConfigWithTools, JorElGenerationOutput } from "./jorel"; import { JorElModelManager } from "./jorel.models"; import { JorElProviderManager } from "./jorel.providers"; export declare class JorElCoreStore { defaultConfig: InitLlmGenerationConfig; logger: LogService; providerManager: JorElProviderManager; modelManager: JorElModelManager; constructor(config?: InitLlmGenerationConfig); /** * Applies model-specific overrides to messages and config * @param messages - The messages to apply the overrides to * @param config - The config to apply the overrides to * @param modelName - The name of the model to apply the overrides to */ private applyModelOverrides; /** * Generate a response for a given set of messages * @param messages - The messages to generate a response for * @param config - The config to use for this generation * @param config.model - Model to use for this generation (optional) * @param config.systemMessage - System message to include in this request (optional) * @param config.temperature - Temperature for this request (optional) * @param config.tools - Tools to use for this request (optional) */ generate(messages: LlmMessage[], config?: JorElGenerationConfigWithTools): Promise<JorElGenerationOutput>; /** * Internal method to generate a response and process tool calls until a final response is generated * @param messages - The messages to generate a response for * @param config - The config to use for this generation * @param autoApprove - Whether to auto-approve tool calls */ generateAndProcessTools(messages: LlmMessage[], config?: JorElGenerationConfigWithTools, autoApprove?: boolean): Promise<{ output: JorElGenerationOutput; messages: LlmMessage[]; }>; /** * Generate a stream of response chunks for a given set of messages * @param messages - The messages to generate a response for * @param config - The config to use for this generation */ generateContentStream(messages: LlmMessage[], config?: JorElGenerationConfigWithTools): AsyncGenerator<LlmStreamResponseChunk | LlmStreamResponse | LlmStreamResponseWithToolCalls, void, unknown>; /** * Generate a stream of response chunks for a given set of messages and process tool calls until a final response is generated * @param messages - The messages to generate a response for * @param config - The config to use for this generation * @param autoApprove - Whether to auto-approve tool calls */ generateStreamAndProcessTools(messages: LlmMessage[], config?: JorElGenerationConfigWithTools, autoApprove?: boolean): AsyncGenerator<LlmStreamResponseChunk | LlmStreamResponse | LlmStreamResponseWithToolCalls | LlmStreamResponseMessages | LlmStreamToolCallStarted | LlmStreamToolCallCompleted, void, unknown>; /** * Helper method to set a tool call to error state */ private setCallToError; /** * Generate an embedding for a given text * @param text - The text to generate an embedding for * @param model - The model to use for this generation (optional) */ generateEmbedding(text: string, model?: string): Promise<number[]>; }