cocoindex-io/cocoindex

Incremental engine for long horizon agents 🌟 Star if you like it!

What it solves

CocoIndex は、AI エージェントや LLM アプリケーションにおけるデータの陳腐化問題を解決します。従来のバッチパイプラインはしばしば「コンテキストギャップ」を生み、エージェントが古い情報で推論してしまいます。CocoIndex は、データ全体を再処理するのではなく、変更(デルタ)のみを再処理することで、エンタープライズデータ(コードベース、Slack、会議ノート、PDF など)の常に新鮮なライブインデックスを維持する方法を提供します。

How it works

宣言的で Python ネイティブなインクリメンタルインデックスフレームワークとして動作します。ユーザーは変換関数 (F) を定義し、ソースをターゲット状態にマッピングします。エンジンは行単位のプロヴァナンスを追跡し、Rust ベースのコアを使用してライブキャッシュ、バージョン管理、データ系統を管理します。ソースファイルが編集されたり、変換コード自体が変更されたりすると、エンジンはどのターゲット部分を更新すべきか正確に特定し、サブ秒レベルの新鮮さを保証し、計算コストと埋め込みコストを削減します。

Who it’s for

スケールしたエンタープライズデータソースから常に新鮮なコンテキストを必要とする、プロダクションレベルの AI エージェントや RAG(Retrieval‑Augmented Generation)パイプラインを構築するエンジニア向けに設計されています。

Highlights

  • Incremental Processing: Only the delta ($Δ$) is reprocessed on every change, significantly reducing LLM and embedding costs.
  • Sub-second Freshness: Source changes propagate to the target index almost instantly.
  • End-to-End Lineage: Every target vector or row traces back to its exact source byte for auditing and debugging.
  • Production-Ready Core: Built with a Rust core featuring retries, exponential back-off, and dead-letter queues to guarantee no data loss.
  • Broad Connectivity: Supports various sources (Codebases, APIs, Databases, Message Queues) and targets (Vector DBs, Graph DBs, Relational DBs).