利用圖形 RAG 的力量:利用語義搜索、嵌入等解鎖非結構化數據

解鎖 Graph RAG 的力量,用於語義搜索、信息提取和高級數據分析。探索這個開源的檢索增強型生成框架,它利用知識圖譜來增強大型語言模型。提高複雜查詢的準確性和相關性。

2025年2月21日

party-gif

利用 GraphRAG - 來自 Microsoft AI 的終極開源 RAG 引擎,解鎖語義搜索、嵌入和向量搜索的力量。探索這個創新解決方案如何轉變您的數據分析和問答能力,提供更相關和可靠的洞見。

什麼是 RAG (Retrieval Augmented Generation)?

RAG(Retrieval Augmented Generation)是一種用於增強現有大型語言模型的方法,通過結合外部知識來實現。RAG的核心思想是將大型語言模型的強大功能與從外部資源(如知識庫或文本語料庫)檢索和利用相關資訊的能力相結合。

RAG方法的主要優點包括:

  1. 提高相關性: 通過檢索和整合相關資訊,RAG可以提供更準確和相關的回應,特別是對於需要特定知識的問題。

  2. 減少幻覺: 研究表明,RAG可以減少大型語言模型產生虛假或事實錯誤內容的傾向,因為回應是基於檢索到的資訊。

  3. 多功能性: 除了問答,RAG還可應用於信息提取、推薦、情感分析和摘要等各種NLP任務。

  4. 私有數據處理: RAG可以處理私有或敏感的數據集,因為資訊是在本地處理和存儲的,無需與外部服務共享數據。

傳統基線RAG系統與Graph RAG方法的關鍵區別在於使用知識圖譜。Graph RAG結合文本提取、網絡分析和語言模型提示,提供了一個更加全面和強大的系統,用於利用大型語言模型進行高級數據分析和問答任務。

GraphRAG 與傳統 RAG 系統有何不同?

GraphRAG是傳統RAG(Retrieval Augmented Generation)系統的重大進步。以下是它們的不同之處:

  1. 知識圖譜提取: 與簡單的基於文本的檢索不同,GraphRAG結合文本提取、網絡分析和語言模型提示,從輸入數據構建全面的知識圖譜。這允許對內容有更深入、更全面的理解。

  2. 提高準確性和相關性: 通過利用知識圖譜,GraphRAG可以提供更準確和相關的回應,特別是對於複雜或專門的數據集。基於圖的方法有助於連接分散的信息片段,並綜合出超越基線RAG技術的洞見。

  3. 全面的數據理解: GraphRAG採取更全面的方法,增強了對大型數據集的整體理解和摘要。這使它成為在高級數據分析和問答任務中利用大型語言模型的更優選擇。

  4. 減少幻覺: GraphRAG已被證明可以減少大型語言模型產生不基於提供信息的"幻覺"內容的傾向。基於圖的方法有助於模型更緊密地遵循上下文中的可靠信息。

  5. 多功能性: 除了問答,GraphRAG還可應用於信息提取、推薦、情感分析和摘要等各種自然語言處理任務,並在私有的本地存儲環境中進行。

總之,GraphRAG代表了檢索增強生成領域的重大進步,提供了更高的準確性、相關性和全面的數據理解,使其成為在高級應用中利用大型語言模型的強大框架。

開始使用 GraphRAG

要開始使用GraphRAG,請按照以下步驟操作:

  1. 安裝先決條件:

    • 確保您的系統上已安裝Python。
    • 在終端或命令提示符中運行pip install graphrag來安裝所需的軟件包。
  2. 克隆存儲庫:

    • 打開Visual Studio Code(或您喜歡的IDE)並創建一個新的項目文件夾。
    • 在終端中導航到項目文件夾,然後運行git clone https://github.com/microsoft/graph-rag.git來克隆GraphRAG存儲庫。
  3. 設置環境:

    • 在終端中導航到graph-rag目錄。
    • 通過運行export GRAPHRAG_API_KEY=your_api_key_here來導出您的OpenAI API密鑰。
  4. 創建輸入文件夾:

    • 在終端中運行mkdir input來創建一個輸入文件夾,用於存放您的文檔。
  5. 索引文檔:

    • 將您的文檔(如文本文件、PDF)放入input文件夾。
    • 在終端中運行python dm_rag_index.py來索引文檔。
  6. 與文檔聊天:

    • 在終端中運行python dm_graph_rag.py --query "your_query_here" --root_dir . --method global
    • "your_query_here"替換為您想要詢問文檔的問題或查詢。

GraphRAG現在將使用索引過程中創建的知識圖譜,為您的查詢提供相關和全面的回應,超越傳統的檢索增強生成技術。

索引和配置 GraphRAG

要開始使用GraphRAG,您需要遵循以下步驟:

  1. 安裝先決條件:

    • 確保您的系統上已安裝Python。
    • 在命令提示符中運行提供的命令來安裝Pip。
  2. 克隆存儲庫:

    • 打開Visual Studio Code並創建一個新的窗口。
    • 通過單擊切換面板按鈕打開終端。
    • 在終端中導航到Bash環境,然後運行命令pip install graphrag來安裝所需的軟件包。
  3. 設置環境:

    • 在終端中輸入cd graphrag以導航到克隆的存儲庫。
    • 通過運行命令export GRAPHRAG_API_KEY=your_api_key_here來導出您的OpenAI API密鑰。
  4. 創建輸入文件夾:

    • 在終端中運行命令mkdir input來創建一個輸入文件夾,您可以在其中放置文件或文檔。
    • 通過單擊"文件">"打開文件夾"並選擇克隆的存儲庫,在VS Code中打開該文件夾。
  5. 索引文檔:

    • 將您的文檔(例如財務報告)放入輸入文件夾。
    • 在終端中運行命令python dm_rrag index來索引當前文檔。
    • 這將在索引的文檔上創建一個社區報告,您現在可以用於聊天。
  6. 配置環境:

    • env文件中,您可以配置API密鑰、模型類型和其他設置。
    • 您可以指定使用LLAMA模型或OpenAI接口。
    • 保存對env文件的更改。
  7. 運行代碼:

    • 在終端中運行命令python dm_rrag query --root_folder . --method global --query "your_query_here"來開始與索引的文檔聊天。

通過遵循這些步驟,您可以設置GraphRAG,索引您的文檔,並開始使用檢索增強生成功能來增強您的自然語言處理任務。

與 GraphRAG 聊天

要與GraphRAG聊天,請按照以下步驟操作:

  1. 使用python dm_rrag index命令索引文檔後,您可以通過運行命令python dm_rrag query --root_folder . --method global "your query here"來啟動聊天。

  2. "your query here"替換為您想要問GraphRAG關於索引文檔的問題或提示。

  3. GraphRAG將使用索引過程中創建的知識圖譜,提供相關和有信息的回應,利用大型語言模型和知識圖譜中的結構化信息。

  4. 您可以通過運行相同的命令並使用不同的查詢來繼續與GraphRAG聊天。該系統將使用現有的知識圖譜為您的問題提供定制的回應。

  5. 如果您想切換到不同的語言模型,可以在.env文件中配置模型,指定LLM_TYPE並提供適當的API端點或本地模型路徑。

  6. GraphRAG的全面方法到檢索增強生成使其能夠超越傳統的基線RAG技術,特別是對於複雜或私有的數據集,通過連接分散的信息片段並提供綜合的洞見。

常問問題