UNPKG

bb-inspired

Version:

Core library for BB-inspired NestJS backend

79 lines (78 loc) 1.77 kB
export interface AIProviderConfig { apiKey?: string; baseUrl?: string; organization?: string; defaultModel?: string; timeout?: number; maxRetries?: number; [key: string]: any; } export interface AIMessage { role: 'system' | 'user' | 'assistant' | 'function'; content: string; name?: string; functionCall?: { name: string; arguments: string; }; } export interface TextCompletionOptions { model?: string; maxTokens?: number; temperature?: number; topP?: number; presencePenalty?: number; frequencyPenalty?: number; stop?: string[]; stream?: boolean; } export interface ChatCompletionOptions extends TextCompletionOptions { messages: AIMessage[]; functions?: AIFunction[]; functionCall?: 'auto' | 'none' | { name: string; }; } export interface AIFunction { name: string; description: string; parameters: { type: 'object'; properties: Record<string, any>; required?: string[]; }; } export interface EmbeddingOptions { model?: string; user?: string; } export interface EmbeddingResult { embeddings: number[][]; usage: { promptTokens: number; totalTokens: number; }; } export interface TextCompletionResult { text: string; usage: { promptTokens: number; completionTokens: number; totalTokens: number; }; } export interface ChatCompletionResult { message: AIMessage; usage: { promptTokens: number; completionTokens: number; totalTokens: number; }; } export interface AIModelInfo { id: string; created: number; ownedBy: string; maxContextLength?: number; supportsFunctionCalling?: boolean; }