import { Memory, Vector } from '../../types'; import { StorageProvider } from '../../types'; import { EmbeddingProvider } from './EmbeddingProvider'; /** * HNSW搜索提供者 * 使用HNSW算法提供高效的向量搜索功能 */ export declare class HnswSearchProvider { private vectorIndex; private embeddingProvider; private logger; private storage; private dataPath; private initialized; private indexPath; private dimensions; /** * 创建HNSW搜索提供者 * @param storage 存储提供者 * @param embeddingProvider 嵌入提供者 * @param dataPath 数据路径 */ constructor(storage: StorageProvider, embeddingProvider: EmbeddingProvider, dataPath?: string); /** * 初始化搜索提供者 * 加载所有记忆到索引中 */ initialize(): Promise; /** * 添加记忆到搜索索引 * @param memory 记忆对象 */ addMemory(memory: Memory): Promise; /** * 更新记忆 * @param memory 记忆对象 */ updateMemory(memory: Memory): Promise; /** * 从索引中移除记忆 * @param id 记忆ID */ removeMemory(id: string): void; /** * 基于内容搜索记忆 * @param query 查询文本 * @param limit 返回结果数量 * @returns 相似记忆数组 */ searchByContent(query: string, limit?: number): Promise; /** * 基于向量搜索记忆 * @param vector 查询向量 * @param limit 返回结果数量 * @returns 相似记忆数组 */ searchByVector(vector: Vector, limit?: number): Memory[]; /** * 保存索引到文件 */ saveIndex(): boolean; /** * 清空索引 */ clear(): void; }