UNPKG

jorel

Version:

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

24 lines (23 loc) 1.23 kB
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; }