Установка Sherpa AI Server

Распаковка клиентских файлов

Распакуйте архив с клиентскими файлами и подготовьте систему к установке.

Распаковка архива с клиентскими файлами

# Найдите и распакуйте архив (автоматически выбирается самая свежая версия)
tar -xvzf "$(ls client_files_*.tgz | sort -V | tail -n 1)"
chevron-right💡 Комментарии к распаковке архиваhashtag

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 ..
chevron-right💡 Комментарии к подготовке скриптовhashtag

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 - скрипт для загрузки образов в Docker

    • extract_models.sh - скрипт для распаковки моделей ИИ

    • extract_vllm.sh - скрипт для распаковки LLM-моделей

  • docker-compose.yml - конфигурация Docker Compose для клиентской установки

  • .env - файл с переменными окружения для настройки системы

Проверка успешности распаковки:

chevron-right💡 Комментарии к проверке распаковкиhashtag

ls -la - показывает подробное содержимое директории

  • -l - длинный формат

  • -a - показывает скрытые файлы

ls -la sh_scripts/*.sh - проверяет скрипты в директории sh_scripts

Выполнение скриптов для разархивации

Загрузка Docker-образов

chevron-right💡 Комментарии к загрузке Docker-образовhashtag

sudo ./sh_scripts/load_all_docker_images.sh - запускает скрипт загрузки Docker-образов

Что делает скрипт:

  1. Загружает все Docker-образы из скачанных .tar.gz файлов

  2. Импортирует образы в локальный Docker registry

  3. Проверяет успешность загрузки

Распаковка моделей ИИ

chevron-right💡 Комментарии к распаковке основных моделейhashtag

sudo ./sh_scripts/extract_models.sh - запускает скрипт распаковки моделей

Что делает скрипт:

  1. Распаковывает модель Whisper для распознавания речи

  2. Распаковывает модель BGE Reranker для улучшения поиска

  3. Распаковывает модели для генерации эмбеддингов

  4. Создает необходимые директории

  5. Проверяет успешность распаковки

chevron-right💡 Комментарии к распаковке LLM моделиhashtag

sudo ./sh_scripts/extract_vllm.sh - запускает скрипт распаковки LLM модели

Что делает скрипт:

  1. Распаковывает модели

  2. Помещает файлы непосредственно в директорию моделей

  3. Проверяет содержимое после распаковки

Структура директорий после распаковки (примерная):

Настройка конфигурации системы

Sherpa AI Server требует настройки переменных окружения в файле .env перед запуском.

Открытие файла конфигурации

Или используйте любой текстовый редактор:

chevron-right💡 Комментарии к открытию файла конфигурацииhashtag

nano ./.env - открывает файл .env в редакторе nano

  • nano - простой текстовый редактор

  • ./.env - путь к файлу конфигурации

vim ./.env - открывает файл в редакторе Vim code ./.env - открывает файл в VS Code (если установлен)

Рекомендация: Используйте редактор, с которым вы знакомы

Основные параметры конфигурации

Настройки основного сервера (aiserver):

Настройки базы данных PostgreSQL:

Настройки LLM сервера:

Выбор модели ИИ: Выберите одну из доступных моделей, раскомментировав нужную строку и закомментировав остальные:

Безопасность и пароли

triangle-exclamation

Рекомендации по паролям:

  • Минимум 32 символа

  • Используйте буквы, цифры и специальные символы

  • Не используйте словарные слова

  • Храните пароли в безопасном месте

Проверка конфигурации

После редактирования файла .env проверьте корректность настроек:

chevron-right💡 Комментарии к проверке конфигурацииhashtag

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 - расширенные регулярные выражения

  • Перечисляет обязательные переменные через |

Создание резервной копии

chevron-right💡 Комментарии к созданию резервной копииhashtag

cp .env .env.backup - создает резервную копию файла конфигурации

  • cp - copy (копирование)

  • .env - исходный файл

  • .env.backup - файл резервной копии

circle-exclamation

Копирование SSL-сертификатов

Для обеспечения безопасного HTTPS-соединения необходимо скопировать SSL-сертификаты в директорию ./oais/backend/config/certs/:

chevron-right💡 Комментарии к копированию SSL-сертификатовhashtag

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

circle-exclamation
circle-info

ВНИМАНИЕ: получить сертификаты необходимо у администратора сети либо в вашем корпоративном центре сертификации, в случае отсутствия данных пунктов вы можете воспользоваться статьей получения сертификатов

Запуск системы

После завершения всех подготовительных этапов можно запустить Sherpa AI Server. Система будет работать в фоновом режиме как набор Docker-контейнеров.

circle-exclamation

Запуск всех сервисов

chevron-right💡 Комментарии к запуску сервисовhashtag

docker compose up -d - запускает все сервисы в фоновом режиме

  • docker compose - использует Docker Compose для управления контейнерами

  • up - создает и запускает все сервисы из docker-compose.yml

  • -d - запускает контейнеры в detached режиме (фоновом)

Ожидаемое время запуска: 2-5 минут, в зависимости от производительности системы.

Запуск сервисов с дополнительными функциями

В файле docker-compose.yml некоторые сервисы имеют profiles и запускаются только при явном указании:

circle-exclamation

Доступные profiles:

  • whisper - включает сервис распознавания речи (порт 3005)

  • reranker - включает сервис переранжирования результатов поиска (порт 8001)

  • full - включает все дополнительные сервисы (Whisper + BGE Reranker)

circle-exclamation

Проверка статуса контейнеров

chevron-right💡 Комментарии к проверке статусаhashtag

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" и показывать открытые порты.

Проверка логов контейнеров

chevron-right💡 Комментарии к проверке логовhashtag

docker compose logs aiserver - показывает логи конкретного сервиса

  • aiserver - имя сервиса

docker compose logs - показывает логи всех сервисов

docker compose logs -f aiserver - следит за логами в реальном времени

  • -f - follow (следить за новыми сообщениями)

Проверка на ошибки:

  • Ищите сообщения об ошибках подключения к базам данных

  • Проверьте загрузку моделей ИИ

  • Убедитесь в корректности SSL сертификатов

Проверка доступности сервисов

Проверка основного веб-интерфейса:

chevron-right💡 Комментарии к проверке веб-интерфейсаhashtag

curl -I http://aiserver.sherparpa.ru - проверяет HTTP доступность

  • -I - показывает только заголовки ответа

  • http://aiserver.sherparpa.ru - URL для проверки

curl -I https://aiserver.sherparpa.ru - проверяет HTTPS доступность

Ожидаемый ответ: HTTP/2 200 или перенаправление на /login

Проверка сервисов ИИ:

Тестирование основных функций

Веб-интерфейс:

  1. Откройте браузер и перейдите на https://aiserver.sherparpa.ru

  2. Должна открыться страница входа в систему

  3. Проверьте возможность регистрации/входа

Управление системой

Остановка системы:

Перезапуск сервисов:

Просмотр ресурсов:

chevron-right💡 Комментарии к управлению системойhashtag

Остановка системы:

  • 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: Убедитесь в корректности сертификатов

  • Ошибки подключения к БД: Проверьте переменные окружения в .env

  • GPU проблемы: Проверьте настройки CUDA_VISIBLE_DEVICES

После успешного запуска и тестирования системы установка Sherpa AI Server завершена.

Last updated