一個更小、更快、更乾淨的 GraphRAG!!
nano-GraphRAG 簡介
nano-GraphRAG:一款簡潔且易於定製的 GraphRAG 實現。
😭 GraphRAG 確實功能強大,但官方的實現版本閱讀與修改起來頗爲不易。
😊 本項目爲您呈現了一個更爲精簡、高效、清晰的 GraphRAG 版本,同時保留了其核心特性。
🎁 nano-GraphRAG 的代碼量大約只有 800 行,除了測試和示例之外。
👌 短小精悍,易於擴展,支持異步操作,且完全採用類型註解。
Github 地址:https://github.com/gusye1234/nano-graphrag
nano-GraphRAG 部署和使用
第一、安裝
pip install nano-graphrag
第二、下載查爾斯 · 狄更斯的《聖誕頌歌》副本
curl https://raw.githubusercontent.com/gusye1234/nano-graphrag/main/tests/mock_data.txt > ./book.txt勞斯萊斯
第三、使用下面的 Python 代碼片段
from nano_graphrag import GraphRAG, QueryParam
graph_func = GraphRAG(working_dir="./dickens")
with open("./book.txt") as f:
graph_func.insert(f.read())
# Perform global graphrag search
print(graph_func.query("What are the top themes in this story?"))
# Perform local graphrag search (I think is better and more scalable one)
print(graph_func.query("What are the top themes in this story?", param=QueryParam(mode="local")))
下次你從相同的工作目錄初始化 GraphRAG 時,它將自動重新加載所有上下文。
第四、增量更新
with open("./book.txt") as f:
book = f.read()
half_len = len(book) // 2
graph_func.insert(book[:half_len])
graph_func.insert(book[half_len:])
nano-GraphRAG 使用內容的 MD5 哈希作爲鍵,因此不會有重複的區塊。
然而,每次你進行插入操作時,圖的社區將被重新計算,社區報告也將被重新生成。
**和 GraphRAG 對比測試
**
對比一:Index 索引對比
相對都比較慢,都超過了 10 分鐘。
對比二:Local Search 對比
1、大喬和曹操的關係
- GraphRAG 的回覆
大喬與曹操的關係在歷史和文學中顯得複雜,儘管他們互動不多。
大喬以孫策之妻和美貌著稱,吸引了曹操的關注。曹操對大喬的興趣更多是象徵性的,而非真實情感。
作爲孫家一員,大喬與曹操間存在間接敵對。她的地位和時代背景,使她與曹操的關係具有歷史和文化意義,
反映了三國時期女性與政治的聯繫。總體來說,這種關係更多是文學和歷史構建,而非實際互動。
-
nano-GraphRAG 的回覆
# 大喬與曹操的關係概覽 ## 大喬簡介 大喬,江東喬公之女,以絕色聞名,作爲孫策之妻在三國政治中佔有一席之地。周瑜提及她,突顯其在曹周關係中的戰略意義 [Data: Entities (1)]。 ## 曹操的野心 曹操欲得大喬,出於個人慾望和政治考量,夢想將二喬置於銅雀臺。他的這一願望反映了對美色的追求和政治地位的提升 [Data: Relationships (6, 7)]。 ## 政治謀略 諸葛亮曾提議用美人計,送大喬姐妹給曹操,以減輕東吳壓力,顯示大喬在政治謀略中的關鍵角色 [Data: Sources (0); Relationships (12)]。 ## 曹操的行動 曹操對大喬有興趣,但實際行動有限。周瑜反對曹操的意圖,並與諸葛亮策劃保護大喬姐妹 [Data: Sources (2)]。 ## 總結 曹操與大喬無直接互動,但她的美貌和身份使其成爲政治爭奪焦點。曹操的慾望和三國時期的權謀策略,體現了大喬在政治和戰略中的重要性 [Data: Relationships (6, 12, 13); Sources (0, 2)].
對比三:Global Search 對比
1、大喬和曹操的關係
- GraphRAG 的回覆
### 大喬與曹操的關係
大喬,喬公之女,以美貌著稱,成爲曹操垂涎的對象[Data: Reports (41)]。
#### 曹操的野心
曹操欲將大喬安置於銅雀臺,展示其權力與慾望[Data: Reports (269)]。
#### 喬公與曹操
喬公既是大喬之父,也是曹操之友,這關係複雜化了曹操對大喬的追求[Data: Reports (41)]。
### 結論
大喬與曹操的關係主要圍繞曹操的慾望和其計劃,以及喬公與曹操的友誼所引發的潛在衝突[Data: Reports (41, 269)]。
-
nano-GraphRAG 的回覆
## 曹操與大喬的關係 曹操對大喬的興趣不僅在於她的美貌,更在於其戰略價值。在三國時期,美貌與政治權力緊密相連。曹操視大喬爲政治野心的助力,權力的象徵 [Data: Reports (6)]。 作爲孫策之妻,大喬的地位和魅力使她成爲權力爭奪的焦點。曹操的企圖不止於個人喜好,而是希望通過控制大喬來削弱對手,增強自己的政治影響力 [Data: Reports (6)]。 因此,曹操與大喬的關係實質上是政治策略和權力遊戲的縮影,展現了曹操在權力鬥爭中的機智與抱負。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/9GdjLLVZvKhyUv84qh0M0Q