Что это
Chroma — это векторная база данных для хранения embeddings и поиска похожих фрагментов текста. Ее часто используют в RAG-системах: документы режут на chunks, превращают в векторы, сохраняют в коллекцию и затем находят релевантные фрагменты под вопрос пользователя.
Главная сила Chroma — быстрый старт. Она хорошо подходит для локального прототипа, внутренней базы знаний, экспериментов с chunking, embeddings, metadata filtering и retriever-логикой без тяжелой инфраструктуры.
При этом Chroma — не “готовый ChatGPT по документам”. Нужны отдельные этапы: парсинг документов, очистка текста, нарезка, embedding model, индексация, фильтры, reranking, промпт для ответа и проверки качества retrieval.
Ключевые параметры
- Категория: RAG и базы знаний
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Да
- Данные: Высокий контроль
- Чувствительные данные: Только с настройками
Доступные модели и версии
Сильные стороны
- очень быстрый старт для локального RAG и прототипов
- простая модель коллекций, chunks, embeddings и metadata
- хорошо подходит для экспериментов с retriever-логикой
- есть интеграции с популярными AI-фреймворками
- можно запускать локально и не отправлять документы во внешний SaaS
Ограничения
- качество ответа зависит не от Chroma, а от chunking, embeddings, reranking и промпта
- для production нужны бэкапы, миграции, мониторинг, контроль доступа и план масштабирования
- не решает парсинг PDF, очистку документов и дедупликацию
- metadata schema нужно проектировать заранее, иначе фильтры быстро становятся хаотичными
- для больших нагрузок может потребоваться сравнение с Qdrant, Weaviate, Milvus или pgvector
Как использовать
1. Определите корпус: какие документы индексировать и какие документы запрещено добавлять.
2. Разберите файлы в текст: PDF, DOCX, HTML, wiki-страницы, markdown или выгрузки из базы знаний.
3. Нарежьте текст на chunks: сохраняйте заголовок, источник, раздел, дату обновления и права доступа.
4. Создайте embeddings выбранной моделью и сохраните vectors, текст chunk и metadata в Chroma.
5. Настройте поиск: top-k, metadata filters, similarity threshold и при необходимости reranking.
6. Передавайте найденные chunks в LLM вместе с инструкцией отвечать только по источникам.
7. Тестируйте retrieval на реальных вопросах: найден ли нужный источник, не попал ли мусор, достаточно ли контекста.
8. Добавьте переиндексацию, удаление устаревших chunks, логи запросов и контроль доступа.
Примеры сценариев
- Команда индексирует внутреннюю wiki и делает AI-помощника, который отвечает со ссылками на статьи.
- Разработчик тестирует разные размеры chunks и смотрит, как меняется качество поиска по документации.
- AI-агент поддержки ищет похожие инструкции в Chroma и готовит черновик ответа оператору.
- Юридический отдел индексирует типовые договоры, но закрывает доступ по ролям через metadata filters.
- Стартап сначала проверяет RAG локально на Chroma, а после роста нагрузки сравнивает production-варианты.
Доступ и оплата
- Модель оплаты: Open-source
- Бесплатный тариф: Да
- Работа в РФ: Да
- VPN: Не нужен
- Русский интерфейс: Нет
- Русский язык: Хорошо
Для локального запуска достаточно окружения разработчика и выбранной embedding model. Для серверного режима заранее настройте права доступа, persistent storage, бэкапы, мониторинг и отдельные коллекции для разных типов данных.
Какой тариф выбрать
- Для MVP начните с open-source/local варианта и небольшого корпуса документов.
- Считайте стоимость не только базы, но и embeddings, переиндексации, хранения, логов и reranking.
- Перед production проверьте нагрузку, бэкапы, удаление данных, права доступа и качество retrieval.
- Если данные уже живут в PostgreSQL, сравните Chroma с pgvector до отдельной инфраструктуры.
Когда не подходит
- готовый пользовательский интерфейс для базы знаний без разработки
- полноценная замена LLM, RAG-оркестратору или документному парсеру
- критичный production без продуманного бэкапа, мониторинга и стратегии масштабирования
- поиск по данным, где достаточно обычного SQL или keyword search
- хранение секретов, токенов и персональных данных без политики доступа
Альтернативы
Qdrant часто выбирают для production и фильтров, pgvector удобен рядом с PostgreSQL, Pinecone — как managed cloud, Weaviate и Milvus — для более тяжелых векторных сценариев. Chroma хорош для быстрого RAG-старта и локальных экспериментов.
Когда выбирать
Полезен для генерации кода, объяснения проекта, рефакторинга, тестов, документации и ускорения типовых задач разработчика.
На что обратить внимание
Не принимайте сгенерированный код без ревью. Проверяйте безопасность, зависимости, тесты и соответствие архитектуре проекта.
Как начать
- Дайте инструменту контекст проекта.
- Попросите план изменений перед кодом.
- Проверьте diff и тесты.
- Фиксируйте удачные промпты как рабочие шаблоны.