UNPKG

@aituber-onair/chat

Version:

Chat and LLM API integration library for AITuber OnAir

51 lines 2.29 kB
import { Message, MessageWithVision } from '../types'; import { ToolChatCompletion } from '../types/toolChat'; /** * Chat service interface * Abstracts interaction with AI models */ export interface ChatService { /** * Get the model name * @returns Model name */ getModel(): string; /** * Get the vision model name * @returns Vision model name */ getVisionModel(): string; /** * Process chat messages * @param messages Array of messages to send * @param onPartialResponse Callback to receive each part of streaming response * @param onCompleteResponse Callback to execute when response is complete */ processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>; /** * Process chat messages with images * @param messages Array of messages to send (including images) * @param onPartialResponse Callback to receive each part of streaming response * @param onCompleteResponse Callback to execute when response is complete */ processVisionChat(messages: MessageWithVision[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>; /** * Process chat messages with tools * @param messages Array of messages to send * @param stream Whether to use streaming * @param onPartialResponse Callback for partial responses * @param maxTokens Maximum tokens for response (optional) * @returns Tool chat completion */ chatOnce(messages: Message[], stream: boolean, onPartialResponse: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>; /** * Process chat messages with tools and images * @param messages Array of messages to send (including images) * @param stream Whether to use streaming * @param onPartialResponse Callback for partial responses * @param maxTokens Maximum tokens for response (optional) * @returns Tool chat completion */ visionChatOnce(messages: MessageWithVision[], stream: boolean, onPartialResponse: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>; } //# sourceMappingURL=ChatService.d.ts.map