TTechSpecs

適用情境

完整開發工作流 是用於建立生產級知識圖譜的完整流程。它適合:

  • 企業級知識管理系統
  • 大型專案文件分析(100+ 份文件)
  • 需要多人協作的場景
  • 需要定期更新與維護的圖譜

核心步驟

第 0 步:規劃(Planning)

在開始之前,先回答以下問題:

  1. 知識來源:要從哪些文件/網頁提取知識?
  2. 實體類型:需要識別哪些類型的實體?
  3. 關係類型:實體之間有哪些關係?
  4. 使用場景:圖譜會如何被查詢和使用?
  5. 更新頻率:多久需要更新一次圖譜?

第 1 步:初始化專案

# 使用生產級配置
graphify init --backend=neo4j --llm=anthropic

# 或使用自訂配置
graphify init --config=production-config.yaml

建議配置:

  • 圖譜後端:Neo4j 叢集或託管服務
  • LLM 提供者:Anthropic Claude(更穩定)
  • 提取模式:full(最完整)

第 2 步:批量提取

# 來源清單
FILES=(
  "README.md"
  "docs/introduction.md"
  "docs/api/*.md"
  "docs/guides/*.md"
  "docs/architecture.md"
)

# 批量提取
for file in "${FILES[@]}"; do
  echo "提取 $file..."
  graphify extract "$file" --namespace="prod"
done

第 3 步:驗證提取

# 統計資訊
graphify stats

# 驗證查詢
graphify query "圖譜中是否有重複的實體?"
graphify query "所有實體是否都有來源追蹤?"
graphify query "是否有孤立節點(無任何關係)?"

第 4 步:品質檢查

# 檢查實體類型分佈
graphify query "各類型實體的數量是多少?" --format=json > entity-distribution.json

# 檢查關係完整性
graphify query "是否有缺少必要關係的實體?"

# 檢查來源覆蓋率
graphify query "哪些文件已成功提取?"

第 5 步:高級查詢

# 複雜查詢測試
graphify query "找出所有沒有參與者的專案"
graphify query "列出被多個專案依賴的技術"
graphify query "哪些人員參與了超過 3 個專案?"

第 6 步:視覺化

# 完整圖譜
graphify visualize --output=full-graph.html --layout=force

# 特定視角
graphify visualize --filter="type:Person" --output=people-graph.html
graphify visualize --filter="relationship:DEPENDS_ON" --output=deps-graph.html

# 子圖
graphify visualize --focus="核心專案" --radius=2 --output=core-subgraph.html

第 7 步:部署

# 匯出圖譜
graphify export --format=graphml --output=knowledge-graph.graphml

# 部署到生產環境
graphify deploy --target=production

# 設定定期更新
graphify schedule --cron="0 2 * * *" --command="extract --source=docs/"

完整範例

以下是建立企業知識庫的完整流程:

── 規劃階段 ──

知識來源:

  • 所有專案的 README.md
  • API 文件(docs/api/)
  • 架構文件(docs/architecture/)
  • 會議記錄(meetings/)

實體類型:Person, Project, Technology, API, Meeting

關係類型:WORKS_ON, DEPENDS_ON, PARTICIPATES_IN, DEFINES


── 初始化階段 ──

  • You:
    graphify init --config=production-config.yaml
  • AI:

    正在初始化生產級 Graphify 專案…

    生產配置

    • 圖譜後端:Neo4j Aura (雲端託管)
    • LLM 提供者:Anthropic Claude 3 Opus
    • 提取模式:full

    ✓ 專案初始化完成!


── 批量提取階段 ──

  • You:
    # 提取專案文件
    graphify extract --batch="projects.txt" --namespace="projects"
    
    # 提取 API 文件
    graphify extract --batch="api-docs.txt" --namespace="api"
    
    # 提取會議記錄
    graphify extract --batch="meetings.txt" --namespace="meetings"
  • AI:

    正在批量提取…

    提取統計

    • 處理文件:156 份
    • 識別實體:892 個
    • 建立關係:1,234 個
    • 處理時間:15 分鐘

    ✓ 批量提取完成!


── 驗證階段 ──

  • You:
    graphify validate
  • AI:

    正在驗證圖譜…

    驗證結果

    • ✓ 所有實體都有來源追蹤
    • ✓ 所有關係類型有效
    • ⚠️ 發現 12 個孤立節點
    • ✓ 沒有重複實體

    建議

    • 檢查孤立節點是否為遺漏關係
    • 考慮合併相似實體

── 視覺化階段 ──

  • You:
    # 生成多個視角
    graphify visualize --output=full-graph.html
    graphify visualize --focus="核心專案" --output=core-graph.html
    graphify visualize --filter="relationship:WORKS_ON" --output=team-graph.html
  • AI:

    正在生成視覺化…

    ✓ full-graph.html(892 節點,1,234 關係) ✓ core-graph.html(124 節點,186 關係) ✓ team-graph.html(156 節點,203 關係)

    視覺化已生成,可部署到靜態網站!


品質保證檢查清單

資料完整性

  • 所有實體都有來源追蹤
  • 沒有孤立節點(或確認其合理性)
  • 沒有重複的實體
  • 關係類型一致且正確

查詢有效性

  • 常用查詢返回合理結果
  • 複雜查詢能正確執行
  • 查詢回應時間在可接受範圍內

視覺化品質

  • 佈局清晰易讀
  • 節點標籤有意義
  • 關係方向正確
  • 顏色分類合理

部署策略

靜態部署

# 生成靜態視覺化
graphify visualize --output=index.html --static

# 部署到 Cloudflare Pages
wrangler pages deploy .graphify/public/

動態部署

# 部署 Graphify 查詢服務
graphify serve --port=4321

# 或使用 Neo4j Browser
# 直接連線到 Neo4j 實例

定期更新

# 設定每日自動更新
graphify schedule --cron="0 2 * * *" --config=update-config.yaml

監控與維護

監控指標

# 查看圖譜統計
graphify stats

# 查看查詢效能
graphify benchmark --queries=benchmark-queries.txt

定期維護

# 每週執行
graphify cleanup --remove-orphan --merge-duplicates

# 每月執行
graphify backup --name=monthly-$(date +%Y-%m)
graphify optimize

完整開發工作流確保知識圖譜的品質與可維護性,是建立生產級系統的推薦方式!