jorel
Version:
A unified wrapper for working with LLMs from multiple providers, including streams, images, documents & automatic tool use.
28 lines (27 loc) • 1.35 kB
TypeScript
import { LlmCoreProvider, LlmGenerationConfig, LlmMessage, LlmResponse, LlmStreamProviderResponseChunkEvent, LlmStreamResponse, LlmStreamResponseWithToolCalls } from "../providers";
export interface TestProviderConfig {
name?: string;
defaultResponse?: string;
defaultStreamResponse?: string[];
simulateDelay?: number;
failOnModels?: string[];
/** If set, will simulate an error after this many chunks */
errorAfterChunks?: number;
/** The error message to use when simulating errors */
errorMessage?: string;
}
export declare class TestProvider implements LlmCoreProvider {
readonly name: string;
private defaultResponse;
private defaultStreamResponse;
private simulateDelay;
private failOnModels;
private errorAfterChunks?;
private errorMessage;
constructor(config?: TestProviderConfig);
private delay;
generateResponse(model: string, messages: LlmMessage[], config?: LlmGenerationConfig): Promise<LlmResponse>;
generateResponseStream(model: string, messages: LlmMessage[], config?: LlmGenerationConfig): AsyncGenerator<LlmStreamProviderResponseChunkEvent | LlmStreamResponse | LlmStreamResponseWithToolCalls, void, unknown>;
getAvailableModels(): Promise<string[]>;
createEmbedding(model: string, text: string, abortSignal?: AbortSignal): Promise<number[]>;
}