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