TTechSpecs

一句話說清楚

Graphify 是一個將大型語言模型(LLM)與圖譜結合的工具,讓你能夠構建知識圖譜和應用。它結合了 AI 的理解能力與圖譜的結構化特點,幫助你從非結構化文字中提取知識、建立關聯,並進行靈活的查詢與分析。

你可能會想:「這跟一般的 LLM 或圖譜資料庫有什麼不同?」差別在於——Graphify 不是單純地把兩者堆在一起,而是讓 LLM 負責理解與提取,圖譜負責結構與關聯,形成一個閉環的知識管理系統。

為什麼需要 LLM + 圖譜的結合?

當你試圖用 LLM 或圖譜資料庫來管理知識時,各自都有無法解決的根本問題:

LLM 的局限

問題一:無法累積知識

每次跟 LLM 對話都是從零開始。你問「我們的專案使用了哪些技術棧?」它回答完後,下次再問時,它又會重新組織答案。這對於需要持續累積知識的場景來說是致命傷。

問題二:事實不可靠

LLM 可能產生幻覺(Hallucination)——它說的事情聽起來合理,但實際上並不存在。你無法信任它的答案,還需要自己去驗證。

問題三:無法追蹤來源

當 LLM 告訴你「這個 API 支援五個參數」時,你不知道這是哪一份文件說的。如果後來 API 改了,你也不會知道。

圖譜資料庫的痛點

問題一:建模成本高昂

使用 Neo4j 這類圖譜資料庫時,你必須先定義節點類型(Person、Company、Project)和邊類型(WORKS_AT、PARTICIPATES_IN)。對於非結構化的文字資料(如 email 對話、筆記),建模本身就需要大量時間。

問題二:從文字到圖譜困難

假設你有一份 50 頁的專案文件,你想把裡面的知識提取成圖譜。傳統方式是:

  1. 讀完全文,找出所有實體
  2. 手動標記它們的類型
  3. 手動建立實體之間的關係

這過程需要大量人工,而且容易遺漏。

問題三:查詢語言有門檻

圖譜查詢語言(如 Neo4j 的 Cypher)雖然強大,但對於不熟悉圖譜概念的人來說,學習成本很高。你想問「這個專案有哪些人參與?」,卻需要寫 MATCH (p:Person)-[:PARTICIPATES_IN]->(pr:Project {name: 'ProjectX'}) RETURN p.name

Graphify 的解法:兩者各司其職

Graphify 把這兩個問題拆開,讓每個部分做自己最擅長的事:

  • LLM 負責理解:它讀懂文字,提取出實體和關係,用自然語言描述它們。
  • 圖譜負責結構:它保存這些實體和關係,確保它們可以被查詢、被追蹤、被視覺化。

這樣的分工帶來了三個關鍵好處:

  1. 知識可以累積:每次提取的知識都存在圖譜中,下次查詢時會自動包含之前累積的內容。
  2. 事實可以被驗證:圖譜中的每個節點都可以追蹤來源文件,你可以確認這是從哪裡來的。
  3. 查詢變得簡單:你用自然語言提問,LLM 把你的問題轉成圖譜查詢,再用自然語言回答你。

Graphify 的核心架構

Graphify 的運作圍繞著兩個核心概念:節點(Node)邊(Edge),以及 LLM 在其中扮演的三個角色。


1. 知識圖譜的基礎結構

知識圖譜是用節點和邊來表示知識的網狀結構。

**節點(Node)**代表實體,例如:

  • Person:「張三」、「李四」
  • Company:「Graphify-Labs」、「OpenAI」
  • Project:「Graphify」、「Superpowers」

**邊(Edge)**代表關係,例如:

  • WORKS_AT:「張三」→「Graphify-Labs」
  • PARTICIPATES_IN:「張三」→「Graphify」
  • BELONGS_TO:「Graphify」→「Graphify-Labs」

一個簡單的例子:

graph LR
    A[張三] -->|WORKS_AT| B[Graphify-Labs]
    A -->|PARTICIPATES_IN| C[Graphify]
    B -->|OWNS| C
    C -->|DEPENDS_ON| D[OpenAI]

在這個圖譜中,你可以清楚看到:

  • 張三在 Graphify-Labs 工作
  • 張三參與了 Graphify 專案
  • Graphify-Labs 擁有 Graphify 專案
  • Graphify 依賴 OpenAI 的技術

2. LLM 在 Graphify 中的三個角色

角色一:理解者(Understanding)

當你把一段文字丟給 Graphify 時,LLM 的第一個工作是理解語意。它不只是關鍵字匹配,而是真正理解這段文字在說什麼。

例如,對於「張三是 Graphify 專案的核心開發者,負責後端架構設計」,LLM 會提取出:

  • 實體:「張三」、「Graphify 專案」
  • 屬性:張三的角色是「核心開發者」、負責「後端架構設計」
  • 關係:張三參與 Graphify 專案

角色二:提取者(Extraction)

理解之後,LLM 的第二個工作是把文字轉成圖譜。它會根據理解結果,創建節點和邊。

這個過程不是固定的模板,而是 LLM 根據上下文動態判斷:

  • 這個名詞應該是什麼類型的節點?(Person?Company?Project?)
  • 這兩個實體之間應該建立什麼關係?
  • 這個屬性是節點的屬性,還是邊的屬性?

角色三:問答者(Question Answering)

當你對圖譜提問時,LLM 的第三個工作是把你的問題轉成圖譜查詢,再把查詢結果用自然語言回覆。

例如,你問「誰參與了 Graphify 專案?」,LLM 會:

  1. 把問題轉成圖譜查詢:找出所有 Person 類型的節點,它們有 PARTICIPATES_IN 的邊指向 Project 節點 Graphify
  2. 執行查詢,得到結果:["張三", "李四"]
  3. 用自然語言回覆:「Graphify 專案由張三和李四參與」

3. Graphify 的工作流程

Graphify 的完整工作流程是一個閉環:

非結構化文字 → LLM 理解 → 提取實體與關係 → 建立圖譜 → 查詢與分析
       ↑                                                              ↓
       └──────────────────── 反饋與優化 ───────────────────────────┘

第一階段:提取(Extract)

從文件、網頁或對話中提取知識:

# 從 README.md 提取專案資訊
graphify extract README.md

# 從網頁提取資訊
graphify extract https://github.com/Graphify-Labs/graphify

在這個階段,Graphify 會:

  1. 讓 LLM 讀懂文件內容
  2. 提取出所有實體和關係
  3. 在圖譜中建立對應的節點和邊
  4. 把來源資訊附加到節點上(方便追蹤)

第二階段:查詢(Query)

使用自然語言查詢圖譜:

# 查詢「誰參與了 graphify 專案?」
graphify query "誰參與了 graphify 專案?"

# 查詢「這個專案依賴哪些技術?」
graphify query "graphify 專案依賴哪些技術?"

Graphify 會:

  1. 讓 LLM 理解你的問題
  2. 把問題轉成圖譜查詢
  3. 執行查詢
  4. 把結果用自然語言回覆

第三階段:視覺化(Visualize)

把圖譜視覺化,方便理解知識結構:

# 生成圖譜視覺化
graphify visualize

這會生成一個互動式的圖譜,你可以:

  • 縮放、拖曳節點
  • 查看節點的詳細資訊
  • 追蹤特定路徑(例如:查看「張三」參與的所有專案)

跟其他方案的差別

項目 LLM 圖譜資料庫 Graphify
知識累積 每次對話都是新的 需要手動建模 自動累積,持續增長
事實驗證 可能產生幻覺 完全準確(但你先要正確建模) 來源可追蹤,可驗證
查詢方式 自然語言 Cypher / Gremlin 自然語言(LLM 轉換)
非結構化文字 直接理解 需要大量人工提取 LLM 自動提取
學習成本

應用場景

個人知識管理

你有大量的筆記、文件、網頁書籤,但很難在需要時找到關聯的資訊。Graphify 可以:

  • 從你的筆記中自動提取關鍵概念
  • 建立概念之間的關係(例如:你學了「GraphQL」,它跟「REST API」有什麼關係?)
  • 支援智能搜尋:不只是關鍵字匹配,而是語意搜尋

企業知識庫

團隊有大量的內部文件、wiki、對話記錄,但知識散落在各處,難以整合。Graphify 可以:

  • 整合所有來源的知識到一個圖譜中
  • 追蹤專案、人員、技術之間的關係
  • 支援團隊協作:新成員可以快速理解專案結構

研究分析

你在做學術研究或市場分析,需要處理大量論文、報告、新聞。Graphify 可以:

  • 從論文中提取研究方向、作者、引用關係
  • 建立研究領域的知識圖譜
  • 發現研究趨勢和潛在合作機會

小結

Graphify 不只是一個工具,更是一種新的知識管理思維。它打破了傳統「文字 vs 結構」的二元對立,讓 LLM 和圖譜各司其職,形成一個閉環的知識管理系統。

透過這個系統,你可以:

  • 把非結構化的文字自動轉成結構化的圖譜
  • 累積知識,而不是每次從零開始
  • 用自然語言查詢,而不是學習複雜的查詢語言
  • 追蹤知識來源,確保事實準確

在下一章 [安裝與設定],我們會帶你一步步把 Graphify 設定起來,並實際執行第一次知識提取。準備好就往下走吧!