import type { Context } from 'koishi'; import type { LivingMemorySearchDetailedResult, LivingMemorySearchInput, LivingMemorySearchResult } from '../../../contracts/memory'; import type { MemoryVectorSearch } from '../../../contracts/vector_index'; import type { LivingMemoryConfig, LivingMemorySearchProvider, RecallRepository } from '../../../contracts/workflows'; import { type LivingMemoryLogger } from '../../logging/logger'; type MemorySearchConfig = Pick; export declare class LivingMemorySearchEngine implements LivingMemorySearchProvider { private readonly ctx; private readonly config; private readonly repository; private readonly vectorSearch; private readonly logger; constructor(ctx: Context, config: MemorySearchConfig, repository: RecallRepository, vectorSearch: MemoryVectorSearch, logger: LivingMemoryLogger); searchMemories(presetId: string, input: LivingMemorySearchInput, conversationId?: string): Promise; searchMemoriesDetailed(presetId: string, input: LivingMemorySearchInput, conversationId?: string, excludedMemoryIds?: string[]): Promise; /** * 每条查询短语各自重排一次,候选取各次得分的最大值,与混合检索多向量 * 取最大的合并口径一致;未被任何一次重排返回的候选不进入结果。 */ private rerank; } export {};