Отправить синхронный HTTP-запрос к развернутой модели

После разворачивания образа можно отправлять синхронные запросы на хост.

Синхронные позволяют последовательно обрабатывать запросы к модели. Применяются, если требуется получить ответ для одиночного запроса, который обрабатывается меньше минуты. В других случаях воспользуйтесь асинхронным запросом.

REST API сервиса использует протокол HTTP для отправки данных и ответы в формате JSON. HTTP-запросы можно отправить из консоли с помощью инструмента командной строки curl. Для проверки корректности запросов с клиента на сервис и получения ответа от бэкенда рекомендуется использовать набор инструментов Postman.

Стандартный HTTP-запрос состоит из следующих частей:

  • Конечная точка. URL, который клиент использует для связи с сервисом.

  • Метод HTTP. Он сообщает сервису, какое действие хочет выполнить клиент. В примере ниже метод POST используется для создания ресурса на сервисе. Если ресурс существует, он переопределяется.

  • Заголовок (header). Используется для передачи дополнительной информации между сервисом и клиентом.

  • Тело. Данные, которые отправляются на сервис.

Отправить синхронный запрос, используя ключ

Ключи для получения предсказаний от развернутого деплоя позволяют отправлять запросы к нему, минуя этап аутентификации. Создание ключа осуществляется по кнопке Сгенерировать ключ в карточке деплоя.

../../../_images/s__key_control.png

Создаваемый ключ является уникальным.

Для ключей можно создать описание, нажав на значок плюса в столбце Описание.

../../../_images/s__key_description.png

Для отправки запроса к деплою по ключу:

  1. Нажмите Сгенерировать ключ.

  2. Задайте описание ключа (например, тестовый ключ для проверки функции).

  3. Нажмите cURL, чтобы скопировать запрос.

    В результате копирования получится запрос, имеющий следующий вид:

    Пример скопированного запроса
    curl 'https://mlspace.aicloud.sbercloud.ru/deployments/dgx2-inf/kfserving-1629374788/v1/models/kfserving-1629374788:predict' \
      -H 'content-type: application/json' \
      -H 'x-workspace-id: ee8cd85f-1886-4bbe-a2db-12ce69206a26' \
    --data-raw '{"key": "value"}'
    
    ../../../_images/s__deploy_curl.png
    Пример Python-запроса
    import requests
    BASE_URL = "https://mlspace.aicloud.sbercloud.ru/deployments/dgx2-inf/kfserving-1629374788/v1/models/kfserving-1629374788:predict"
    
    results = requests.post(
                BASE_URL,
                json={"key": "value"},
                headers={
                  "x-workspace-id": "ee8cd85f-1886-4bbe-a2db-12ce69206a26",
                  "content-type":"application/json",
                  "x-api-key":"116708e901aa481a9c9d4200357ed31d"
                }
              )
    
  4. Отправьте запрос.

После отправки запроса счетчик в поле Предсказания увеличится на единицу.

Удаление ключа

Для удаления ключа:

  1. Выберите ключ, который необходимо удалить, отметив чекбокс.

  2. Нажмите на иконку Кнопка удаления в соответствующей строке списка.

  3. В появившемся диалоговом окне подтвердите действие нажатием на Подтвердить.