@just-every/ensemble
Version:
LLM provider abstraction layer with unified streaming interface
22 lines • 1.57 kB
TypeScript
import { EmbedOpts } from './model_provider.js';
import { ProviderStreamEvent, ResponseInput, AgentDefinition, ImageGenerationOpts, VoiceGenerationOpts, TranscriptionOpts, TranscriptionAudioSource, TranscriptionEvent, LiveConfig, LiveOptions, LiveSession } from '../types/types.js';
import { BaseModelProvider } from './base_provider.js';
export declare function getImageMimeType(imageData: string): string;
export declare function cleanBase64Data(imageData: string): string;
export declare class GeminiProvider extends BaseModelProvider {
private _client?;
private apiKey?;
constructor(apiKey?: string);
private get client();
createEmbedding(input: string | string[], model: string, opts?: EmbedOpts): Promise<number[] | number[][]>;
private retryStreamOnIncompleteJson;
createResponseStream(messages: ResponseInput, model: string, agent: AgentDefinition): AsyncGenerator<ProviderStreamEvent>;
createImage(prompt: string, model?: string, opts?: ImageGenerationOpts): Promise<string[]>;
private getImageCost;
createVoice(text: string, model?: string, opts?: VoiceGenerationOpts): Promise<ReadableStream<Uint8Array> | ArrayBuffer>;
private mapVoiceToGemini;
createTranscription(audio: TranscriptionAudioSource, agent: AgentDefinition, model: string, opts?: TranscriptionOpts): AsyncGenerator<TranscriptionEvent>;
createLiveSession(config: LiveConfig, agent: AgentDefinition, model: string, opts?: LiveOptions): Promise<LiveSession>;
}
export declare const geminiProvider: GeminiProvider;
//# sourceMappingURL=gemini.d.ts.map