What is Graphiti?
在建構智慧型 AI 代理程式時,處理不斷變化的資訊是一大挑戰。傳統方法往往難以跟上,缺乏順暢整合新資料或準確理解歷史背景的能力。Graphiti 提供一個強大的框架,專為建構和查詢隨時間演變的知識圖譜而設計,為您的 AI 代理程式提供在動態環境中有效運作所需的上下文記憶。
Graphiti 不依賴檢索增強生成 (Retrieval-Augmented Generation, RAG) 中常見的靜態快照或週期性批次處理,而是將使用者互動、結構化的企業資料和非結構化資訊持續編織成一個連貫且具有時間意識的知識圖譜。這讓您的應用程式不僅能理解已知的是什麼,還能理解何時為真,從而實現更複雜的推理和互動。Graphiti 為 Zep 提供核心記憶層,有助於其在代理程式記憶基準測試中達到最先進的效能。
主要功能
Graphiti 提供多種針對動態資料和 AI 代理程式量身打造的功能:
📈 即時增量更新:將新資訊(事件)立即整合到圖譜中,而無需進行昂貴的完整重新計算。這可讓您的代理程式知識保持最新,且延遲時間最短。
⏱️ 雙時態資料模型:明確追蹤事件發生的時間(有效時間)和記錄的時間(交易時間)。這允許精確的「時間點」查詢,讓您詢問過去特定時刻已知的事物。
🔍 高效的混合檢索:結合語義(基於嵌入)、關鍵字 (BM25) 和圖形遍歷搜尋方法。這種多管齊下的方法可快速提供相關結果,通常在亞秒級時間範圍內,而無需僅依賴較慢的 LLM 摘要進行檢索。
🧩 自定義實體定義:使用簡單的 Pydantic 模型定義您自己的實體類型。這種靈活性讓您可以根據您的特定領域和應用程式需求,客製化知識圖譜的結構(本體)。
⚙️ 可擴展性:專為處理大型資料集而設計,利用平行處理能力(如果支援)來處理企業級工作負載。
使用案例
開發複雜的聊天機器人:建構能夠準確記住使用者偏好和對話歷史記錄的聊天機器人,即使詳細資訊在多次互動中發生變化。Graphiti 可以追蹤不斷演變的關係,例如「使用者喜歡產品 X」,然後「使用者不喜歡產品 X」,並根據時間了解正確的狀態。
建立具備上下文意識的任務自動化代理程式:設計在動態業務資料上運作的代理程式。例如,代理程式可以透過查詢 Graphiti 知識圖譜來管理庫存水平、追蹤客戶支援票證狀態或監控專案進度,而該知識圖譜會使用即時營運資料持續更新。
建立智慧型資訊整合工具:建構從各種不斷變化的來源(例如,新聞提要、報告、使用者輸入)整合資訊的應用程式。Graphiti 可以維護一個連貫的知識庫,讓使用者可以查詢整合後的資訊,同時尊重事實有效的歷史時間軸(例如,「公司 Y 的執行長在合併之前是誰?」)。
Graphiti 入門
整合 Graphiti 涉及設定函式庫、連接到 Neo4j 資料庫(用於儲存圖形資料和嵌入),並為嵌入生成和可選的 LLM 推理提供一個與 OpenAI 相容的 API 金鑰。





