AI

LightRAG:簡單快速的圖形檢索增強生成框架

LightRAG 是香港大學的 EMNLP 2025 研究專案,利用知識圖譜進行 RAG,具備雙層檢索、增量更新與圖形視覺化功能。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
LightRAG:簡單快速的圖形檢索增強生成框架

LightRAG 是香港大學 (HKU) 的一項研究專案,重新想像了使用知識圖譜的檢索增強生成(RAG)。該專案已被 EMNLP 2025 收錄,以基於圖形的架構取代傳統的平面向量儲存方法,從文件中提取實體及其關係,為 LLM 應用提供顯著更好的上下文理解。

傳統 RAG 系統透過嵌入相似度檢索孤立文件片段,而 LightRAG 則從你的文件建立結構化的知識圖譜——實體成為節點,關係成為邊。當查詢送達時,它會在圖形中執行雙層檢索:低層級檢索用於具體事實答案,高層級檢索用於更廣泛的主題摘要。結果是檢索不僅理解哪些詞語一起出現,還理解概念之間實際的關聯方式。

該專案不僅因其創新方法,也因其實用性而獲得了開源社群的廣泛關注。程式碼庫輕量、文件完善,並包含增量更新(新增文件時無需完整重建)、互動式圖形視覺化及多種後端支援(OpenAI、Ollama、Hugging Face)等功能。

儲存庫github.com/HKUDS/LightRAG


LightRAG 的圖形檢索是如何運作的?

傳統 RAG 將文件編碼為平面向量,並透過餘弦相似度檢索片段——這個過程從根本上受限,因為它不了解片段之間的相互關係。LightRAG 透過在索引階段建構知識圖譜來解決此問題。

該管線分三個階段運作:

  1. 圖形建構:處理文件以提取實體(人物、公司、概念)及其關係。這些形成儲存為結構化資料的有向圖。
  2. 社群檢測:使用層次聚類將圖形分割為相關實體的社群。每個社群生成一個摘要嵌入,用於高層級檢索。
  3. 雙層檢索:查詢同時與實體層級和社群層級的嵌入進行匹配,然後將檢索到的圖形上下文提供給 LLM 進行答案生成。

這種架構產生的答案反映了知識的實際結構,而非任意的文件邊界。

雙層檢索有哪些優勢?

雙層設計是 LightRAG 的決定性創新。要理解其重要性,請考慮兩種類型的問題:

查詢類型傳統 RAGLightRAG 雙層
「Apple 在 2020 年收購了什麼?」尋找提到「Apple」、「2020」和「收購」的片段低層級檢索:直接追蹤圖形中的 [Apple] --acquired--> [Startup X]
「Apple 的收購策略是什麼?」在不相關的片段中散亂搜尋高層級檢索:返回整個「Apple 收購」群集的社群摘要
「Apple 的 AI 策略與 Google 相比如何?」難以連接不同的片段群組遍歷兩個群集並返回合併的圖形上下文
「解釋 Apple 晶片開發的時間線」可能遺漏稀疏片段之間的時間順序關聯低層級檢索追蹤時間關係邊:[Apple] --developed--> [A14][Apple] --developed--> [M1]

關鍵在於圖形自然捕捉關係,這是平面向量儲存無法做到的。雙層檢索讓 LightRAG 能自動為每個查詢選擇適當的粒度——這是傳統 RAG 系統需要手動設定才能實現的功能。

主要功能規格有哪些?

功能描述狀態
圖形建構從文件提取實體與關係穩定
雙層檢索低層級(事實)與高層級(摘要)查詢穩定
增量更新無需完整圖形重建即可合併新文件穩定
圖形視覺化互動式實體-關係圖形瀏覽器穩定
多種後端OpenAI、Ollama、Hugging Face、自訂 API支援
API 存取Python SDK + RESTful API穩定
嵌入模型可設定,支援多種模型支援

增量更新是如何運作的?

LightRAG 最實用的功能之一,是支援無需重建整個圖形的增量知識庫更新。這對於資料持續變化的實際部署至關重要。

增量更新過程效率高,因為它只處理新文件的實體與關係,將其合併到現有圖形結構中,並僅重新計算受影響節點和社群的嵌入。這避免了完整圖形重建的 O(n) 成本,使 LightRAG 非常適合持續成長的知識庫。

LightRAG 支援哪些後端?

後端使用案例設定
OpenAI (GPT-4o, GPT-4o-mini)使用雲端 LLM 的生產部署LIGHTRAG_LLM_BACKEND=openai
Ollama使用開放模型的本機/私有部署LIGHTRAG_LLM_BACKEND=ollama
Hugging FaceHF Hub 的自訂模型LIGHTRAG_LLM_BACKEND=huggingface
自訂端點企業代理或自託管 APILIGHTRAG_LLM_BACKEND=custom

LightRAG 的後端抽象意味著你可以先用 OpenAI 進行原型設計,然後在生產環境中切換到 Ollama 的本機模型——或者執行混合模式,嵌入在本機進行而生成使用雲端。

如何安裝與使用 LightRAG

透過 pip 安裝非常簡單:

pip install lightrag-hku

基本使用只需幾行 Python:

from lightrag import LightRAG, QueryMode

rag = LightRAG(workspace_dir="./my_knowledge_base")

# 插入文件
rag.insert("Apple 在 2020 年收購了新創公司 X 以擴展其 AI 能力。")
rag.insert("Google 在 2023 年推出了 Gemini 模型,與 GPT-4 競爭。")

# 使用雙層檢索進行查詢
answer = rag.query("Apple 的收購策略是什麼?",
                   mode=QueryMode.HYBRID)

# 低層級查詢具體事實
fact = rag.query("Apple 在 2020 年收購了什麼?",
                 mode=QueryMode.LOCAL)

該系統還支援從檔案批次插入文件、自訂嵌入設定,以及與現有文件管線整合。

常見問題

什麼是 LightRAG?它與傳統 RAG 有何不同? LightRAG 是香港大學的 EMNLP 2025 研究專案,以知識圖譜方法取代平面向量資料庫檢索。與傳統 RAG 透過嵌入相似度檢索文件片段不同,LightRAG 從文件中提取實體與關係到圖形結構中,實現雙層檢索(低層級針對特定事實,高層級針對全局摘要)。

LightRAG 的雙層檢索是如何運作的? LightRAG 的雙層檢索以兩種粒度運作。低層級檢索查找具體的實體關係,而高層級檢索捕捉更廣泛的摘要。基於圖形的方法會根據查詢自動決定適當的層級,無需手動設定。

LightRAG 支援知識庫的增量更新嗎? 是的,LightRAG 透過部分圖形重構支援增量知識庫更新。當新增文件時,LightRAG 會提取實體與關係,將其合併到現有圖形中而無需完整重建,僅更新受影響節點的嵌入。

LightRAG 提供哪些圖形視覺化功能? LightRAG 提供互動式圖形視覺化,以節點顯示實體、以邊顯示關係,並按社群叢集進行顏色編碼。使用者可以探索知識圖譜、點擊實體查看詳細上下文、追蹤關係路徑,以及視覺化檢查檢索結果的關聯方式。

LightRAG 支援哪些後端與 API? LightRAG 支援多種 LLM 後端,包括 OpenAI、Ollama、Hugging Face 及自訂端點。它提供 Python API 和 RESTful API 供外部應用程式整合。

延伸閱讀

TAG