非構造化テキストからLLMで構造化ナレッジグラフを抽出し、検索拡張型の質問応答に活用するPythonデータパイプライン。
getzep/graphiti
AIエージェントのメモリやコンテキストとして、時間の経過に伴う事実の変化を追跡する時系列ナレッジグラフを構築するPythonフレームワーク。
- スター
- 32,066
- フォーク
- 3,294
- 未解決の Issue
- 488
- 最終コミット
- 10 時間前
これは何?
Graphitiは、会話、構造化レコード、非構造化テキストからAIエージェント向けのコンテキストグラフを構築します。各事実は、有効期間を持つエンティティ-関係-エンティティのエッジとして保存されるため、情報が変わったときは古い事実を削除せず無効化し、現在と過去の状態の両方を照会できます。派生した事実にはすべて、その根拠となった元のエピソードへのリンクが保持されます。
バッチ処理を前提とするGraphRAGパイプラインとは異なり、新しいエピソードはグラフ全体を再計算することなく、段階的に統合されます。検索では、セマンティック埋め込み、BM25キーワード検索、グラフ探索を組み合わせます。開発者はPydanticモデルでエンティティ型やエッジ型を定義することも、データから構造を自動的に形成させることもできます。
GraphitiはグラフバックエンドとしてNeo4j、FalkorDB、Amazon Neptune、Kuzu(非推奨)に対応し、デフォルトではOpenAIを利用します。また、Anthropic、Gemini、Groq、Azure OpenAI、OllamaなどのOpenAI互換エンドポイントにも対応しています。認証を追加しない限り、本番環境での利用を想定していないリファレンス実装のMCPサーバーとRESTサーバーが含まれています。
主な機能
- 01事実の有効期間を追跡し、古くなった事実を削除せず無効化する
- 02派生した事実から、根拠となった元のエピソードまでの来歴を保持する
- 03グラフ全体を再計算せずに段階的に更新できる
- 04埋め込み、BM25キーワード検索、グラフ探索を組み合わせたハイブリッド検索
- 05Pydanticモデルでカスタムのエンティティ型やエッジ型を定義できる
- 06Neo4j、FalkorDB、Amazon Neptuneなど、プラグイン可能なバックエンドに対応する
ユースケース
- 時間とともに変化するユーザーの好みを、チャットボットやエージェントの長期記憶として保持する
- 構造化レコードと文書を統合し、履歴も保持するナレッジベースを構築する
- 「前四半期には何が事実だったか」といった、特定時点に関する質問に回答する
- OpenAI互換エンドポイント経由でローカルモデルを使い、時系列グラフRAGのプロトタイプを作る
クイックスタート
- 1
pipでライブラリをインストールします
pip install graphiti-core - 2
OPENAI_API_KEY環境変数を設定します(GraphitiはデフォルトでOpenAIを使用します)
- 3
クイックスタートでは、Docker経由でFalkorDBなどのグラフデータベースを起動します
docker run -p 6379:6379 -p 3000:3000 -it --rm falkordb/falkordb:latest - 4
examples/quickstartディレクトリからクイックスタートの例を実行します
使う前に知っておきたいこと
- Neo4j、FalkorDB、NeptuneなどのグラフデータベースとLLM APIキーが必要なため、セットアップには相応の手間がかかります。
- セルフホストのみ対応しており、このプロジェクトによるマネージドホスティングはありません。
- 構造化出力に対応したLLMで最もよく動作します。小型モデルではデータ取り込みに失敗する場合があります。
- レート制限を避けるため、デフォルトの同時実行数は少なく設定されています。そのため、調整するまではデータ取り込みに時間がかかることがあります。
トピック
よくある質問
- graphiti とは?
- AIエージェントのメモリやコンテキストとして、時間の経過に伴う事実の変化を追跡する時系列ナレッジグラフを構築するPythonフレームワーク。 Graphitiは、会話、構造化レコード、非構造化テキストからAIエージェント向けのコンテキストグラフを構築します。各事実は、有効期間を持つエンティティ-関係-エンティティのエッジとして保存されるため、情報が変わったときは古い事実を削除せず無効化し、現在と過去の状態の両方を照会できます。派生した事実にはすべて、その根拠となった元のエピソードへのリンクが保持されます。
- graphiti は無料で使えますか?ライセンスは?
- graphiti は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- graphiti は今もメンテナンスされていますか?
- 活発にメンテナンス中。graphiti の最終コミットは 2026年10月20日 です。
- graphiti は何に使えますか?
- 時間とともに変化するユーザーの好みを、チャットボットやエージェントの長期記憶として保持する 構造化レコードと文書を統合し、履歴も保持するナレッジベースを構築する 「前四半期には何が事実だったか」といった、特定時点に関する質問に回答する OpenAI互換エンドポイント経由でローカルモデルを使い、時系列グラフRAGのプロトタイプを作る
- graphiti のインストール方法は?
- pipでライブラリをインストールします: pip install graphiti-core OPENAI_API_KEY環境変数を設定します(GraphitiはデフォルトでOpenAIを使用します) クイックスタートでは、Docker経由でFalkorDBなどのグラフデータベースを起動します: docker run -p 6379:6379 -p 3000:3000 -it --rm falkordb/falkordb:latest examples/quickstartディレクトリからクイックスタートの例を実行します
- graphiti はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/getzep/graphiti
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ドキュメント、コード、会話をAIエージェント向けのセルフホスト型ナレッジグラフに変換する、オープンソースのAIメモリプラットフォーム。
Neo4jを基盤に、会話を保存してナレッジグラフを構築し、推論の記録も行う、AIエージェント向けのグラフネイティブなメモリシステムです。
Claude、Gemini、GPT、DeepSeek、Llama、Qwenを使って構築された、オープンソースのAIエージェント、エージェントスキル、RAGアプリの大規模なコレクションです。
会話履歴をそのまま保存し、セマンティック検索で取得するローカルファーストのAIメモリシステム。MCPサーバーとCLIを提供します。
チャット履歴を再生するだけでなく、記憶を保存・想起・振り返ることで、AIエージェントが時間とともに学習できるようにするメモリシステムです。