/** * File-based Vector Store * * @requirement REQ-RAG-102 * @design DES-KATASHIRO-003-RAG §3.3 */ import type { Chunk, SearchResult, Vector, VectorStore } from '../types.js'; /** * FileVectorStoreの設定 */ export interface FileVectorStoreConfig { /** 保存先ファイルパス */ filePath: string; /** 類似度しきい値(デフォルト: 0.7) */ similarityThreshold?: number; /** 自動保存(デフォルト: true) */ autoSave?: boolean; /** 保存間隔(ミリ秒、デフォルト: 1000) */ saveIntervalMs?: number; } /** * ファイルベースのベクトルストア * データをJSONファイルに永続化 */ export declare class FileVectorStore implements VectorStore { readonly name = "file"; private entries; private filePath; private similarityThreshold; private autoSave; private saveIntervalMs; private isDirty; private saveTimer; private createdAt; private isInitialized; constructor(config: FileVectorStoreConfig); /** * 格納エントリ数を取得 */ get size(): number; /** * ストアを初期化(ファイルから読み込み) */ init(): Promise; add(chunk: Chunk, vector: Vector): Promise; addBatch(items: Array<{ chunk: Chunk; vector: Vector; }>): Promise; search(vector: Vector, topK: number): Promise; delete(chunkId: string): Promise; /** * ストアをクリア */ clear(): Promise; /** * 指定IDのチャンクが存在するか確認 */ has(chunkId: string): Promise; /** * 即座にファイルに保存 */ save(): Promise; /** * 未保存の変更があるか確認 */ get dirty(): boolean; /** * ストアを閉じる(保留中の保存を実行) */ close(): Promise; /** * ファイルパスを取得 */ getFilePath(): string; /** * 初期化を確認 */ private ensureInitialized; /** * 変更をマーク */ private markDirty; /** * 保存をスケジュール */ private scheduleSave; /** * コサイン類似度を計算 */ private cosineSimilarity; } //# sourceMappingURL=FileVectorStore.d.ts.map