Развертывание LLM на сервере Bare Metal
Серверы Bare Metal подходят для локального развертывания больших языковых моделей (LLM).
В сценарии развернем модель deepseek-r1:32b. Для этого используем:
Ollama — для запуска модели.
Open WebUI — для доступа к модели снаружи сервера.
Также настроим общение с моделью напрямую из терминала сервера.
Перед началом работы
Арендуйте сервер Bare Metal с публичным IP-адресом. Для корректной работы модели выбирайте конфигурации с:
объемом оперативной памяти не менее 32 ГБ;
наличием SSD накопителей;
(опционально) поддержкой GPU.
Настройте и запустите контейнеры
Создайте каталог для проекта и перейдите в него:
mkdir llm-deploy-test cd llm-deploy-test
Создайте файл «compose.yaml» и поместите в него код:
services: ollama: image: ollama/ollama container_name: ollama volumes: - ollama_data:/root/.ollama # If you use GPUs, uncomment code below by deleting "#" only # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [gpu] open-webui: # For CPU‑only usage (using the "main" tag): image: ghcr.io/open-webui/open-webui:main container_name: open-webui volumes: - openwebui_data:/app/backend/data ports: - "3000:8080" extra_hosts: - "host.docker.internal:host-gateway" environment: # If Ollama is running locally, you can set the base URL as follows: - OLLAMA_BASE_URL=http://ollama:11434 depends_on: - ollama # If you use GPUs, uncomment code below by deleting "#" only # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [gpu] volumes: ollama_data: openwebui_data:
Запустите контейнеры:
sudo docker compose up -d
Флаг «-d» используется для запуска контейнеров в фоновом режиме. В этом случае в терминале не отобразятся логи.
Если вам необходимо посмотреть логи, выполните команду:
docker compose logs -f
Настройте Open WebUI и выберите модель
В браузере перейдите на страницу «http://<IP-адрес_сервера>:3000».
Нажмите Get started.
В открывшемся окне настройте аккаунт администратора:
В поле Имя укажите введите имя.
В поле Электронная почта введите ваш e-mail.
В поле Пароль введите пароль.
Нажмите Создать аккаунт администратора.
Справа выберите
.Нажмите Manage models и в открывшемся окне:
В поле Загрузить модель с Ollama.com введите «deepseek-r1:32b».
Нажмите Показать.
Откроется окно для общения с моделью.
Настройте работу с моделью из терминала
Вы также можете использовать модель напрямую из терминала. Это позволит ускорить работу, а также получить доступ к некоторым дополнительным инструментам, например LangChain. В рамках сценария используется решение aider.
Справа выберите
.В поле Ключи API нажмите Сгенерировать и скопируйте ключ. Он понадобится в дальнейшем.
В терминале выполните запрос для проверки работы API:
curl -X POST http://<IP-адрес_сервера>:3000/api/chat/completions -H "Authorization: Bearer <API-ключ>" -H "Content-Type: application/json" -d '{ "model": "deepseek-r1:32b", "messages": [ { "role": "user", "content": "Why is the sky blue?" } ] }'
В ответ должно отобразиться:
{"id":"deepseek-r1:7b-d91cdf31-d05d-4185-a512-960753e21239"...
Установите aider для работы с моделью в терминале:
python -m pip install aider-install aider-install
Настройте подключение aider к Open WebUI:
export OPENAI_API_BASE=http://<IP-адрес_сервера>:3000/api export OPENAI_API_KEY=<API-ключ>
Откройте окно для общения с моделью:
aider --model openai/deepseek-r1:32b
Теперь вы можете задавать модели вопросы и получать ответы напрямую в терминале.
для юрлиц и ИП