跳到主要内容
返回时间线
Graphify-Labs/graphify来源发表:

Graphify把项目映射成可查询知识图谱:代码解析全本地不调大模型,每条边标注抽取还是推断

核心概要

Graphify-Labs 发布的 graphify 让 AI 编程助手在项目里输入 /graphify,把代码、文档、PDF、图像和视频映射成一张可查询的知识图谱,用遍历图代替在文件里反复搜索。代码部分用 tree-sitter 解析抽象语法树,确定性执行、不调用大模型、数据不出本机;文档、PDF、图像和视频则借助助手自带模型或配置的 API 密钥做语义处理。每条连接都标注为 EXTRACTED(源中明确写出)或 INFERRED(由 graphify 解析推断),产物包括可点击的 graph.html、GRAPH_REPORT.md 和完整 graph.json。

AI-generated editorial illustration: Graphify-Labs / graphify

深度剖析

AI 编程助手处理项目时,可以从在文件里逐个搜索改为查询一张预先建好的项目知识图谱,覆盖代码、文档、PDF、图像和视频。 此前的做法是在文件之间反复搜索,graphify 把同一批材料整理成可遍历的图,之后直接对图提问、追踪两个概念之间的路径或解释单个概念。 在 FastAPI 代码库上运行后,graphify explain "APIRouter" 返回该节点的来源位置、所属社区、度数 47 及其连接列表,graphify path "FastAPI" "ModelField" 给出三跳最短路径。

代码图谱的构建不依赖大模型:代码用 tree-sitter 解析抽象语法树,过程确定,数据不离开本机。 文档、PDF、图像和视频另走一条语义通道,使用助手自带模型或用户配置的 API 密钥,因此本地确定性只覆盖代码部分。 安装需要 Python 3.10+ 与 uv 或 pipx,执行 graphify install 后助手识别并注册技能,再输入 /graphify . 即生成 graphify-out 下的三个文件。

图中每条边都带置信标签,读者能区分哪些关系直接来自源文本、哪些由解析推断得出。 路径查询的总体置信度取路径上最弱一跳的置信度,而不是各跳的平均或最高值。 示例输出中 APIRouter 到 RequestValidationError 与 Dependant 的边标为 INFERRED,到 .get() 的边标为 EXTRACTED,来自 __init__.py 的导入边标为 EXTRACTED。

启示与展望

演示范围是单个 FastAPI 代码库上的图构建与 explain、path 查询,以及代码、文档、PDF、图像和视频的映射;使用方式是 AI 编程助手,安装需 Python 3.10+ 及 uv 或 pipx。

代码解析为确定性且本地执行,但文档、PDF、图像和视频的语义处理依赖助手模型或配置的 API 密钥;路径查询的置信度取最弱一跳,因此整条路径的可信度受其中推断边限制。