コーディングエージェント向けの永続メモリ。セッション中の活動を記録してAIで圧縮し、後続セッションに関連するコンテキストを引き継ぎます。
cocoindex-io/cocoindex
Rustコアを備えたPython製の差分データパイプライン。AIエージェントやRAGアプリ向けに、ベクトルインデックスや知識グラフを更新します。
- スター
- 11,721
- フォーク
- 921
- 未解決の Issue
- 103
- 最終コミット
- 18 時間前
これは何?
CocoIndexは、コードベース、ドキュメント、Slack、議事録、PDF、動画などのソースを、AIエージェントやLLMアプリケーション向けの常に最新のコンテキストに変換するデータパイプライン構築フレームワークです。ソースデータを処理するPython関数として目標の状態を宣言すると、エンジンが変更箇所を追跡し、コーパス全体を再処理するのではなく、影響を受ける行、ファイル、出力だけを再計算します。
エンジンは入力と関数コードの両方をハッシュ化して関数の結果をキャッシュするため、変換処理を編集した場合も、それに依存する出力だけが再実行されます。各ターゲットの行はソースまで追跡でき、デバッグや監査に役立ちます。ターゲットには、ベクトルインデックスを備えたPostgresなどのリレーショナルデータベースに加え、LanceDBなどのベクトルストアや、Neo4j、Kuzuなどのグラフデータベースがあります。また、コードの埋め込み、PDFを使ったRAG、知識グラフの抽出、Kafkaストリーミングのサンプルも公開されています。
このプロジェクトはPythonとRustコアで構成されており、ドキュメントではpipによるインストール、クイックスタート、コネクター、変換処理のほか、正しいコードの生成に使えるClaude CodeおよびCursor向けスキルを解説しています。
主な機能
- 01変更されたソースと、それに依存する出力だけを再計算する差分処理。
- 02入力ハッシュとコードハッシュをキーにした関数単位のキャッシュ。
- 03pgvectorを使ったPostgresやLanceDBなどのベクトルインデックス向けターゲット。
- 04Neo4jやKuzuなどのグラフデータベース向けターゲット。
- 05各ターゲットの行からソースまで遡れるリネージ追跡。
- 06ローカルファイル、S3、Google Drive向けのソースコネクターと、Kafka向けターゲット。
ユースケース
- 変更のないファイルを再度埋め込みせずに、ドキュメントコーパスのRAGインデックスを最新の状態に保つ。
- コーディングエージェント向けに、コミットごとに更新されるライブなコード検索インデックスを構築する。
- 会議の文字起こしからエンティティと関係を抽出し、知識グラフに格納する。
- 変更されたCSVの行をKafkaトピックにストリーミングする。
クイックスタート
- 1
PyPIからCocoIndexをインストールする
pip install -U cocoindex - 2
対象を宣言し、バックフィルのために増分更新を一度実行する
coco.App(coco.AppConfig(name="docs"), main, src="./docs").update_blocking()
使う前に知っておきたいこと
- クイックスタートにはPostgresデータベースと埋め込み関数が必要です。例では使用しますが、セットアップは行いません。
- このプロジェクトは、変更の速いv1 APIを使った1.0未満の段階の内容であるため、リリースごとにコードが変わる可能性があります。
トピック
よくある質問
- cocoindex とは?
- Rustコアを備えたPython製の差分データパイプライン。AIエージェントやRAGアプリ向けに、ベクトルインデックスや知識グラフを更新します。 CocoIndexは、コードベース、ドキュメント、Slack、議事録、PDF、動画などのソースを、AIエージェントやLLMアプリケーション向けの常に最新のコンテキストに変換するデータパイプライン構築フレームワークです。ソースデータを処理するPython関数として目標の状態を宣言すると、エンジンが変更箇所を追跡し、コーパス全体を再処理するのではなく、影響を受ける行、ファイル、出力だけを再計算します。
- cocoindex は無料で使えますか?ライセンスは?
- cocoindex は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- cocoindex は今もメンテナンスされていますか?
- 活発にメンテナンス中。cocoindex の最終コミットは 2026年10月19日 です。
- cocoindex は何に使えますか?
- 変更のないファイルを再度埋め込みせずに、ドキュメントコーパスのRAGインデックスを最新の状態に保つ。 コーディングエージェント向けに、コミットごとに更新されるライブなコード検索インデックスを構築する。 会議の文字起こしからエンティティと関係を抽出し、知識グラフに格納する。 変更されたCSVの行をKafkaトピックにストリーミングする。
- cocoindex のインストール方法は?
- PyPIからCocoIndexをインストールする: pip install -U cocoindex 対象を宣言し、バックフィルのために増分更新を一度実行する: coco.App(coco.AppConfig(name="docs"), main, src="./docs").update_blocking()
- cocoindex はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/cocoindex-io/cocoindex
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
WebサイトをLLM向けのMarkdownに変換するオープンソースのPythonクローラー。構造化抽出やホスト型APIにも対応。
多言語コードベースをナレッジグラフ化し、AIエージェントやMCPサーバー経由で自然な英語で検索・編集できます。
LangGraphを使った、階層型インデックスや会話メモリ、質問の明確化に対応するモジュール式Agentic RAGチュートリアル。
ローカルLLMを使い、クラウドAPIに頼らずJavaScriptでRAGを一から段階的に学べるプロジェクト。
LLMエージェントのメモリ技術を扱う、30本の実行可能なJupyterノートブックを収録した学習用リポジトリ。