UNPKG

@restnfeel/agentc-starter-kit

Version:

한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템

84 lines 2.59 kB
import { RAGEngine } from "../engine"; import { ConversationConfig } from "./context-manager"; import { ChatMessage, SearchResult, ConversationContext } from "../types"; export interface ChatbotConfig { ragEngine: RAGEngine; llmConfig: { apiKey: string; modelName: string; temperature?: number; maxTokens?: number; baseURL?: string; }; conversationConfig?: Partial<ConversationConfig>; defaultPromptTemplate?: string; retrievalConfig?: { topK: number; minScore: number; searchMethod: "hybrid" | "vector" | "keyword"; }; languageDetection?: boolean; } export interface ChatResponse { message: ChatMessage; sources: SearchResult[]; conversationId: string; metadata: { retrievalTime: number; generationTime: number; totalTokens?: number; model: string; template: string; }; } export interface ChatRequest { message: string; conversationId?: string; systemPrompt?: string; promptTemplate?: string; retrievalOptions?: { topK?: number; minScore?: number; searchMethod?: "hybrid" | "vector" | "keyword"; }; userContext?: Record<string, any>; } export declare class RAGChatbot { private ragEngine; private contextManager; private promptManager; private config; constructor(config: ChatbotConfig); chat(request: ChatRequest): Promise<ChatResponse>; private retrieveDocuments; private generateResponse; private callLLM; private detectLanguage; getConversation(conversationId: string): ConversationContext | null; clearConversation(conversationId: string): boolean; getConversationHistory(conversationId: string, lastN?: number): ChatMessage[]; streamChat(request: ChatRequest): AsyncGenerator<{ type: "retrieval" | "generation" | "complete"; data: any; }>; private generateConversationId; private generateMessageId; updateConfig(updates: Partial<ChatbotConfig>): void; addPromptTemplate(template: { id: string; name: string; template: string; variables: string[]; description?: string; language?: string; }): void; getStats(): { conversations: number; totalMessages: number; ragEngineStats: any; promptTemplates: number; }; summarizeConversation(conversationId: string): Promise<string>; suggestFollowUpQuestions(conversationId: string): Promise<string[]>; } //# sourceMappingURL=chatbot.d.ts.map