IVA ДОКУМЕНТАЦИЯ ОБНОВЛЕНИЯ

Установка модуля ADP

Для установки модуля ADP необходимо:

Закрытие командной строки, открытой по протоколу SSH, в процессе установки может привести к нарушениям установки
  1. подготовить файлы дистрибутива:

    • пофайловая загрузка из облачного хранилища — скачать все файлы дистрибутива в одну директорию и переименовать файл переменных окружения из env в .env:

      mv env .env
      Файл переменных окружения .env и конфигурационный файл docker-compose-v6.0.0.yml должны располагаться в директории на одном уровне каталога
    • получить архив языковой модели triva_llm_instruct.tar.gz вместе с файлами дистрибутива и разместить его в той же директории, что и файл docker-compose-v6.0.0.yml. Скрипт развертывания распакует архив в каталог ./models/triva_llm_instruct

    • убедиться, что в конфигурационном файле docker-compose-v6.0.0.yml для сервиса adp_worker_client корректно указан путь к модели:

      volumes:
          - ./models/triva_llm_instruct:/app/triva_llm_instruct
    • убедиться, что в директории присутствуют все необходимые установочные файлы

    • чтобы изменить переменные окружения, например изменить порт <ADP_API_PORT> для API модуля ADP (по умолчанию 9003), необходимо внести изменения в файл .env, выполнив команду:

      sudo nano .env
  2. запустить скрипт развертывания, выполнив команды:

    chmod +x deploy.adp_v6.0.0.sh
    ./deploy.adp_v6.0.0.sh
    Выполнение последующих команд возможно только после завершения скрипта развертывания

    Ожидаемый вывод команды после успешного завершения работы скрипта развертывания:

    Приложение успешно развернуто!
    Проверьте логи: docker-compose logs -f
  3. проверить статус контейнера, выполнив команду:

    docker compose -f docker-compose-v6.0.0.yml ps
  4. проверить логи, выполнив команду:

    docker compose -f docker-compose-v6.0.0.yml logs -f
    Необходимо убедиться в отсутствии ошибок
  5. посмотреть ID контейнеров для adp_api_client и adp_worker_client, выполнив команду:

    docker compose -f docker-compose-v6.0.0.yml ps
  6. проверить логи adp_api_client, выполнив команду:

    docker logs <ID контейнера adp_api_client>

    Ожидаемый вывод команды:

    [2025-03-03 10:19:47 +0000] [7] [INFO] Starting gunicorn 23.0.0
    [2025-03-03 10:19:47 +0000] [7] [INFO] Listening at: http://0.0.0.0:9003 (7)
    [2025-03-03 10:19:47 +0000] [7] [INFO] Using worker: uvicorn.workers.UvicornWorker
    [2025-03-03 10:19:47 +0000] [8] [INFO] Booting worker with pid: 8
    [2025-03-03 10:19:47 +0000] [9] [INFO] Booting worker with pid: 9
    [2025-03-03 10:19:47 +0000] [10] [INFO] Booting worker with pid: 10
    [2025-03-03 10:19:48 +0000] [11] [INFO] Booting worker with pid: 11
    [2025-03-03 10:19:48 +0000] [8] [INFO] Started server process [8]
    [2025-03-03 10:19:48 +0000] [8] [INFO] Waiting for application startup.
    [2025-03-03 10:19:48 +0000] [8] [INFO] Application startup complete.
    [2025-03-03 10:19:48 +0000] [10] [INFO] Started server process [10]
    [2025-03-03 10:19:48 +0000] [10] [INFO] Waiting for application startup.
    [2025-83-03 10:19:48 +0000] [10] [INFO] Application startup complete.
    [2025-03-03 10:19:48 +0000] [11] [INFO] Started server process [11]
    [2025-03-03 10:19:48 +0000] [11] [INFO] Waiting for application startup.
    [2025-03-03 10:19:48 +0000] [11] [INFO] Application startup complete.
    [2025-03-03 10:19:48 +0000] [9] [INFO] Started server process [9]
    [2025-03-03 10:19:48 +0000] [9] [INFO] Waiting for application startup.
    [2025-03-03 10:19:48 +0000] [9] [INFO] Application startup complete.
  7. проверить логи adp_worker_client, выполнив команду:

    docker logs <ID контейнера adp_worker_client>

    В процессе инициализации модуль ADP Worker последовательно устанавливает соединения с БД, брокером сообщений RabbitMQ и Redis

    Ожидаемый вывод команды:

    worker - INFO - The model was loaded successfully.
    worker - INFO - Initialize db and collection.
    worker - INFO - Connect to redis: redis://adp_redis:6379/0
    worker - INFO - Connect to rabbitmq: adp_rabbitmq:5672

    Успешное завершение всех этапов подключения свидетельствует о готовности модуля ADP к работе

  8. чтобы проверить ответы от сервиса, необходимо запустить скрипт, выполнив команды:

    Перед выполнением команды дождаться загрузки модели в память GPU и убедиться, что контейнер adp_worker_client полностью загружен. Загрузка модели может занять более 10 минут
    docker compose -f docker-compose-v6.0.0.yml exec adp_api_client python -c "import adp_test; adp_test.main()"

    При успешном выполнении задачи в терминале будет выведен inference_id, а через несколько секунд — Ответ с результатом обработки

    Ожидаемый вывод команды:

    inferece_id=c73746e4-07e8-44cf-bel9-4ee68810d286
    Ответ: Команда обсуждает разработку модели нейросети для обнаружения котов на фотографиях.

    Отсутствие inference_id или текста ответа Ответ: в выводе команды свидетельствует о некорректной работе сервиса ADP

  9. перезапустить контейнеры, выполнив команды:

    docker compose -f docker-compose-v6.0.0.yml down
    docker compose -f docker-compose-v6.0.0.yml up -d

Для проверки OpenAI-совместимого API выполнить запросы после загрузки модели:

curl http://localhost:9003/version
curl http://localhost:9003/v1/models -H "Authorization: Bearer <API_KEY>"

В примере <API_KEY> — один из ключей доступа, указанных в параметре API_KEYS файла .env.

Метод /version должен вернуть версию v6.0.0, а /v1/models — список имен модели, указанных в параметре SERVED_MODEL_NAME.