@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
TypeScript
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;
}