成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

微軟 GraphRAG 與 傳統 RAG 架構設計精髓 原創

發布于 2024-7-11 13:33
瀏覽
1收藏

在數據洪流不斷涌來的今天,如何高效且精準地從浩瀚的信息海洋中提煉出有價值的資訊,成為了自然語言處理領域待解決的關鍵問題。傳統的檢索增強生成(RAG)架構,以其獨特的檢索與生成結合的方式,在一定程度上滿足了這一需求,為信息處理帶來了便捷。然而,隨著應用場景的復雜化,傳統RAG在處理全局性、深層次語義信息上的局限性逐漸顯現。

正是在這樣的背景下,微軟創新性地推出了GraphRAG(圖的檢索增強生成)架構,它不僅保留了傳統RAG架構中的精華部分——即快速檢索與生成高質量響應的能力,更在此基礎上引入了知識圖譜這一革命性的技術元素。通過精心構建的知識圖譜,GraphRAG實現了對信息結構的深度挖掘與全局性把握,使得其在處理復雜語義關系和多主題問題時展現出前所未有的優勢。下面本文將針對 GraphRAG 與 傳統 RAG 架構設計分別進行分析。

一、傳統 RAG 架構設計思想

微軟 GraphRAG 與 傳統 RAG 架構設計精髓 -AI.x社區

1、文檔編碼

傳統RAG首先會對輸入的文檔進行預處理,如分詞、去除停用詞等。接著,利用自然語言處理(NLP)技術,如詞嵌入或Transformer模型,將文檔中的每個詞或短語轉換為高維向量,形成文檔的向量表示。

2、信息檢索

在文檔編碼完成后,RAG架構會利用這些向量在已有的知識庫中進行相似度計算,找到與輸入文檔最相關或最匹配的信息。知識庫可以包括預訓練的模型、外部數據庫、歷史問答對等。

3、融合生成

檢索到相關信息后,RAG架構會將這些信息與原始輸入文檔進行融合。融合的方法可以是通過某種權重機制、注意力機制等,使得原始文檔與檢索到的信息能夠相互補充。最后,基于融合后的信息,RAG架構會生成相應的響應或輸出。

二、微軟 GraphRAG架構設計思想

微軟 GraphRAG 與 傳統 RAG 架構設計精髓 -AI.x社區

1、知識圖譜構建

GraphRAG架構的核心在于其知識圖譜的構建。微軟利用大型語言模型(LLM)從源文檔中提取實體、關系和屬性等信息。這些信息被組織成一個結構化的知識圖譜,圖譜中的節點代表實體,邊代表實體之間的關系。

2、社區檢測與摘要

在知識圖譜構建完成后,GraphRAG會使用社區檢測算法(如Leiden算法等)來識別圖譜中緊密相關的實體組(社區)。每個社區代表一個特定的主題或領域,GraphRAG會為每個社區生成一個摘要,這個摘要能夠概括該社區的主要內容或特點。

3、查詢聚焦生成

當用戶輸入查詢時,GraphRAG會根據查詢內容在知識圖譜中查找相關的社區和摘要。GraphRAG會基于這些相關的社區和摘要生成部分響應,每個響應都針對查詢中的某個方面或主題。最后,GraphRAG會將所有相關的部分響應進行匯總和整合,形成一個完整的全局答案。

微軟 GraphRAG 與 傳統 RAG 架構設計精髓 -AI.x社區

如上這是論文的一個截圖,描述了 Graph RAG 處理流程。

下圖展示了一個可視化示例。每個圓圈代表一個實體(例如,一個人、一個地點或一個組織),實體大小表示該實體具有的關系數量,顏色表示相似實體的分組。顏色分區是一種建立在圖形結構之上的自下而上的聚類方法,它使我們能夠回答不同抽象層次的問題。

微軟 GraphRAG 與 傳統 RAG 架構設計精髓 -AI.x社區

三、微軟 GraphRAG 與傳統 RAG 架構設計對比分析

全局性:傳統RAG更側重于局部信息的匹配和融合,而GraphRAG通過知識圖譜和社區檢測機制能夠捕獲全局信息,提供更全面、準確的回答。

結構化表示:GraphRAG使用知識圖譜來表示信息,這種結構化的表示方式使得信息更加清晰、易于理解和推理。而傳統RAG則更依賴于向量序列來表示信息,基線 RAG 難以將各個點連接起來。

性能優勢:GraphRAG的模塊化設計使得在索引和查詢時能夠并行處理多個社區和摘要,提高了處理效率。

四、GraphRAG 系統的簡單使用示例

環境要求:

Python 3.10-3.12

運行示例:


# 安裝 GraphRAG

pip install graphrag


# 運行索引器,設置一個數據項目和一些初始配置

# 準備一個示例數據集
mkdir -p ./ragtest/input


# 獲取查爾斯·狄更斯的《圣誕頌歌》數據
curl https://www.gutenberg.org/cache/epub/24022/pg24022.txt > ./ragtest/input/book.txt

# 初始化您的工作區,首先運行命令graphrag.index --init
python -m graphrag.index --init --root ./ragtest

# 這將在目錄中創建兩個文件:.env和。settings.yaml./ragtest  

# .env包含運行 GraphRAG 管道所需的環境變量。如果檢查文件,您將看到已定義的單個環境變量。  

# GRAPHRAG_API_KEY=<API_KEY>這是 OpenAI API 或 Azure OpenAI 端點的 API 密鑰。您可以將其替換為您自己的 API 密鑰。  
# settings.yaml包含管道的設置。您可以修改此文件以更改管道的設置。

# 這里提供了兩種方式,以下以 Azure OpenAI 用戶應在 settings.yaml 文件中設置以下變量為例

type: azure_openai_chat # Or azure_openai_embedding for embeddings

api_base: https://<instance>.openai.azure.com

api_version: 2024-02-15-preview # You can customize this for other versions

deployment_name: <azure_model_deployment_name>

# 運行索引管道
python -m graphrag.index --root ./ragtest


# 運行查詢引擎,有兩種方式:
# 全局搜索提出高級問題的示例:
python -m graphrag.query \--root ./ragtest \--method global \"What are the top themes in this story?"

# 本地搜索詢問有關特定角色的更具體問題的示例:
python -m graphrag.query \--root ./ragtest \--method local \"Who is Scrooge, and what are his main relationships?"


總結

微軟GraphRAG通過引入知識圖譜和社區檢測機制,有效解決了傳統RAG在處理全局性問題時的局限性。其結構化表示和并行處理的能力使得GraphRAG在信息檢索和生成領域具有顯著優勢。然而,其復雜性和高昂的成本也是需要考慮的因素。未來,隨著技術的不斷進步和優化,GraphRAG有望在更多領域得到應用和發展。

開源地址:??https://github.com/microsoft/graphrag???


本文轉載自公眾號頂層架構領域

原文鏈接:??https://mp.weixin.qq.com/s/k5sF7nYufXbwW8OO29sAtw??



?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
已于2024-7-11 13:49:29修改
收藏 1
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 精品国产乱码久久久久久88av | 97超级碰碰 | 国产成人精品在线 | 日韩中文在线观看 | www.av在线| av在线免费观看网址 | 中文字幕99 | 亚洲福利视频网 | 成人免费视频 | 美女视频黄的免费 | 亚洲欧美中文日韩在线v日本 | 国产在线视频在线观看 | 精品1区| 国产一级片免费在线观看 | 人人擦人人干 | 日韩黄 | 国产日韩欧美在线观看 | jizz亚洲人| 亚洲男人网 | 国产精品国产a级 | a视频在线 | 黄视频免费在线 | 91高清在线视频 | 国产乱码精品1区2区3区 | 国产美女一区二区 | 免费一区二区 | 日韩色视频 | 亚洲精品99久久久久久 | 中文天堂在线观看 | 国产91久久久久 | 国产精品一区二区欧美 | 中国三级黄色录像 | 欧美在线一区视频 | 久久久国产一区二区三区 | 91精品国产92 | 亚洲视频免费 | 男人天堂久久久 | 久久久久久久久久久国产 | 国产无套一区二区三区久久 | 免费成人av网站 | 91一区二区三区在线观看 |