Repolode
cocoindex-io

cocoindex-io/cocoindex

Framework de pipelines de dados incremental em Python, com núcleo em Rust, que mantém índices vetoriais e grafos de conhecimento sincronizados com fontes em constante mudança para agentes de IA e aplicações RAG.

Estrelas
11,721
Forks
921
Issues abertas
103
Último commit
anteontem

O que é?

O CocoIndex é um framework para criar pipelines de dados que transformam fontes como bases de código, documentos, Slack, anotações de reuniões, PDFs e vídeos em contexto continuamente atualizado para agentes de IA e aplicações com LLM. Você declara o estado desejado do destino como uma função Python sobre os dados de origem, e o mecanismo acompanha as mudanças e recalcula apenas as linhas, arquivos ou saídas afetados, em vez de reprocessar todo o corpus.

O mecanismo armazena em cache os resultados das funções com base em hashes tanto das entradas quanto do código da função. Assim, ao editar uma transformação, somente as saídas que dependem dela são recalculadas. É possível rastrear cada linha de destino até sua origem, o que ajuda na depuração e na auditoria. Entre os destinos estão bancos de dados relacionais, como Postgres com índices vetoriais, além de armazenamentos vetoriais como LanceDB e bancos de dados de grafos como Neo4j e Kuzu. O projeto também publica exemplos de embeddings de código, RAG com PDFs, extração de grafos de conhecimento e streaming com Kafka.

O projeto usa Python com um núcleo em Rust, e a documentação aborda a instalação via pip, um guia de início rápido, conectores, transformações e uma skill para Claude Code e Cursor que ajuda a gerar código correto.

Recursos principais

  • 01Processamento incremental que recalcula apenas as fontes alteradas e as saídas que dependem delas.
  • 02Cache no nível da função, indexado por hashes das entradas e do código.
  • 03Destinos de índices vetoriais, como Postgres com pgvector e LanceDB.
  • 04Destinos em bancos de dados de grafos, incluindo Neo4j e Kuzu.
  • 05Rastreamento de linhagem de cada linha de destino até sua origem.
  • 06Conectores de origem para arquivos locais, S3 e Google Drive, além de um destino Kafka.

Casos de uso

  • Manter atualizado um índice RAG sobre um corpus de documentos sem gerar novos embeddings para arquivos que não foram alterados.
  • Criar um índice de busca de código atualizado a cada commit para agentes de programação.
  • Extrair entidades e relações de transcrições de reuniões e armazená-las em um grafo de conhecimento.
  • Enviar por streaming linhas alteradas de arquivos CSV para um tópico Kafka.

Início rápido

  1. 1

    Instale o CocoIndex pelo PyPI

    pip install -U cocoindex
  2. 2

    Declare o destino e execute uma atualização incremental uma vez para fazer a carga inicial

    coco.App(coco.AppConfig(name="docs"), main, src="./docs").update_blocking()

Antes de usar

  • O guia de início rápido precisa de um banco de dados Postgres e de uma função de embeddings. O exemplo usa ambos, mas não os configura para você.
  • O projeto está em uma fase anterior à 1.0 e usa uma API v1 que muda rapidamente, então o código pode mudar entre versões.

Tópicos

Perguntas frequentes

O que é cocoindex?
Framework de pipelines de dados incremental em Python, com núcleo em Rust, que mantém índices vetoriais e grafos de conhecimento sincronizados com fontes em constante mudança para agentes de IA e aplicações RAG. O CocoIndex é um framework para criar pipelines de dados que transformam fontes como bases de código, documentos, Slack, anotações de reuniões, PDFs e vídeos em contexto continuamente atualizado para agentes de IA e aplicações com LLM. Você declara o estado desejado do destino como uma função Python sobre os dados de origem, e o mecanismo acompanha as mudanças e recalcula apenas as linhas, arquivos ou saídas afetados, em vez de reprocessar todo o corpus.
cocoindex é gratuito? Qual é a licença?
cocoindex é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
cocoindex ainda é mantido?
Manutenção ativa. O último commit de cocoindex foi em 19 de out. de 2026.
Para que posso usar cocoindex?
Manter atualizado um índice RAG sobre um corpus de documentos sem gerar novos embeddings para arquivos que não foram alterados. Criar um índice de busca de código atualizado a cada commit para agentes de programação. Extrair entidades e relações de transcrições de reuniões e armazená-las em um grafo de conhecimento. Enviar por streaming linhas alteradas de arquivos CSV para um tópico Kafka.
Como instalar cocoindex?
Instale o CocoIndex pelo PyPI: pip install -U cocoindex Declare o destino e execute uma atualização incremental uma vez para fazer a carga inicial: coco.App(coco.AppConfig(name="docs"), main, src="./docs").update_blocking()
Onde consigo cocoindex?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/cocoindex-io/cocoindex

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados