Установка Sherpa AI Server
Распаковка клиентских файлов
Распакуйте архив с клиентскими файлами и подготовьте систему к установке.
Распаковка архива с клиентскими файлами
# Найдите и распакуйте архив (автоматически выбирается самая свежая версия)
tar -xvzf "$(ls client_files_*.tgz | sort -V | tail -n 1)"💡 Комментарии к распаковке архива
tar -xvzf "$(ls client_files_*.tgz | sort -V | tail -n 1)" - распаковывает архив клиентских файлов
tar -xvzf- распаковывает архив с подробным выводомls client_files_*.tgz- находит все файлы архивовsort -V- сортирует версии естественно (1.0 < 1.1 < 1.10)tail -n 1- выбирает самый свежий файл
Ожидаемый результат: Будет создана директория sh_scripts/ с исполняемыми скриптами и другие необходимые файлы.
Подготовка скриптов к выполнению
# Перейдите в директорию со скриптами
cd sh_scripts/
# Сделайте все скрипты исполняемыми
chmod +x *.sh
# Вернитесь в корневую директорию проекта
cd ..💡 Комментарии к подготовке скриптов
cd sh_scripts/ - переходит в директорию со скриптами установки
*chmod +x .sh - устанавливает права исполнения для всех shell-скриптов
chmod +x- добавляет право исполнения*.sh- все файлы с расширением .sh
cd .. - возвращает в корневую директорию проекта
Что делают эти команды:
chmod +x *.sh- устанавливает права исполнения для всех shell-скриптовЭто необходимо для запуска скриптов в следующих этапах установки
Структура распакованного архива:
После распаковки вы должны увидеть следующие файлы и директории:
sh_scripts/- директория с установочными скриптамиdownload_all_latest_docker_images.sh- скрипт для скачивания Docker-образовload_all_docker_images.sh- скрипт для загрузки образов в Dockerextract_models.sh- скрипт для распаковки моделей ИИextract_vllm.sh- скрипт для распаковки LLM-моделей
docker-compose.yml- конфигурация Docker Compose для клиентской установки.env- файл с переменными окружения для настройки системы
Проверка успешности распаковки:
💡 Комментарии к проверке распаковки
ls -la - показывает подробное содержимое директории
-l- длинный формат-a- показывает скрытые файлы
ls -la sh_scripts/*.sh - проверяет скрипты в директории sh_scripts
Выполнение скриптов для разархивации
Загрузка Docker-образов
💡 Комментарии к загрузке Docker-образов
sudo ./sh_scripts/load_all_docker_images.sh - запускает скрипт загрузки Docker-образов
Что делает скрипт:
Загружает все Docker-образы из скачанных .tar.gz файлов
Импортирует образы в локальный Docker registry
Проверяет успешность загрузки
Распаковка моделей ИИ
💡 Комментарии к распаковке основных моделей
sudo ./sh_scripts/extract_models.sh - запускает скрипт распаковки моделей
Что делает скрипт:
Распаковывает модель Whisper для распознавания речи
Распаковывает модель BGE Reranker для улучшения поиска
Распаковывает модели для генерации эмбеддингов
Создает необходимые директории
Проверяет успешность распаковки
💡 Комментарии к распаковке LLM модели
sudo ./sh_scripts/extract_vllm.sh - запускает скрипт распаковки LLM модели
Что делает скрипт:
Распаковывает модели
Помещает файлы непосредственно в директорию моделей
Проверяет содержимое после распаковки
Структура директорий после распаковки (примерная):
Настройка конфигурации системы
Sherpa AI Server требует настройки переменных окружения в файле .env перед запуском.
Открытие файла конфигурации
Или используйте любой текстовый редактор:
💡 Комментарии к открытию файла конфигурации
nano ./.env - открывает файл .env в редакторе nano
nano- простой текстовый редактор./.env- путь к файлу конфигурации
vim ./.env - открывает файл в редакторе Vim code ./.env - открывает файл в VS Code (если установлен)
Рекомендация: Используйте редактор, с которым вы знакомы
Основные параметры конфигурации
Настройки основного сервера (aiserver):
Настройки базы данных PostgreSQL:
Настройки LLM сервера:
Выбор модели ИИ: Выберите одну из доступных моделей, раскомментировав нужную строку и закомментировав остальные:
Безопасность и пароли
Критически важно: Измените все пароли по умолчанию на надежные:
Рекомендации по паролям:
Минимум 32 символа
Используйте буквы, цифры и специальные символы
Не используйте словарные слова
Храните пароли в безопасном месте
Проверка конфигурации
После редактирования файла .env проверьте корректность настроек:
💡 Комментарии к проверке конфигурации
cat .env | grep -v '^#' | grep '=' | wc -l - подсчитывает количество переменных окружения
cat .env- выводит содержимое файлаgrep -v '^#'- исключает комментарии (строки начинающиеся с #)grep '='- оставляет только строки с переменнымиwc -l- подсчитывает количество строк
grep -E "(POSTGRES_PASSWORD|HOST_IP|NGINX_DOMAIN_NAME)" .env - проверяет наличие обязательных переменных
-E- расширенные регулярные выраженияПеречисляет обязательные переменные через |
Создание резервной копии
💡 Комментарии к созданию резервной копии
cp .env .env.backup - создает резервную копию файла конфигурации
cp- copy (копирование).env- исходный файл.env.backup- файл резервной копии
Важно: Без правильной настройки .env файла система не запустится корректно.
Копирование SSL-сертификатов
Для обеспечения безопасного HTTPS-соединения необходимо скопировать SSL-сертификаты в директорию ./oais/backend/config/certs/:
💡 Комментарии к копированию SSL-сертификатов
mkdir -p ./oais/backend/config/certs/ - создает директорию для сертификатов
-p- создает родительские директории если они не существуют
cp /path/to/your/certificate.crt ./oais/backend/config/certs/aiserver.crt - копирует сертификат cp /path/to/your/private.key ./oais/backend/config/certs/aiserver.key - копирует приватный ключ
Требования к сертификатам:
Сертификат должен быть в формате
.crtили.pemПриватный ключ должен быть в формате
.keyИмена файлов должны быть
aiserver.crtиaiserver.key
Важно: Убедитесь что сертификаты имеют правильные права доступа:
ВНИМАНИЕ: получить сертификаты необходимо у администратора сети либо в вашем корпоративном центре сертификации, в случае отсутствия данных пунктов вы можете воспользоваться статьей получения сертификатов
Запуск системы
После завершения всех подготовительных этапов можно запустить Sherpa AI Server. Система будет работать в фоновом режиме как набор Docker-контейнеров.
Важно: Клиент получает файл docker-compose.yml, который содержит конфигурацию всех сервисов. Убедитесь, что вы используете именно этот файл для запуска системы.
Запуск всех сервисов
💡 Комментарии к запуску сервисов
docker compose up -d - запускает все сервисы в фоновом режиме
docker compose- использует Docker Compose для управления контейнерамиup- создает и запускает все сервисы из docker-compose.yml-d- запускает контейнеры в detached режиме (фоновом)
Ожидаемое время запуска: 2-5 минут, в зависимости от производительности системы.
Запуск сервисов с дополнительными функциями
В файле docker-compose.yml некоторые сервисы имеют profiles и запускаются только при явном указании:
Важно: Учитывайте объем доступной видеопамяти (VRAM) на вашей системе. Если у вас ограниченный объем VRAM, запускайте только необходимые сервисы с соответствующими профилями. При недостатке памяти система может работать нестабильно или не запуститься вовсе.
Доступные profiles:
whisper- включает сервис распознавания речи (порт 3005)reranker- включает сервис переранжирования результатов поиска (порт 8001)full- включает все дополнительные сервисы (Whisper + BGE Reranker)
Важно: Без указания profiles сервисы Whisper и BGE Reranker не запустятся. Выберите нужный profile в зависимости от ваших требований к функциональности.
Проверка статуса контейнеров
💡 Комментарии к проверке статуса
docker compose ps - показывает статус всех контейнеров Docker Compose
Выводит имена, статус и порты контейнеров
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" - показывает детальную информацию о контейнерах
--format- задает пользовательский формат выводаtable- табличный формат{{.Names}}- имена контейнеров{{.Status}}- статус контейнеров{{.Ports}}- открытые порты
Ожидаемый вывод (зависит от выбранного profile):
Базовые сервисы (без profiles):
С profile whisper (добавляется):
С profile reranker (добавляется):
С profile full (добавляются оба):
Все запущенные контейнеры должны иметь статус "Up" и показывать открытые порты.
Проверка логов контейнеров
💡 Комментарии к проверке логов
docker compose logs aiserver - показывает логи конкретного сервиса
aiserver- имя сервиса
docker compose logs - показывает логи всех сервисов
docker compose logs -f aiserver - следит за логами в реальном времени
-f- follow (следить за новыми сообщениями)
Проверка на ошибки:
Ищите сообщения об ошибках подключения к базам данных
Проверьте загрузку моделей ИИ
Убедитесь в корректности SSL сертификатов
Проверка доступности сервисов
Проверка основного веб-интерфейса:
💡 Комментарии к проверке веб-интерфейса
curl -I http://aiserver.sherparpa.ru - проверяет HTTP доступность
-I- показывает только заголовки ответаhttp://aiserver.sherparpa.ru- URL для проверки
curl -I https://aiserver.sherparpa.ru - проверяет HTTPS доступность
Ожидаемый ответ: HTTP/2 200 или перенаправление на /login
Проверка сервисов ИИ:
Тестирование основных функций
Веб-интерфейс:
Откройте браузер и перейдите на
https://aiserver.sherparpa.ruДолжна открыться страница входа в систему
Проверьте возможность регистрации/входа
Управление системой
Остановка системы:
Перезапуск сервисов:
Просмотр ресурсов:
💡 Комментарии к управлению системой
Остановка системы:
docker compose down- останавливает все сервисы и удаляет контейнерыdocker compose down -v- останавливает сервисы и удаляет volumes (данные будут потеряны!)
Перезапуск сервисов:
docker compose restart aiserver- перезапускает конкретный сервисdocker compose restart- перезапускает все сервисыdocker compose --profile whisper restart aiserver-whisper- перезапускает сервис с определенным profile
Просмотр ресурсов:
docker stats- показывает использование CPU, памяти, сети для контейнеровnvidia-smi- показывает использование GPU NVIDIA
Возможные проблемы при запуске:
Контейнеры не запускаются: Проверьте логи с
docker compose logsПроблемы с SSL: Убедитесь в корректности сертификатов
Ошибки подключения к БД: Проверьте переменные окружения в
.envGPU проблемы: Проверьте настройки CUDA_VISIBLE_DEVICES
После успешного запуска и тестирования системы установка Sherpa AI Server завершена.
Last updated