getzep/graphiti
Build Real-Time Knowledge Graphs for AI Agents
解決する課題
従来のRAG手法は、静的なデータの要約やバッチ処理に依存することが多く、頻繁に変化する情報の扱いに苦慮してきました。Graphitiは、単に静的なドキュメントのチャンクを保存するのではなく、事実が時間の経過とともにどのように変化するかを追跡することで、AIエージェントが世界に対する一貫性のある、進化し続ける理解を維持する必要性に応えます。
仕組み
Graphitiは、エンティティ(ノード)、事実/関係(エッジ)、およびエピソード(生データソース)からなる時系列コンテキストグラフを構築します。静的なグラフとは異なり、時間的妥当性のウィンドウを使用して、事実がいつ真実になったか、およびいつ上書きされたかを追跡します。インクリメンタルなデータ更新をサポートしているため、新しい情報が取り込まれるとグラフはリアルタイムで進化し、完全な再計算を必要としません。また、セマンティック埋め込み、キーワード検索、およびグラフ探索を組み合わせたハイブリッド検索も採用しています。
対象者
インタラクティブでコンテキストを認識できるAIアプリケーションや、豊富な構造化メモリと履歴コンテキストのクエリ機能を必要とするプロダクショングレードのAIエージェントを構築している開発者向けに設計されています。
ハイライト
- 時系列事実管理: 事実の妥当性を時間の経過とともに追跡し、「現在何が真実か」対「過去に何が真実だったか」のクエリを可能にします。
- プロベナンス(由来): すべての派生した事実は、元の生データ(エピソード)まで遡ることができます。
- ハイブリッド検索: セマンティック、キーワード、およびグラフベースの検索を組み合わせ、高精度なクエリを実現します。
- インクリメンタルな構築: バッチ再計算を必要とせず、新しいデータを即座に統合します。
- 柔軟なオントロジー: 開発者が定義したスキーマ(Pydantic経由)と、データから生成される学習された構造の両方をサポートします。