UNPKG

@ts-dspy/gemini

Version:

Gemini API integration for TS-DSPy - enables type-safe LLM interactions with Gemini models for TypeScript

29 lines (28 loc) 986 B
import { ILanguageModel, LLMCallOptions, ChatMessage, UsageStats } from '@ts-dspy/core'; export interface ModelCapabilities { supportsStreaming: boolean; supportsStructuredOutput: boolean; supportsFunctionCalling: boolean; supportsVision: boolean; maxContextLength: number; supportedFormats: string[]; } export interface GeminiConfig { apiKey: string; model?: string; } export declare class GeminiLM implements ILanguageModel { private client; private config; private usage; constructor(config: GeminiConfig); generate(prompt: string, options?: LLMCallOptions): Promise<string>; generateStructured<T>(prompt: string, schema: any, options?: LLMCallOptions): Promise<T>; chat(messages: ChatMessage[], options?: LLMCallOptions): Promise<string>; getUsage(): UsageStats; resetUsage(): void; setModel(model: string): void; getModel(): string; getModelName(): string; getCapabilities(): ModelCapabilities; }