CocoIndex v1: релиз инкрементального движка для агентов

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



2026-05-05 12:14

CocoIndex выпустила (https://cocoindex.io/blogs/cocoindex-v1/) первую стабильную версию своего движка для построения данных под агентов длительного действия - тех, которые обслуживают RAG, графы знаний, память и контекст в продакшн-системах.

CocoIndex - специализированный опенсорсный инкрементальный ETL-движок (Extract, Transform, Load) для создания ИИ-систем. Он используется для автоматизации обработки данных и их мгновенной индексации в векторные базы или графы знаний.

Инструмент любят за его способность обновлять информацию в реальном времени: как только исходные данные меняются, CocoIndex точечно пересчитывает только нужные части индекса, избавляя от необходимости полной и дорогостоящей переиндексации всей базы.

Главное изменение v1 - полный отказ от DSL

Весь пайплайн теперь описывается обычными асинхронными функциями Python, которые вызывают друг друга. Движок продолжает отслеживать изменения и материализовать целевые состояния, но делает это за нативным Python-API, а не за отдельной системой типов.

Авторы вдохновлялись тезисом Джеффа Дина и Билла Далли с GTC 2026 (https://www.youtube.com/watch?v=DqMIYc-keBQ): агенты работают примерно в 50 раз быстрее человека, но опираются на инструменты, рассчитанные на человеческий темп.

Ночные пересборки индексов в этой логике становятся проблемой - нужен движок, который синхронизирует производные данные с источником инкрементально, переобрабатывая только изменившиеся чанки и перезаписывая только изменившиеся строки.

Помимо отказа от DSL, релиз принёс ещё 3 изменения

Во-первых, движок использует систему типов самого Python: PIL.Image, pyarrow.Table, torch.Tensor и любой класс из импортированной библиотеки можно передавать в функции напрямую, без обёрток и двусторонней конверсии.

Во-вторых, Postgres больше не нужен - состояние движка хранится в одном локальном файле. Postgres остался полноценным таргетом, просто перестал быть обязательной зависимостью.

В-третьих, источники и таргеты создаются во время выполнения: можно монтировать отдельный таргет на каждого тенанта, строить топологию по строкам конфигурационной таблицы или подключать Kafka-топик по фича-флагу.

Ядро по-прежнему на Rust

Вся горячая логика по детекции и применению изменений живёт там. На уровне Python декоратор подключает функцию к отслеживанию изменений, а отдельный флаг кеширует её результат по хешу аргументов и кода: правка хелпера инвалидирует только тех вызывающих, кто реально от него зависит.

Контракт управляемых таргетов сохранился

Разработчик декларирует, как должна выглядеть таблица, граф или директория, а CocoIndex сам выполняет create/alter/drop для контейнеров и insert/update/delete для содержимого, включая удаление осиротевших объектов при изменении схемы. Если перестать декларировать сущность, она исчезает из таргета.

Контракт работает одинаково для Postgres, LanceDB, Neo4j, Kafka, S3 и обычных файлов на диске.

Примеры пайплайнов, от эмбеддингов кода в LanceDB и обработки PDF до сборки графа знаний из разговоров, лежат в репозитории (https://github.com/cocoindex-io/cocoindex) на GitHub.

Лицензирование: Apache 2.0 License.

Документация (https://cocoindex.io/docs/getting_started/quickstart/)

GitHub (https://github.com/cocoindex-io/cocoindex)


Телеграм: t.me/ainewsline

Источник: github.com

Комментарии: