@restnfeel/agentc-starter-kit
Version:
한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템
108 lines • 3.74 kB
TypeScript
import { RAGConfig, SearchResult } from "./types";
import { DocumentUploadResult } from "./storage";
import { HybridSearchConfig } from "./retrieval";
export declare class RAGEngine {
private vectorStore;
private embeddingModel;
private processingPipeline;
private storageManager?;
private hybridRetriever?;
private rssManager;
private config;
constructor(config: RAGConfig);
private initializeComponents;
initialize(): Promise<void>;
addDocument(filePath: string, content: Buffer): Promise<string>;
addDocuments(files: Array<{
path: string;
content: Buffer;
}>): Promise<string[]>;
search(query: string, k?: number): Promise<SearchResult[]>;
vectorSearch(query: string, k?: number): Promise<SearchResult[]>;
hybridSearch(query: string, k?: number): Promise<SearchResult[]>;
deleteDocument(documentId: string): Promise<void>;
updateDocument(documentId: string, filePath: string, content: Buffer): Promise<void>;
getSupportedExtensions(): string[];
getStats(): Promise<{
documentCount: number;
chunkCount: number;
embeddingModel: string;
vectorStoreType: string;
}>;
clear(): Promise<void>;
uploadDocumentToStorage(file: Buffer | File, fileName: string, metadata?: Record<string, any>): Promise<DocumentUploadResult>;
addDocumentFromStorage(filePath: string): Promise<string>;
uploadAndAddDocument(file: Buffer | File, fileName: string, metadata?: Record<string, any>): Promise<{
documentId: string;
uploadResult: DocumentUploadResult;
}>;
deleteDocumentFromStorage(documentPath: string): Promise<void>;
listStorageDocuments(): Promise<Array<{
name: string;
id: string;
updated_at: string;
size: number;
metadata: Record<string, any>;
}>>;
getStorageStats(): Promise<{
totalFiles: number;
totalSize: number;
bucketName: string;
}>;
private getDocumentIdFromPath;
isStorageConfigured(): boolean;
updateHybridSearchConfig(config: Partial<HybridSearchConfig>): void;
getSearchStats(): {
hybridRetriever?: {
indexSize: number;
config: HybridSearchConfig;
};
vectorStore: {
chunkCount: number;
embeddingModel: string;
};
};
clearSearchIndex(): void;
addSearchSynonyms(word: string, synonyms: string[]): void;
searchWithOptions(query: string, options?: {
method?: "hybrid" | "vector" | "keyword";
k?: number;
minScore?: number;
vectorWeight?: number;
keywordWeight?: number;
}): Promise<SearchResult[]>;
addNaverBlogRSS(blogId: string, feedName?: string, config?: {
maxItems?: number;
includeContent?: boolean;
}): Promise<{
documentIds: string[];
feedName: string;
itemCount: number;
}>;
addRSSFeed(url: string, feedName?: string, config?: {
maxItems?: number;
includeContent?: boolean;
}): Promise<{
documentIds: string[];
feedName: string;
itemCount: number;
}>;
refreshRSSFeed(feedName: string): Promise<{
documentIds: string[];
itemCount: number;
}>;
refreshAllRSSFeeds(): Promise<Map<string, {
documentIds: string[];
itemCount: number;
}>>;
removeRSSFeed(feedName: string): boolean;
getRSSFeedNames(): string[];
getRSSFeedInfo(feedName: string): {
exists: boolean;
type: "naver" | "generic" | null;
blogId?: string;
rssUrl?: string;
};
static extractNaverBlogId(url: string): string | null;
}
//# sourceMappingURL=engine.d.ts.map