Epsilla — векторная база данных с открытым исходным кодом на C++ для поиска похожих эмбеддингов, с фильтрацией метаданных, гибридным поиском и интеграциями для LLM-поиска.
philippgille/chromem-go
Встраиваемая в Go векторная база данных с интерфейсом, похожим на Chroma, без сторонних зависимостей и с поддержкой сохранения на диск.
Open source альтернатива:Pinecone
- Звёзды
- 1,075
- Форки
- 78
- Открытые issues
- 21
- Последний коммит
- 2 месяца назад
Что это?
chromem-go — векторная база данных, которая работает внутри Go-программы, как SQLite внутри приложения: отдельный сервер не нужно устанавливать и обслуживать. Она хранит документы вместе с их эмбеддингами и может создавать эмбеддинги самостоятельно через такие провайдеры, как OpenAI, Ollama, Cohere и Mistral, либо принимать уже вычисленные.
Библиотека предназначена для retrieval augmented generation (RAG), семантического поиска и подобных задач при небольших и средних нагрузках, а не для миллионов документов. Поиск перебирает все варианты и выбирает ближайшие по косинусному сходству; запросы можно фильтровать по метаданным или по наличию либо отсутствию строки в тексте документа. По умолчанию данные хранятся в памяти; также доступно их немедленное сохранение в файлы и экспорт или импорт всей базы для резервного копирования.
API повторяет основные методы Chroma (add, query, get, create и delete collections) и дополняет их более идиоматичными для Go вариантами. Проект находится в бета-версии, поэтому до выхода v1.0.0 возможны несовместимые изменения.
Ключевые возможности
- 01Работает непосредственно внутри Go-приложения, без внешних зависимостей и отдельного сервера.
- 02Создаёт эмбеддинги через OpenAI, Azure OpenAI, Ollama, Cohere, Mistral и других провайдеров либо принимает заранее вычисленные векторы.
- 03Полный поиск по косинусному сходству с фильтрами по метаданным и содержимому документов.
- 04Хранение данных в памяти с возможностью немедленно сохранять их в файлы.
- 05Экспорт и импорт всей базы данных, при необходимости — со сжатием и шифрованием.
Сценарии использования
- Добавление ответов на вопросы с использованием RAG в Go-сервис без развёртывания отдельной векторной базы данных.
- Семантический поиск по небольшому или среднему набору документов внутри CLI- или десктопного приложения.
- Создание прототипов функций на основе эмбеддингов в Go перед выбором более крупной базы данных.
Быстрый старт
- 1
Установите библиотеку с помощью go get
go get github.com/philippgille/chromem-go@latest - 2
Импортируйте chromem-go, создайте базу данных в памяти и коллекцию, затем добавьте документы и выполните запрос (см. минимальный пример)
Что важно знать
- Проект находится в бета-версии; до выпуска v1.0.0 могут появиться несовместимые изменения.
- Проект рассчитан на простоту и небольшие или средние объемы данных, а не на миллионы документов.
- Для создания эмбеддингов по умолчанию используется OpenAI, поэтому нужен API-ключ, если не настроить другого провайдера.
В подборках
Темы
Частые вопросы
- Что такое chromem-go?
- Встраиваемая в Go векторная база данных с интерфейсом, похожим на Chroma, без сторонних зависимостей и с поддержкой сохранения на диск. chromem-go — векторная база данных, которая работает внутри Go-программы, как SQLite внутри приложения: отдельный сервер не нужно устанавливать и обслуживать. Она хранит документы вместе с их эмбеддингами и может создавать эмбеддинги самостоятельно через такие провайдеры, как OpenAI, Ollama, Cohere и Mistral, либо принимать уже вычисленные.
- chromem-go можно использовать бесплатно? Какая у него лицензия?
- chromem-go распространяется с открытым исходным кодом под лицензией MPL-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- chromem-go всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в chromem-go — 6 сент. 2026 г..
- Для чего можно использовать chromem-go?
- Добавление ответов на вопросы с использованием RAG в Go-сервис без развёртывания отдельной векторной базы данных. Семантический поиск по небольшому или среднему набору документов внутри CLI- или десктопного приложения. Создание прототипов функций на основе эмбеддингов в Go перед выбором более крупной базы данных.
- Как установить chromem-go?
- Установите библиотеку с помощью go get: go get github.com/philippgille/chromem-go@latest Импортируйте chromem-go, создайте базу данных в памяти и коллекцию, затем добавьте документы и выполните запрос (см. минимальный пример)
- Где скачать chromem-go?
- Исходный код и инструкции по установке — на GitHub: https://github.com/philippgille/chromem-go
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Java-библиотека, которая предоставляет приложениям на JVM единый API для LLM-провайдеров и векторных хранилищ, а также поддерживает вызов инструментов, агентов и RAG.
Клиентская библиотека Python для векторного поиска, RAG, семантического кэширования и памяти LLM на базе Redis.
Milvus — распределённая векторная база данных с открытым исходным кодом для масштабного хранения эмбеддингов и поиска по ним, подходящая для AI-поиска и RAG-приложений.
Локальный векторный индекс и инструментарий для RAG: пересчитывает эмбеддинги по запросу и сокращает объём хранения примерно на 97%, позволяя искать личные данные на ноутбуке.
Qdrant — движок поиска векторов по сходству и векторная база данных на Rust с фильтрацией по payload для семантического поиска и рекомендаций.