个人知识服务
本地运行的私有知识库问答:混合检索、流式问答,回答都带可回溯的来源。
- 资料快照与解析
- 关键词索引 + 语义索引
- 混合召回
- 证据窗口
- 带引用的流式回答
为什么做
我的笔记分散在几个库里,问一个问题常常要翻好几处;这些资料又是私人的,不想交给在线服务。所以做了一个在本机运行的知识服务:资料留在本机,回答必须带着能回到原文的引用。
方案
- 两路召回:SQLite FTS5 负责精确术语,本地 384 维向量模型加 Chroma 负责同义表达,两路结果用 RRF 融合。
- 证据窗口:按 token 预算保留完整的证据片段,回答里的引用编号能定位回原文位置。
- 来源变更即失效:原件被修改、删除或无法读取时,旧版本和相关引用立即失效,历史回答会标出失效,不会悄悄回退到旧版本。
- 本地优先:服务只绑定本机地址,模型外发和联网采集默认关闭;另有个人笔记、备份导出与恢复、只读 MCP,以及 Windows EXE 打包。
怎么验证的
- 在旧 wiki 基线上冻结了 40 道题:30 道有答案(精确术语、同义表达和跨文档),5 道无答案,5 道越权。10 道用于调参,30 道留作验收,只测一次。
- 结果:保留集 20 个正例中,19 个在前 5 个片段里至少命中一篇预期文档,17 个找齐全部预期文档;越权结果为 0。
- 这组数字的边界:它是词法检索基线,Hit@5 只表示前 5 个片段里有预期文档,不等于答案准确率;基于原始资料的新题集还没有冻结。
- 权限边界、版本失效和备份恢复有回归测试覆盖。
现在做到哪
- 已经可用:关键词检索、混合召回、流式多轮问答、来源引用与失效提示、个人笔记、备份导出与恢复。
- 还没完成:语义链路的端到端验收、图片 OCR 自动入库、真实客户端的 MCP 联调、在干净电脑上的安装验收。
- 代码暂不开源:许可证和模型分发条款还没有定。