数据不出本机!本地全文检索+知识图谱,可以试试这个开源项目:KnowSeek

关注我的公众号:【编程朝花夕拾】,可获取首发内容。

01 引言

我们的电脑里往往躺着一堆「沉睡」的文档:Word 报告、PDF 合同、Excel 表格、Markdown 笔记......想找一个知识点,要么靠文件名硬猜,要么开全文搜索慢得要死,更别提搞清楚「这些东西之间到底有什么关系」。

市面上的方案要么是网盘检索(数据要上传),要么是各种「AI 知识库」(动辄要接大模型、要联网、要 API Key)。

知寻 KnowSeek想走另一条路:纯本地、零大模型、开箱即用,实现全文检索和知识图谱。

02 简介

知寻 KnowSeek是这两天整理好的一个python项目,已经基本完善,纯AI开发。

该项目纯本地全文检索系统,不依赖任何大模型。输入关键词,秒级定位到文档出处。

GitHub地址:github.com/simonking-w...

2.1 全文搜索

基于 BM25 相关性排序,配合 jieba 搜索引擎模式分词,中文表达习惯友好。搜索命中的词用黄色 <mark> 标出,大小写不敏感,一眼看到重点。精准定位出处,结果不只是「哪篇文档」,而是精确到 文件路径 + 章节路径 + 段落号/行号,点开就能看原文上下文(目标段黄底,前后各 2 段灰色衬托)。

支持常用的文档格式:Word(.docx / .doc)、PDF、Excel(.xlsx / .xls)、TXT、Markdown。

可以通过来源过滤,如Word、PDF等.搜索结果顶部会显示本次命中了哪些知识图谱实体,点一下直接跳到图谱。

2.2 知识图谱

把散落的文档连成一张网。知寻的图谱分两层:

  • L0 结构层 :目录 → 文档 → 章节 的层级树,先让文档「立起来」;
  • L1 实体层 :从正文里抽取 人物 / 系统 / 术语,根据段落内共现建立关系边。

围绕图谱还有一堆实用功能:

  • 两种视图:默认是列表视图(每页 10 条),可切换力导向的图视图,支持滚轮缩放、拖拽节点、点节点看详情;
  • 最短路径:任意两个实体之间 1--6 跳的关联路径,还会标注每一段的谓词关系;
  • 别名合并:像「所述对账系统」和「对账系统」这种重复实体,可以按别名表自动收敛;
  • 重建图谱 :从现有索引重新构建,不需要重新解析文件,几百篇文档也就几十秒。

2.3 主要技术

SQLite FTS5 + jieba + BM25 + 自建知识图谱 + Flask + 本地 ECharts

  • 全文检索 :SQLite 自带的 FTS5 虚拟表 + bm25() 排序,无需 Elasticsearch;
  • 中文分词 :jieba 的 cut_for_search 搜索引擎模式,切得细、召回高;
  • 图谱可视化 :本地内置 echarts.min.js,不走 CDN,彻底离线;
  • 前端:Flask 单文件模板,一个 HTML 撑起全部界面。

所有数据只存在一个文件里------data/knowseek.db。备份、迁移,拷走这一个文件就够了。

03 快速开始

提供两种启动方式。

3.1 Windows 双击即用

仓库自带完整的 .venv 运行环境,下载解压后 pip install 都不用。严格按顺序:

  • 下载 zip 后,先右键 → 属性 → 勾选「解除锁定」,再解压(否则 Windows 会把里面的 python.exe 当外来程序拦截);
  • 解压到短路径 ,推荐 C:\knowseek\(.venv 里路径很深,长路径会被 260 字符限制截断丢文件);
  • 双击 启动知寻.bat,浏览器自动打开 **http://127.0.0.1:9876**。

双击没反应?先双击 修复环境.bat(自动解锁 + 修换行符 + 打印环境报告),再重试。

四个 Windows 脚本各司其职:

脚本 用途
启动知寻.bat 自动挑环境 → 依赖自检 → 后台启动 + 开浏览器
停止知寻.bat 终止占用 9876 端口的进程
重启知寻.bat 先停止 → 等端口释放 → 再启动(改完代码/配置后用)
修复环境.bat 下载 zip 后双击无效的万能第一步

3.2 命令

bash 复制代码
# 1. 装依赖(国内建议清华镜像)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 2. 按需改 config.yaml(端口、扩展名、图谱词典等)

# 3. 启动
python run.py

访问 http://127.0.0.1:9876 即可。

界面 Tab 顺序:📊 仪表盘 › 🔍 搜索 › 🕸 知识图谱 › 📁 文件列表 › 📄 索引文件。

04 示例

直接通过下载的ZIP包解压测试。

4.1 启动项目

4.2 启动首页

4.3 索引目录

填入要索引的文档或者目录,直接创建索引:

索引之后就可以在文件列表里面查看,还可以移除或者批量移除已存在的文件。

4.4 搜索

通过关键词可以快速搜索定位文档位置。

点击可以查看位置,也可以在系统中直接打开:

4.5 知识图谱

列表视图:

图视图:

05 小结

知寻 KnowSeek和其他RAG知识库 比起来可能差了很多,但是定位不同。KnowSeek更侧重定位到文档出处,响应迅速无需连接大模型。感兴趣的老铁可以关注一下。

相关推荐
会编程的吕洞宾1 小时前
Spring Cloud Gateway限流实战 Redis令牌桶算法+熔断降级
java·后端·spring
用户072367066601 小时前
日志脱敏:不改业务代码,单遍扫描完成替换
后端
lightning_bug1 小时前
docker部署黑马笔记
后端·架构
威哥爱编程1 小时前
【AI全栈12-10】Spring Boot 用多模态做商品图审核 / 发票识别
java·spring boot·后端
bruce541101 小时前
给 UniRAG RAG 配一个前端,为什么最后选了 Lobe UI
后端
imDwAaY1 小时前
用户态与内核态到底怎么切换?从系统调用到上下文切换
后端·操作系统
imDwAaY2 小时前
进程、线程、协程有什么区别?从资源分配到调度,一篇理清
后端·操作系统
威哥爱编程2 小时前
【AI全栈12-09】Spring Boot 用流式输出做打字机对话:点下去不再干等
java·spring boot·后端
威哥爱编程2 小时前
【AI全栈12-08】Spring Boot 用 MCP 统一接入内部系统:让 AI 接一次,全公司复用
java·spring boot·后端