公司制度文档散在网盘、群聊、个人电脑,新人问、老人答,答的不一定是现行版本。试过 SaaS 知识库,卡在「数据出内网」和「按人头收费」两点,就自己写了一个。 只做一件事:把 Markdown 丢进 docs/,就能提问,回答带《文档》/章节出处,能点开核对原文;文档带可见范围(普通员工查不到财务制度,财务角色能看到)。全程不联网,零第三方依赖,一个文件 380 行。 几个实现上的小设计: 分块:维护标题栈 + 段落,约 420 字一块,每块自带「《员工报销制度》/ 报销标准」这样的路径,回答时直接当引用 中文分词:二元组切分,不依赖分词库,英文数字按词切 召回:BM25 + TF-IDF 双路加权。第一版问「出差住宿报销上限」,第一条返回的是「差旅餐补」——加「查询词覆盖率」加权后才稳定命中住宿段落 回答默认抽取式,不生成。制度类问题最怕编造,返回原文让人自己核对 部署就两条命令: python3 kb.py ingest 建索引, python3 kb.py serve 起服务,目录拷到内网机器就能用。 演示( 89 秒纯录屏): ...