Graph
一、Graph方式
1、最轻量的方式:Wiki Link = Graph
在md文件里面写出Reference link,通过 markdown reference link 将知识串联起来,实现多跳搜索。
wiki-a.md
-> reference wiki-b.md
-> reference wiki-c.md
wiki-b.md
-> reference api-x.md
wiki-c.md
-> reference requirement-y.md
2、Wiki + 自动抽取 Graph
Schema(图谱) Wiki:Ai可以知道关系是什么
在md文件里面写出Reference link和关系,每个 Wiki 既是文档,也是一个 Graph Node,通过 reference 链接形成 Graph
Type: Requirement
Related API:
- [[SessionManager]]
Depends:
- [[LicenseService]]
Feature:
- [[RemoteAccess]]
如果只有Reference link没有Schema,Ai需要猜测可能关系,有了Schema(图谱)就很清晰
二、Reference Link数据存储
1、Reference Link 不存数据库
Graph 实际上存在于:Markdown Link
2、Reference Link 存到Neo4j,Neo4j就是把wiki里面的关系提前算好,直接存进去
-
离线构造,每次新增wiki会解析一次,
Wiki ↓ Reference Link ↓ Graph Extraction ↓ Neo4j -
在线查询,用户问SessionManager影响哪些TC?
Question ↓ Graph Search ↓ 找到相关Node ↓ 找到相关Wiki ↓ RAG ↓ LLM
3、区别:SessionManager影响哪些TC?
不存数据库,需要文件便利+链接解析
SessionManager.md
↓
找谁引用它
↓
打开很多wiki
↓
继续递归
↓
找到TC
存数据库,直接文件读取,毫秒级别,本质是查图谱