Chroma
официальныйВстраивания, векторный поиск, хранение документов и полнотекстовый поиск с открытой базой данных для AI-приложений
Что можно делать с Chroma MCP?
- Список и просмотр коллекций — Используйте
chroma_list_collectionsдля пролистывания доступных коллекций иchroma_peek_collectionдля предварительного просмотра образцов документов внутри одной из них. - Создание коллекции с выбранной моделью эмбеддингов — Запустите
chroma_create_collection, чтобы настроить новую коллекцию, используя эмбеддингиdefault,openai,cohere,jina,voyageaiилиroboflow. - Добавление документов с метаданными — Вставляйте текст через
chroma_add_documents, при необходимости прикрепляя метаданные и пользовательские идентификаторы для последующей фильтрации. - Поиск по смыслу или ключевым словам — Выполняйте запросы с помощью
chroma_query_documentsдля семантического векторного поиска или используйте полнотекстовый поиск для нахождения релевантных документов. - Фильтрация и извлечение конкретных документов — Получайте документы по идентификатору или фильтру метаданных с помощью
chroma_get_documentsс поддержкой пагинации. - Обновление или удаление документов — Изменяйте содержимое документа, метаданные или эмбеддинги с помощью
chroma_update_documentsили удаляйте их черезchroma_delete_documents.
Документация
Chroma — опенсорсная база данных для эмбеддингов.
Самый быстрый способ создавать LLM-приложения на Python или JavaScript с памятью!
|
|
Документация
|
Домашняя страница
Chroma MCP Server
Model Context Protocol (MCP) — это открытый протокол, разработанный для простой интеграции между LLM-приложениями и внешними источниками данных или инструментами, предлагающий стандартизированный подход для бесшовного предоставления LLM необходимого контекста.
Этот сервер предоставляет возможности извлечения данных на базе Chroma, позволяя моделям ИИ создавать коллекции на основе сгенерированных данных и пользовательского ввода, а также извлекать эти данные с помощью векторного поиска, полнотекстового поиска, фильтрации по метаданным и многого другого.
Это MCP-сервер для самостоятельного хостинга вашего доступа к Chroma. Если вы ищете Package Search, репозиторий для него находится здесь.
Возможности
-
Гибкие типы клиентов
- Эфемерный (в памяти) для тестирования и разработки
- Постоянный для файлового хранения
- HTTP-клиент для собственных экземпляров Chroma
- Облачный клиент для интеграции с Chroma Cloud (автоматически подключается к api.trychroma.com)
-
Управление коллекциями
- Создание, изменение и удаление коллекций
- Список всех коллекций с поддержкой пагинации
- Получение информации и статистики о коллекции
- Настройка параметров HNSW для оптимизированного векторного поиска
- Выбор функций эмбеддинга при создании коллекций
-
Операции с документами
- Добавление документов с опциональными метаданными и пользовательскими ID
- Запрос документов с использованием семантического поиска
- Расширенная фильтрация по метаданным и содержимому документов
- Получение документов по ID или фильтрам
- Возможности полнотекстового поиска
Поддерживаемые инструменты
chroma_list_collections— Список всех коллекций с поддержкой пагинацииchroma_create_collection— Создание новой коллекции с опциональной конфигурацией HNSWchroma_peek_collection— Просмотр образца документов в коллекцииchroma_get_collection_info— Получение подробной информации о коллекцииchroma_get_collection_count— Получение количества документов в коллекцииchroma_modify_collection— Обновление имени или метаданных коллекцииchroma_delete_collection— Удаление коллекцииchroma_add_documents— Добавление документов с опциональными метаданными и пользовательскими IDchroma_query_documents— Запрос документов с использованием семантического поиска и расширенной фильтрацииchroma_get_documents— Получение документов по ID или фильтрам с пагинациейchroma_update_documents— Обновление содержимого, метаданных или эмбеддингов существующих документовchroma_delete_documents— Удаление конкретных документов из коллекции
Функции эмбеддинга
Chroma MCP поддерживает несколько функций эмбеддинга: default, cohere, openai, jina, voyageai и roboflow.
Функции эмбеддинга используют конфигурацию коллекции Chroma, которая сохраняет выбранную функцию эмбеддинга коллекции для последующего извлечения. После создания коллекции с использованием конфигурации, при последующих запросах и вставках будет использоваться та же функция эмбеддинга, без необходимости указывать её снова. Сохранение функции эмбеддинга было добавлено в версии v1.0.0 Chroma, поэтому если вы создали коллекцию с версией <=0.6.3, эта функция не поддерживается.
При использовании функций эмбеддинга, обращающихся к внешним API, обязательно добавьте переменную окружения для API-ключа в правильном формате, как указано в Переменные окружения функций эмбеддинга.
Использование с Claude Desktop
- Чтобы добавить эфемерный клиент, добавьте следующее в ваш файл
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp"
]
}
- Чтобы добавить постоянный клиент, добавьте следующее в ваш файл
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"persistent",
"--data-dir",
"/full/path/to/your/data/directory"
]
}
Это создаст постоянный клиент, который будет использовать указанную директорию данных.
- Чтобы подключиться к Chroma Cloud, добавьте следующее в ваш файл
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"cloud",
"--tenant",
"your-tenant-id",
"--database",
"your-database-name",
"--api-key",
"your-api-key"
]
}
Это создаст облачный клиент, который автоматически подключается к api.trychroma.com с использованием SSL.
Примечание: Добавление API-ключей в аргументы допустимо на локальных устройствах, но для безопасности вы также можете указать пользовательский путь к файлу конфигурации окружения, используя аргумент --dotenv-path в списке args, например: "args": ["chroma-mcp", "--dotenv-path", "/custom/path/.env"].
- Чтобы подключиться к [собственному экземпляру Chroma на вашем облачном провайдере](https://docs.trychroma.com/
production/deployment), добавьте следующее в ваш файл
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"http",
"--host",
"your-host",
"--port",
"your-port",
"--custom-auth-credentials",
"your-custom-auth-credentials",
"--ssl",
"true"
]
}
Это создаст HTTP-клиент, который подключается к вашему собственному экземпляру Chroma.
Демонстрации
Примеры использования, такие как общие базы знаний и добавление памяти в контекстные окна, смотрите в документации Chroma MCP.
Использование переменных окружения
Вы также можете использовать переменные окружения для настройки клиента. Сервер автоматически загружает переменные из файла .env, расположенного по пути, указанному в --dotenv-path (по умолчанию .chroma_env в рабочей директории), или из системных переменных окружения. Аргументы командной строки имеют приоритет над переменными окружения.
# Common variables
export CHROMA_CLIENT_TYPE="http" # or "cloud", "persistent", "ephemeral"
# For persistent client
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"
# For cloud client (Chroma Cloud)
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"
# For HTTP client (self-hosted)
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_CUSTOM_AUTH_CREDENTIALS="your-custom-auth-credentials"
export CHROMA_SSL="true"
# Optional: Specify path to .env file (defaults to .chroma_env)
export CHROMA_DOTENV_PATH="/path/to/your/.env"
Переменные окружения функций эмбеддинга
При использовании внешних функций эмбеддинга, требующих API-ключ, следуйте соглашению об именовании
CHROMA_<>_API_KEY="<key>".
Так, чтобы установить API-ключ Cohere, задайте переменную окружения CHROMA_COHERE_API_KEY="". Мы рекомендуем добавить это в файл .env где-либо и использовать переменную окружения CHROMA_DOTENV_PATH или флаг --dotenv-path, чтобы указать это местоположение для сохранности.
