import type { Middleware } from '../middleware/types.js'; import type { KnowledgeBase } from './types.js'; /** RAG 中间件配置 */ export interface RAGMiddlewareOptions { /** 检索结果数量(默认 3) */ topK?: number; /** 注入的上下文笔记标题(默认 "Retrieved Knowledge") */ noteTitle?: string; /** 每个分块最大字符数(默认 500,超出截断) */ maxChunkLength?: number; /** 最低相似度阈值(低于此值的结果不注入,默认 0.01) */ minScore?: number; /** 是否仅在首轮迭代注入(默认 false,每轮都检索) */ firstIterationOnly?: boolean; /** 日志输出函数 */ logger?: (msg: string) => void; } /** * 创建 RAG(检索增强生成)中间件 * * 在每轮迭代开始前: * 1. 提取用户最新消息文本 * 2. 检索知识库中相关分块 * 3. 将检索结果格式化为系统级上下文笔记,注入到消息列表末尾 * * @param kb 知识库实例 * @param options 配置选项 * @returns Middleware 实例 */ export declare function createRAGMiddleware(kb: KnowledgeBase, options?: RAGMiddlewareOptions): Middleware; //# sourceMappingURL=rag-middleware.d.ts.map