UNPKG

@agentkai/browser

Version:

AgentKai的浏览器环境特定实现

91 lines 2.7 kB
import { EmbeddingProvider, ISearchProvider, Memory, SearchOptions, SearchResult, StorageProvider } from '@agentkai/core'; /** * 浏览器环境使用的搜索提供者 * 提供基于JavaScript内存实现的向量检索功能,无需依赖外部原生库 */ export declare class BrowserSearchProvider implements ISearchProvider { private readonly logger; private readonly storage; private readonly embeddingProvider; private readonly indexName; private readonly dimensions; private initialized; private idToIndex; private memories; private currentCount; /** * 创建浏览器搜索提供者 * @param indexName 索引名称 * @param embeddingProvider 嵌入向量提供者 * @param storage 存储提供者,用于加载记忆 * @param dimensions 向量维度 */ constructor(indexName: string, embeddingProvider: EmbeddingProvider, storage: StorageProvider<Memory>, dimensions?: number); /** * 确保已初始化 */ private ensureInitialized; /** * 初始化搜索提供者 * 重建本地索引 */ initialize(): Promise<void>; /** * 添加记忆到搜索索引 * @param memory 需要添加的记忆 */ addMemory(memory: Memory): Promise<void>; /** * 更新记忆 * @param memory 更新后的记忆 */ updateMemory(memory: Memory): Promise<void>; /** * 移除记忆 * @param id 记忆ID */ removeMemory(id: string): Promise<void>; /** * 删除记忆 * @param id 记忆ID */ deleteMemory(id: string): Promise<void>; /** * 按内容搜索记忆 * @param query 搜索查询文本 * @param options 搜索选项 * @returns 搜索结果 */ searchByContent(query: string, options?: SearchOptions): Promise<SearchResult>; /** * 按向量搜索记忆 * @param vector 搜索向量 * @param options 搜索选项 * @returns 搜索结果 */ searchByVector(vector: number[], options?: SearchOptions): Promise<SearchResult>; /** * 计算相似度并返回排序结果 * @param vector 查询向量 * @param limit 结果数量限制 * @returns 匹配的记忆数组 */ private computeSimilarities; /** * 清空索引 */ clear(): Promise<void>; /** * 计算两个向量的余弦相似度 * @param vecA 向量A * @param vecB 向量B * @returns 相似度值(0-1之间) */ private cosineSimilarity; /** * 重建索引 * 加载所有记忆并重建内存索引 */ private rebuildIndex; } //# sourceMappingURL=BrowserSearchProvider.d.ts.map