sift-kg
零配置文档→知识图谱转换工具,2分钟把任意文档库变成可交互的AI理解结构化记忆
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
零配置文档→知识图谱转换工具,2分钟把任意文档库变成可交互的AI理解结构化记忆
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
sift-kg 的设计哲学是零配置启动(Zero-config start)。用户无需理解 NLP、知识图谱或 LLM 的任何细节,只需要准备一个包含文档的文件夹,然后按顺序执行以下 CLI 命令:
pip install sift-kg
sift init # 创建 sift.yaml + .env.example
sift extract ./documents/ # 从文档中提取实体和关系
sift build # 构建知识图谱
sift resolve # 发现重复实体
sift review # 交互式审阅并决定合并
sift apply-merges # 应用你的决策
sift narrate # 生成叙事摘要
sift view # 浏览器中打开交互图谱
sift export graphml # 导出到 Gephi、yEd、Cytoscape
rich 库),即使是新手也能理解数据在哪个阶段被处理。sift.yaml 配置文件支持持久化设置,sift init 生成 .env.example 让用户填入 LLM API Key,整个过程不超过 2 分钟即可看到第一个图谱。项目采用典型的模块化架构,源码位于 src/sift_kg/,按功能分为六个子模块:
入口模块,负责将各种格式的文档转换为结构化文本。支持的格式包括 PDF、DOCX、TXT、HTML 以及 kreuzberg 库支持的 75+ 种格式。对于扫描版 PDF,还支持可选 OCR 层(支持 Tesseract、EasyOCR、PaddleOCR 或 Google Cloud Vision),用户可以根据精度需求和预算选择。摄取后的文本经过 chunker 模块分块(按段落或固定长度),保证 LLM 在每个调用窗口内能处理完整的语义单元。
最核心的模块,基于 LLM 实现。sift-kg 支持两种模式:
domains/discovery.py),生成 discovered_domain.yaml,这个文件可以被复用、编辑和分享。适合完全陌生的数据领域。general(通用)、academic(学术)、osint(开源情报)三种领域配置,也支持用户编写 YAML 自定义 Schema。
抽取结果以 JSON 存储,每个实体和关系都附带来源文档和段落索引,实现了完整的溯源能力。基于 NetworkX 构建有向图(graph/knowledge_graph.py)。builder.py 负责将抽取的实体和关系节点加入图,communities.py 基于标签传播算法(Louvain 方法的变体)做社区检测,postprocessor.py 做图级别的后处理(如去除自环、规范化标签)。prededup.py 提供基于语义哈希的预去重,在 LLM 调用之前就过滤掉明显重复的内容,降低 API 调用成本。
Human-in-the-loop 的精髓模块。LLM 提出候选合并对(resolver.py),clustering.py 用语义嵌入(sentence-transformers)做向量聚类,reviewer.py 提供交互式终端 UI(sift review 命令),用户逐条 approve/reject 合并决策。io.py 负责读写合并操作日志,确保决策可审计、可回滚。这一设计非常关键:知识图谱的准确性取决于实体消歧的质量,而纯自动化的合并在复杂场景下错误率很高,sift-kg 选择把最终决定权交给人。
利用 LLM 读取图谱结构,自动生成一段叙事性摘要(narrate/generator.py)。prompts.py 中设计了专门的 prompt 模板,引导 LLM 从图谱中提取关键路径、核心实体群和主要关系,输出一段连贯的文字说明。这相当于给图谱生成一份「Executive Summary」,方便不熟悉图谱操作的读者快速理解文档集合的主要内容。
sift-kg 没有绑定任何一个 LLM 提供商,而是通过 litellm 库做统一抽象。当前支持的 providers 包括:
openai/gpt-4o-mini,在精度和成本之间做了平衡。pyproject.toml(hatchling 构建系统),代码风格检查使用 ruff,16 个测试文件覆盖所有核心模块。依赖声明清晰(主依赖 + embeddings/ocr/dev 三个可选 extras),pip install sift-kg[all] 可一次性安装所有可选依赖。sift-kg 是纯 CLI 工具,没有 Docker/Compose 支持。部署本身非常简洁:
pip install sift-kg,2 分钟完成sift view 自动打开本地浏览器(pyvis 渲染),无需 Web 服务
sift-kg 的图谱查看器在本地浏览器中呈现 force-directed 图。GitHub Pages Demo(https://juanceresa.github.io/sift-kg/)展示了三个真实案例:Transformers 研究(425 实体、1122 关系,12 篇论文)、FTX 崩塌事件(431 实体、1201 关系)和 Ontoverse 计算病理学(486 实体、1363 关系)。查看器支持节点搜索、边密度滑块、文档过滤和节点类型颜色编码等交互操作。在 RAG(检索增强生成)系统盛行的当下,sift-kg 提出了一个不同的思路:与其让 AI 在海量文档中检索,不如先把文档转化为结构化的知识图谱,让 AI 直接查询图结构。sift-kg 的 README 明确将其定位为「AI second brain」——你花 2 分钟建图谱,AI 就拥有了对你所有文档的结构化理解。 项目于 2026 年 2 月上线,不到 4 个月积累 499 Stars 且保持活跃维护(最近一次提交 2026-05-12),Open Issues 仅 3 个,说明维护状态良好。对于个人研究者、知识管理爱好者和 AI 应用开发者,sift-kg 是一个值得一试的工具——它用极低的上手成本,把你的文档从静态收藏变成动态的知识网络。