jorel
Version:
The easiest way to use LLMs, including streams, images, documents, tools and various agent scenarios.
24 lines (23 loc) • 1.23 kB
TypeScript
import { GoogleGenerativeAI, HarmBlockThreshold, HarmCategory } from "@google/generative-ai";
import { LlmCoreProvider, LlmGenerationConfig, LlmMessage, LlmResponse, LlmStreamResponse, LlmStreamResponseChunk, LlmStreamResponseWithToolCalls } from "../../providers";
export interface GoogleGenerativeAIConfig {
apiKey?: string;
safetySettings?: {
category: HarmCategory;
threshold: HarmBlockThreshold;
}[];
name?: string;
}
export declare class GoogleGenerativeAIProvider implements LlmCoreProvider {
readonly name: string;
readonly client: GoogleGenerativeAI;
private readonly safetySettings?;
constructor({ apiKey, safetySettings, name }?: GoogleGenerativeAIConfig);
generateResponse(model: string, messages: LlmMessage[], config?: LlmGenerationConfig): Promise<LlmResponse>;
generateResponseStream(model: string, messages: LlmMessage[], config?: LlmGenerationConfig): AsyncGenerator<LlmStreamResponseChunk | LlmStreamResponse | LlmStreamResponseWithToolCalls>;
getAvailableModels(): Promise<string[]>;
createEmbedding(model: string, text: string): Promise<number[]>;
private prepareTools;
private prepareToolConfig;
private prepareGenerationConfig;
}