В данном разделе описывается настройка для запуска только LLM сервера на отдельном сервере, без остальных компонентов Sherpa AI Server.
Когда это нужно
Запуск LLM сервера на отдельном сервере полезен когда:
Нужно распределить нагрузку между серверами
LLM сервер требует мощных GPU и его лучше вынести на отдельный сервер
Требуется масштабирование - несколько LLM серверов для балансировки нагрузки
Нужно изолировать LLM сервер от основного приложения
Сервер с GPU NVIDIA (CUDA 11.8+)
Docker и Docker Compose установлены
NVIDIA Container Toolkit установлен
Модели LLM загружены в директорию llm-server/models/
Шаг 1: Подготовка сервера
Убедитесь, что на сервере установлены все необходимые компоненты
Шаг 2: Подготовка файлов
Скопируйте на сервер следующие файлы и директории:
Шаг 3: Комментирование ненужных сервисов
Откройте файл docker-compose.yml и закомментируйте все сервисы кроме aiserver-llm-server.
Пример: Закомментированные сервисы
Шаг 5: Настройка переменных окружения
Создайте или отредактируйте файл .env с настройками LLM сервера:
Важно:
Убедитесь что путь к модели правильный: LLM_COMPLETION_MODEL_NAME=/model-store/название-модели
Шаг 6: Проверка конфигурации
Перед запуском проверьте конфигурацию:
Шаг 7: Запуск LLM сервера
Ожидаемый результат: Должен запуститься только контейнер aiserver-llm-server.
Шаг 8: Проверка работы
Ожидаемый результат:
Контейнер должен успешно запуститься
В логах не должно быть критических ошибок
API должен отвечать на запросы
GPU должна использоваться для загрузки модели
Подключение с другого сервера
Если LLM сервер запущен на отдельном сервере, настройте подключение с основного сервера.
На основном сервере
В файле .env основного сервера укажите адрес LLM сервера:
Минимальная конфигурация docker-compose
Пример минимального docker-compose.yml только для LLM сервера:
Сохраните этот файл как docker-compose.llm-only.yml и используйте:
Возможные проблемы
Контейнер не запускается
Проблема: Контейнер падает сразу после запуска.
Решение:
Проверьте логи: docker logs aiserver-llm-server
Убедитесь что GPU доступна: nvidia-smi
Проверьте что модель существует: ls -la llm-server/models/
Проверьте права доступа к директории моделей
Модель не загружается
Проблема: Ошибки при загрузке модели.
Решение:
Проверьте путь к модели в .env: LLM_COMPLETION_MODEL_NAME
Убедитесь что модель загружена: ls -la llm-server/models/
Проверьте логи на ошибки загрузки: docker logs aiserver-llm-server | grep -i error
Недостаточно памяти GPU
Проблема: Модель не помещается в память GPU.
Решение:
Уменьшите LLM_GPU_MEMORY_UTILIZATION в .env
Используйте квантованную версию модели (установите LLM_QUANTIZATION=true)
Используйте модель меньшего размера
Порт недоступен извне
Проблема: Не могу подключиться к LLM серверу с другого сервера.
Решение:
Проверьте firewall: sudo ufw status
Проверьте что порт проброшен: docker port aiserver-llm-server
Проверьте сетевые настройки Docker
Для мониторинга работы LLM сервера:
Оптимизация производительности
Для оптимизации производительности LLM сервера:
Использование квантования:
После выполнения всех шагов у вас должен быть запущен только LLM сервер на отдельном сервере, который можно использовать с основного сервера или других приложений через API на порту 3003.