檢索增強生成(RAG)已成為將 LLM 輸出錨定於外部知識的標準方法。但標準 RAG 有一個根本限制:它將每個查詢視為獨立事件,沒有對過去檢索的記憶,也無法跨文件連接資訊。HippoRAG 從人類大腦的海馬體中汲取靈感來克服這一限制,創建了一個能大幅改善多跳問答的長期記憶系統。
發表於 NeurIPS 2024,位於 github.com/OSU-NLP-Group/HippoRAG,HippoRAG 將 LLM 與知識圖譜結合在一個以人類記憶的海馬體索引理論為模型的框架中。其成果是一個 RAG 系統,能從文件中建立持久的知識結構,使其能夠回答需要跨越多個來源連接資訊的複雜問題——在多跳 QA 基準測試上,比標準 RAG 提升約 20%。
該專案由俄亥俄州立大學 NLP 小組的研究人員開發,並迅速在學術和工業界獲得關注。最新版本 HippoRAG 2 在檢索準確率和計算效率方面引入了進一步的改進。該框架與模型無關,可應用於任何文件集合。
什麼是 HippoRAG?
HippoRAG 是一個受神經生物學啟發的 RAG 框架,透過將知識圖譜與檢索增強生成相結合,為 LLM 建立長期記憶。它以海馬體索引理論為模型,該理論認為海馬體會為分散在大腦皮層中的資訊建立和儲存索引指針。HippoRAG 在多跳問答基準測試上達到了最先進的效能。
HippoRAG 是如何運作的?
HippoRAG 分兩個階段運作:離線索引階段和在線檢索階段。
| 階段 | 元件 | 發生什麼 | 類比 |
|---|---|---|---|
| 離線索引 | 基於 LLM 的提取 | 從文件中提取開放知識圖譜三元組 | 海馬體編碼 |
| 離線索引 | 命名實體識別 | 識別實體並跨文件連結 | 模式分離 |
| 離線索引 | 圖譜建構 | 建立連接所有文件的統一知識圖譜 | 認知地圖形成 |
| 在線檢索 | 查詢編碼 | 將問題編碼為圖譜級查詢 | 海馬體回憶 |
| 在線檢索 | 圖譜遍歷 | 沿實體和關係路徑尋找答案 | 模式完成 |
| 在線檢索 | 上下文組裝 | 收集相關段落作為 LLM 上下文 | 情節記憶檢索 |
這種兩階段方法意味著一旦知識圖譜建立完成,檢索就比為每個查詢重新嵌入和搜尋所有文件要高效得多。
HippoRAG 2 帶來了哪些改進?
HippoRAG 2 解決了原始版本的若干限制,並引入了新的功能。
| 特性 | HippoRAG 1 | HippoRAG 2 |
|---|---|---|
| 圖譜建構 | 單次 LLM 提取 | 帶驗證的疊代精煉 |
| 實體連結 | 精確字串匹配 | 語意 + 模糊匹配 |
| 檢索範圍 | Top-k 段落 | 自適應檢索深度 |
| 計算成本 | 高索引成本 | 降低 40% 索引成本 |
| 多跳準確率(2WikiMultihop) | 51.3% | 59.8% |
| 多跳準確率(HotpotQA) | 58.2% | 65.1% |
| 單跳準確率(Natural Questions) | 44.7% | 51.4% |
HippoRAG 2 的改進使其適用於更大規模的文件集合和更高吞吐量的應用。
如何安裝和使用 HippoRAG?
HippoRAG 以 Python 套件形式提供,API 非常直觀:
# 安裝
pip install hipporag
# 基本使用
from hipporag import HippoRAG
# 索引文件
rag = HippoRAG()
rag.index(documents)
# 查詢
answer = rag.query("What is the relationship between protein X and disease Y?")
print(answer)
該函式庫與常見的文件載入器和嵌入模型整合,並同時支援 OpenAI 和開源嵌入後端。
如何引用 HippoRAG?
如果您在學術工作中使用 HippoRAG,請引用 NeurIPS 2024 論文:
@inproceedings{hipporag2024,
title={HippoRAG: Neurobiologically Inspired Long-Term Memory for Large Language Models},
author={Gutierrez, Bernal Jimenez and others},
booktitle={NeurIPS},
year={2024}
}
常見問題
什麼是 HippoRAG?
HippoRAG 是一個受神經生物學啟發的 RAG 框架,使用知識圖譜為 LLM 建立長期記憶。與標準 RAG 相比,在多跳 QA 上準確率提升約 20%,發表於 NeurIPS 2024。
HippoRAG 是如何運作的?
HippoRAG 有兩個階段:離線索引(從文件中提取知識圖譜三元組、連結實體和建構圖譜)和在線檢索(編碼查詢、遍歷圖譜和為 LLM 組裝相關段落)。這反映了人類記憶的海馬體索引理論。
HippoRAG 2 提供了哪些改進?
HippoRAG 2 引入了疊代圖譜精煉、語意實體匹配、自適應檢索深度和降低 40% 的計算成本。準確率在 2WikiMultihop 上從 51.3% 提升到 59.8%,在 HotpotQA 上從 58.2% 提升到 65.1%。
如何安裝 HippoRAG?
透過 pip install hipporag 安裝。該函式庫支援 OpenAI 嵌入和開源嵌入模型,並整合了常見的文件載入器。
如何引用 HippoRAG?
引用 Gutierrez 等人的 NeurIPS 2024 論文。BibTeX 條目可在 GitHub 儲存庫的 README 中找到。
延伸閱讀
- HippoRAG GitHub 儲存庫
- HippoRAG:受神經生物學啟發的 LLM 長期記憶(NeurIPS 2024)
- HippoRAG 2:透過疊代精煉實現更好的檢索
- 海馬體索引記憶理論
- 檢索增強生成:調查
flowchart TB
subgraph 離線索引
A[文件集合] --> B[LLM 提取]
B --> C[知識三元組]
C --> D[實體連結]
D --> E[知識圖譜]
end
subgraph 在線檢索
F[使用者查詢] --> G[查詢編碼]
G --> H[圖譜遍歷]
H --> I[上下文組裝]
I --> J[LLM 答案]
end
E --> Hgraph TD
subgraph 比較
A[標準 RAG] --> B[嵌入每個查詢]
B --> C[向量相似性搜尋]
C --> D[Top-K 段落]
D --> E[答案生成]
F[HippoRAG] --> G[建立知識圖譜]
G --> H[將查詢編碼為圖譜遍歷]
H --> I[多步驟路徑尋找]
I --> J[組裝關聯段落]
J --> K[答案生成]
end
subgraph 準確率
L["標準 RAG:42.1%(2WikiMultihop)"]
M["HippoRAG 1:51.3%"]
N["HippoRAG 2:59.8%"]
end
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!