Постоянная память для ИИ-агентов, пишущих код: сохраняет действия в сессиях, сжимает их с помощью ИИ и добавляет релевантный контекст в новые сессии.
cocoindex-io/cocoindex
Фреймворк инкрементальных конвейеров данных на Python с ядром на Rust, который синхронизирует векторные индексы и графы знаний с меняющимися источниками для AI-агентов и RAG-приложений.
- Звёзды
- 11,721
- Форки
- 921
- Открытые issues
- 103
- Последний коммит
- вчера
Что это?
CocoIndex — фреймворк для создания конвейеров данных, которые преобразуют исходные данные — например, кодовые базы, документы, Slack, заметки со встреч, PDF-файлы и видео — в постоянно обновляемый контекст для AI-агентов и приложений на базе LLM. Вы описываете желаемое целевое состояние в виде Python-функции, обрабатывающей исходные данные, а движок отслеживает изменения и пересчитывает только затронутые строки, файлы или результаты, не обрабатывая заново весь корпус.
Движок кэширует результаты функций, хешируя как входные данные, так и код функций, поэтому при изменении преобразования заново выполняются только зависящие от него операции. Для каждой целевой строки можно отследить источник, что упрощает отладку и аудит. В качестве целевых хранилищ поддерживаются реляционные базы данных, например Postgres с векторными индексами, а также векторные хранилища вроде LanceDB и графовые базы данных, такие как Neo4j и Kuzu. В проекте есть примеры создания эмбеддингов кода, RAG по PDF-файлам, извлечения графов знаний и потоковой обработки данных из Kafka.
Проект написан на Python и использует ядро на Rust. В документации описаны установка через pip, краткое руководство, коннекторы и преобразования, а также навык для Claude Code и Cursor, помогающий генерировать корректный код.
Ключевые возможности
- 01Инкрементальная обработка: пересчитываются только изменившиеся источники и зависящие от них результаты.
- 02Кэширование на уровне функций с учётом хешей входных данных и кода.
- 03Векторные индексы в качестве целевых хранилищ, например Postgres с pgvector и LanceDB.
- 04Графовые базы данных в качестве целевых хранилищ, включая Neo4j и Kuzu.
- 05Отслеживание происхождения каждой целевой строки вплоть до исходных данных.
- 06Коннекторы к локальным файлам, S3 и Google Drive, а также поддержка Kafka в качестве целевого хранилища.
Сценарии использования
- Поддержание актуальности RAG-индекса по корпусу документов без повторного создания эмбеддингов для неизменившихся файлов.
- Создание обновляемого при каждом коммите индекса для поиска по коду для агентов-программистов.
- Извлечение сущностей и связей из расшифровок встреч и их добавление в граф знаний.
- Потоковая отправка изменившихся строк CSV в топик Kafka.
Быстрый старт
- 1
Установите CocoIndex из PyPI
pip install -U cocoindex - 2
Объявите целевой объект и один раз запустите инкрементальное обновление, чтобы выполнить первоначальную загрузку
coco.App(coco.AppConfig(name="docs"), main, src="./docs").update_blocking()
Что важно знать
- Для быстрого старта нужны база данных Postgres и функция эмбеддингов. В примере они используются, но не настраиваются за вас.
- Проект находится на этапе до версии 1.0 и использует быстро меняющийся API v1, поэтому код может меняться от релиза к релизу.
Темы
Частые вопросы
- Что такое cocoindex?
- Фреймворк инкрементальных конвейеров данных на Python с ядром на Rust, который синхронизирует векторные индексы и графы знаний с меняющимися источниками для AI-агентов и RAG-приложений. CocoIndex — фреймворк для создания конвейеров данных, которые преобразуют исходные данные — например, кодовые базы, документы, Slack, заметки со встреч, PDF-файлы и видео — в постоянно обновляемый контекст для AI-агентов и приложений на базе LLM. Вы описываете желаемое целевое состояние в виде Python-функции, обрабатывающей исходные данные, а движок отслеживает изменения и пересчитывает только затронутые строки, файлы или результаты, не обрабатывая заново весь корпус.
- cocoindex можно использовать бесплатно? Какая у него лицензия?
- cocoindex распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- cocoindex всё ещё поддерживается?
- Активно поддерживается. Последний коммит в cocoindex — 19 окт. 2026 г..
- Для чего можно использовать cocoindex?
- Поддержание актуальности RAG-индекса по корпусу документов без повторного создания эмбеддингов для неизменившихся файлов. Создание обновляемого при каждом коммите индекса для поиска по коду для агентов-программистов. Извлечение сущностей и связей из расшифровок встреч и их добавление в граф знаний. Потоковая отправка изменившихся строк CSV в топик Kafka.
- Как установить cocoindex?
- Установите CocoIndex из PyPI: pip install -U cocoindex Объявите целевой объект и один раз запустите инкрементальное обновление, чтобы выполнить первоначальную загрузку: coco.App(coco.AppConfig(name="docs"), main, src="./docs").update_blocking()
- Где скачать cocoindex?
- Исходный код и инструкции по установке — на GitHub: https://github.com/cocoindex-io/cocoindex
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Открытый Python-веб-краулер, который преобразует сайты в чистый Markdown для LLM, извлекает структурированные данные с помощью CSS/LLM и при необходимости предоставляет API.
Открытая векторная база данных для AI-приложений: хранит документы и векторы для семантического, гибридного и полнотекстового поиска.
Индексирует многоязычные кодовые базы в граф знаний, чтобы через AI-агента или MCP-сервер искать, изучать и редактировать код на обычном английском.
Модульный учебный проект по Agentic RAG на LangGraph: иерархическая индексация, память диалога и уточнение запросов.
Образовательный проект с пошаговой реализацией Retrieval-Augmented Generation на JavaScript с нуля, на локальных LLM и без облачных API.