jorel
Version:
A unified wrapper for working with LLMs from multiple providers, including streams, images, documents & automatic tool use.
24 lines (23 loc) • 1.22 kB
TypeScript
import { GoogleGenAI, HarmBlockThreshold, HarmCategory } from "@google/genai";
import { LlmCoreProvider, LlmGenerationConfig, LlmMessage, LlmResponse, LlmStreamProviderResponseChunkEvent, LlmStreamResponseEvent } from "..";
export interface GoogleGenerativeAIConfig {
apiKey?: string;
safetySettings?: {
category: HarmCategory;
threshold: HarmBlockThreshold;
}[];
name?: string;
}
export declare class GoogleGenerativeAIProvider implements LlmCoreProvider {
readonly name: string;
static readonly defaultName = "google-generative-ai";
readonly client: GoogleGenAI;
private readonly safetySettings?;
constructor(options?: GoogleGenerativeAIConfig);
generateResponse(model: string, messages: LlmMessage[], config?: LlmGenerationConfig): Promise<LlmResponse>;
generateResponseStream(model: string, messages: LlmMessage[], config?: LlmGenerationConfig): AsyncGenerator<LlmStreamProviderResponseChunkEvent | LlmStreamResponseEvent, void, unknown>;
getAvailableModels(): Promise<string[]>;
createEmbedding(model: string, text: string, abortSignal?: AbortSignal): Promise<number[]>;
private parseGoogleApiError;
private prepareGenerationConfig;
}