UNPKG

@restnfeel/agentc-starter-kit

Version:

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

98 lines (88 loc) 1.94 kB
export interface Document { id: string; content: string; metadata: DocumentMetadata; source: string; chunks?: DocumentChunk[]; } export interface DocumentMetadata { title?: string; author?: string; createdAt: Date; updatedAt: Date; fileType: string; fileSize: number; language?: string; tags?: string[]; categories?: string[]; description?: string; } export interface DocumentChunk { id: string; content: string; metadata: ChunkMetadata; embedding?: number[]; } export interface ChunkMetadata { documentId: string; chunkIndex: number; startOffset: number; endOffset: number; tokens: number; source: string; } export interface SearchResult { chunk: DocumentChunk; score: number; document: Document; } export interface EmbeddingModel { embed(text: string): Promise<number[]>; embedBatch(texts: string[]): Promise<number[][]>; } export interface VectorStore { addDocuments(documents: Document[]): Promise<void>; search(query: string, k?: number): Promise<SearchResult[]>; delete(documentId: string): Promise<void>; update(document: Document): Promise<void>; } export interface RAGConfig { embeddingModel: string; chunkSize: number; chunkOverlap: number; vectorStorePath: string; supabaseConfig: { url: string; anonKey: string; bucket: string; }; llmConfig: { modelName: string; temperature: number; maxTokens: number; apiKey: string; }; } export interface ChatMessage { id: string; role: "user" | "assistant" | "system"; content: string; timestamp: Date; updatedAt?: Date; metadata?: { sources?: SearchResult[]; model?: string; tokenCount?: number; error?: string; [key: string]: any; }; } export interface ConversationContext { id: string; messages: ChatMessage[]; sessionId?: string; userId?: string; createdAt: Date; updatedAt: Date; metadata?: Record<string, any>; }