graphiti
graphiti: とは何なのか、どのような問題を解決し、なぜ注目を集めているのか
解決する問題
Graphitiは、AIエージェントのための「時間的コンテキストグラフ」を構築する方法を提供し、静的なナレッジグラフや、進化するデータに対応できないフラットなRAG (Retrieval-Augmented Generation) システムの問題を解決します。これにより、エージェントは事実が時間の経過とともにどのように変化するかを追跡し、何がいつ真実であったかの履歴を保持し、新しい情報が到着した際にグラフ全体を再計算する必要がなくなります。
仕組み
Graphitiは、構造化データと非構造化データの両方から、エンティティ、関係、および事実のグラフを自律的に構築します。「episodes」をプロベナンス(由来)のための生データソースとして使用します。グラフ内の各事実は、有効期間(いつ真実になり、いつ上書きされたか)が割り当てられており、バイテンポラル(二時制)な追跡を可能にします。このシステムは、Pydantic モデルを通じて定義される規定のオントロジーと、データから構造が立ち上がる学習型オントロジーの両方をサポートしています。検索は、セマンティック埋め込み、キーワード検索 (BM25)、およびグラフ探索を組み合わせたハイブリッドアプローチによって処理されます。
対象者
頻繁に変化する現実世界のデータに基づいて動作し、正確な履歴クエリを必要とする、インタラクティブでコンテキストを意識したAIエージェントを構築する開発者向けに設計されています。
ハイライト
- Temporal Fact Management: 事実の有効期間を追跡し、古い情報を削除することなく無効化します。
- Provenance: すべての派生した事実は、元の生データである「episodes」まで遡ることができます。
- Incremental Construction: 新しいデータは、バッチ再処理を必要とせずにリアルタイムで統合されます。
- Hybrid Retrieval: 低レイテンシかつ高精度なコンテキストのために、セマンティック、キーワード、およびグラフベースの検索を組み合わせます。
- Flexible Backends: Neo4j, FalkorDB, および Amazon Neptune を含む複数のグラフデータベースをサポートしています。
Sources
- undefinedgetzep/graphiti