適用情境
增量提取工作流 是在快速入門工作流之上的擴展。它適合:
- 需要持續加入新知識的場景
- 定期更新圖譜的內容
- 需要驗證提取結果的任務
- 建立中型知識圖譜(10-100 份文件)
核心步驟
第 1 步:初始化專案
graphify init --backend=neo4j
建議使用 Neo4j 作為後端,以支援更大的圖譜規模。
第 2 步:初始提取
# 從核心文件開始
graphify extract README.md
先從最重要的文件開始提取,建立圖譜的基礎。
第 3 步:查詢驗證
# 驗證提取結果
graphify query "圖譜中有哪些專案?"
graphify query "誰參與了這些專案?"
透過查詢確認提取的內容是否符合預期。
第 4 步:增量提取
# 繼續提取其他文件
graphify extract docs/introduction.md
graphify extract docs/api-reference.md
逐步擴展圖譜,每次提取後都可查詢驗證。
第 5 步:視覺化
graphify visualize --output=knowledge-graph.html
生成完整的知識圖譜視覺化。
完整範例
以下是建立專案知識圖譜的完整流程:
── 第 1 輪:初始化與基礎提取 ──
-
You:
graphify init --backend=neo4j -
AI:
正在初始化 Graphify 專案…
✓ 建立目錄:
.graphify/✓ 使用 Neo4j 後端:bolt://localhost:7687✓ 專案初始化完成!
-
You:
graphify extract README.md -
AI:
正在從 README.md 提取知識…
提取摘要:
- 實體:12 個
- 關係:18 個
✓ 知識已加入圖譜!
── 第 2 輪:查詢驗證 ──
- You:
graphify query "圖譜中有哪些專案?" - AI:
根據圖譜查詢結果,目前有 2 個專案:
- Graphify - LLM 與圖譜結合工具
- Superpowers - AI 開發方法論
── 第 3 輪:擴展提取 ──
-
You:
graphify extract docs/usage.md -
AI:
正在從 docs/usage.md 提取知識…
提取摘要:
- 新增實體:8 個
- 新增關係:12 個
✓ 知識已合併到圖譜中!
-
You:
graphify query "Graphify 專案的使用方式有哪些?" -
AI:
根據圖譜查詢結果,Graphify 的使用方式包括:
- 知識提取 - 從文件中提取實體關係
- 自然查詢 - 用自然語言查詢圖譜
- 視覺化 - 生成互動式圖譜視覺化
── 第 4 輪:最終視覺化 ──
- You:
graphify visualize --output=full-graph.html - AI:
正在生成視覺化…
圖譜統計:
- 節點數:47
- 關係數:72
✓ 視覺化已生成:full-graph.html
增量提取策略
1. 由核心到周邊
# 先提取核心文件
graphify extract README.md
graphify extract docs/introduction.md
# 再提取細節文件
graphify extract docs/advanced-usage.md
graphify extract docs/api-reference.md
2. 分批驗證
# 每批提取後都查詢驗證
graphify extract docs/*.md
graphify query "總共提取了哪些概念?"
3. 定期備份
# 每次重要提取後備份
graphify backup --name=after-docs-extraction
優勢與注意事項
優勢
| 特點 | 說明 |
|---|---|
| 🔍 可驗證 | 每次提取後可查詢確認結果 |
| 📈 可擴展 | 持續加入新知識而不破壞現有結構 |
| 🔄 可回溯 | 發現問題可回退到上一版本 |
| 🎯 精確控制 | 選擇性提取特定文件 |
注意事項
| 事項 | 說明 | 應對方式 |
|---|---|---|
| 🐌 提取時間 | 大量文件耗時較長 | 分批提取,優先處理重要文件 |
| 🔄 重複實體 | 不同文件可能提取重複內容 | Graphify 會自動去重,但需驗證 |
| 📊 圖譜複雜度 | 節點過多時視覺化困難 | 使用過濾和子圖功能 |
與其他工作流比較
| 特性 | 快速入門 | 增量提取 | 完整開發 |
|---|---|---|---|
| 適用規模 | < 10 文件 | 10-100 文件 | > 100 文件 |
| 後端 | 內建 | Neo4j | Neo4j 叢集 |
| 驗證步驟 | 無 | 查詢驗證 | 完整測試 |
| 協作支援 | 無 | 基礎 | 完整 |
常見問題
Q1:如何避免重複提取?
A:Graphify 會自動去重,但你可以:
- 使用命名空間區分來源(
--namespace) - 查詢後再決定是否提取
- 使用
--dry-run預覽提取結果
Q2:圖譜變得太大怎麼辦?
A:
- 使用子圖視覺化(
--focus) - 過濾特定關係(
--filter) - 考慮將圖譜分片
Q3:如何追蹤提取進度?
A:
- 使用查詢統計節點數量
- 查看圖譜視覺化
- 使用
graphify stats查看統計資訊
增量提取工作流是建立實用知識圖譜的推薦方式,平衡了效率與品質!