@aituber-onair/core
Version:
Core library for AITuber OnAir providing voice synthesis and chat processing
32 lines (31 loc) • 1.23 kB
TypeScript
import { Message, MessageWithVision } from '../../types';
/**
* 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>;
}