Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Настройка Agentic Data Stack с помощью Docker Compose

Запустите полный Agentic Data Stack локально с помощью Docker Compose, чтобы сразу после первого входа задавать вопросы по своим данным. Одной командой docker compose up вы запустите LibreChat, MCP-сервер ClickHouse, ClickHouse и Langfuse для обсервабилити.

Предварительные требования

  • Docker с плагином Compose (Compose v2 или новее).
  • Git для клонирования репозитория.
  • API-ключ провайдера модели (например, OpenAI, Anthropic или Google). Агенту нужна модель, чтобы отвечать на вопросы, поэтому укажите ключ при настройке или добавьте его в интерфейсе LibreChat перед первым чатом.

Разверните стек

Клонируйте репозиторий

git clone https://github.com/ClickHouse/agentic-data-stack
cd agentic-data-stack

В репозитории есть файл docker-compose.yml в корне, поэтому весь стек можно поднять одной командой. Полный список сервисов см. в разделе Архитектура.

Запустите скрипт подготовки демо

./scripts/prepare-demo.sh

Скрипт создаст файл .env с учетными данными для всех сервисов, а затем предложит интерактивное меню для настройки ключей API выбранного провайдера. Эти ключи API также можно задать напрямую в файле .env. Для любого пропущенного провайдера останется значение user_provided, поэтому позже вы сможете добавить свой ключ в интерфейсе LibreChat.

При первом запуске стек создает пользователя admin из .env. Логин по умолчанию: admin@admin.com / password.

Задайте собственные учетные данные для входа

Запустите generate-env.sh с этими переменными перед prepare-demo.sh:

USER_EMAIL="you@example.com" USER_PASSWORD="supersecret" USER_NAME="YourName" ./scripts/generate-env.sh

После этого prepare-demo.sh обнаружит существующий .env и сразу перейдет к настройке ключей API.

Запустите сервисы в фоновом режиме

docker compose up -d

Порядок запуска регулируется автоматически. LibreChat запускается только после того, как MCP-сервер станет доступен, поэтому при первой загрузке соединение с ClickHouse уже будет готово.

Откройте LibreChat и войдите

Когда стек будет запущен, сервисы станут доступны в браузере:

Войдите в LibreChat с учетными данными администратора из файла .env.

Выберите модель

По умолчанию модель уже выбрана. Если хотите ее изменить, откройте селектор моделей и выберите нужную.

Селектор моделей LibreChat в левом верхнем углу, показывающий модель по умолчанию с подсказкой Select a model

Если во время настройки вы не задали ключ провайдера, добавьте его в интерфейсе.

Задайте ключ провайдера в интерфейсе

Откройте селектор моделей и нажмите Set API Key рядом с провайдером.

Селектор моделей LibreChat с кнопкой Set API Key рядом с провайдером Anthropic

Вставьте свой ключ в диалоговое окно и нажмите Submit. Вы можете задать срок действия или сделать ключ бессрочным.

Диалоговое окно Set API Key for Anthropic с выпадающим списком срока действия, полем Key и кнопками Submit и Revoke

Выберите MCP-сервер

Стек заранее настраивает свои MCP-серверы в librechat.yaml LibreChat. В поле ввода сообщения нажмите MCP Servers и выберите ClickHouse-Local.

Чтобы использовать сервис ClickHouse Cloud, выберите ClickHouse-Cloud.

Открытое меню MCP Servers в поле ввода LibreChat, показывающее ClickHouse-Local с зеленой точкой подключения и ClickHouse-Cloud

Задайте свой первый вопрос

Например:

Какие базы данных и таблицы доступны и сколько строк в самой большой таблице?

Агент использует инструменты MCP-сервера, чтобы получить список баз данных и таблиц, выполнять запросы к ClickHouse в режиме только для чтения и формировать ответ на основе результатов. Вам не нужно писать SQL.

LibreChat отвечает на пример вопроса, вызывая инструменты MCP ClickHouse-Local и перечисляя доступные базы данных и таблицы

Остановить или сбросить стек

Остановите сервисы, ничего не удаляя:

docker compose down

Чтобы удалить все контейнеры и очистить все тома, чтобы начать с чистого листа, используйте скрипт сброса стека:

./scripts/reset-all.sh

Архитектура

docker-compose.yml — это небольшая точка входа, которая включает четыре файла Compose:

Файл Compose Описание
langfuse-compose.yml Langfuse и связанные с ним сервисы (ClickHouse, PostgreSQL, Redis, MinIO)
clickhouse-mcp-compose.yml MCP-сервер ClickHouse
librechat-compose.yml LibreChat и связанные с ним сервисы (MongoDB, Meilisearch, pgvector, RAG API)
admin-panel-compose.yml LibreChat Admin Panel

Есть две особенности, благодаря которым запуск одной командой работает:

  • Проверки работоспособности и порядок запуска. Compose использует проверки работоспособности, чтобы выстроить последовательность запуска. MCP-сервер ждёт ClickHouse, а LibreChat — MCP-сервер.
  • Общий файл окружения. В .env хранятся учётные данные и параметры подключения для каждого сервиса; они согласованы между собой, чтобы сервисы могли взаимодействовать друг с другом. Например, MCP-сервер подключается к ClickHouse с учётными данными ClickHouse из .env. LibreChat получает LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY и LANGFUSE_BASE_URL, поэтому каждая сессия по умолчанию трассируется в Langfuse.

В этом stack ClickHouse выполняет две роли: это и бэкенд хранилища Langfuse, и база данных, к которой ваш агент отправляет запросы через MCP-сервер.

Следующие шаги

  • Узнайте, за что отвечает каждый компонент этого стека: MCP-сервер ClickHouse, LibreChat и Langfuse.
  • См. обзор, чтобы понять, как всё это работает вместе.
  • Чтобы опробовать стек на публичных датасетах без установки, воспользуйтесь AgentHouse — размещённой демоверсией.
Navigation