Repolode
cocoindex-io

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. 1

    PyPIからCocoIndexをインストールする

    pip install -U cocoindex
  2. 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 の数値は毎日更新されます。

関連プロジェクト