Вызов моделей машинного обучения Azure

Завершено

Схема azure_ml позволяет базе данных взаимодействовать с возможностями пользовательских моделей машинного обучения. Используя схему azure_ml, вы можете легко интегрировать базу данных PostgreSQL со службами машинного обучения Azure. Эта интеграция позволяет развертывать и обслуживать модели машинного обучения непосредственно из базы данных, делая вывод в режиме реального времени эффективным и масштабируемым.

Вывод в режиме реального времени с помощью схемы azure_ml

При использовании расширения azure_ai схема azure_ml предоставляет функцию для выполнения вывода в режиме реального времени непосредственно из базы данных. Функция inference в этой схеме предназначена для упрощения прогнозирования или создания выходных данных с помощью обученной модели машинного обучения Azure. При развертывании модели функция вывода позволяет вызывать модель и получать прогнозы по новым данным.

azure_ml.inference(jsonb,integer,boolean,text)

Функция inference() ожидает следующие входные параметры:

Параметр Тип По умолчанию Описание
ввод jsonb Объект JSON, содержащий объект input_data, необходимый для взаимодействия с моделями машинного обучения Azure.
таймаут_мс integer NULL::integer Время ожидания...
выбрасывать_при_ошибке boolean true описание...
deployment_name text NULL::text (Необязательно) Имя развертывания модели для целевого объекта в указанной конечной точке Машинного обучения Azure.

Конечные точки вывода машинного обучения Azure ожидают объект нотации объектов JavaScript (JSON) в качестве входных данных. Однако структура этого объекта зависит от базовой модели. Например, модель регрессии, обученная прогнозировать ежедневные цены на аренду жилья для краткосрочной аренды жилья в сиэтле, учитывая конкретные входные данные, такие как район, ZIP-код, количество спальней и количество ванных комнат, имеет следующую форму:

{
  "input_data": {
    "columns": [
      "host_is_superhost",
      "host_has_profile_pic",
      "host_identity_verified",
      "neighbourhood_group_cleansed",
      "zipcode",
      "property_type",
      "room_type",
      "accommodates",
      "bathrooms",
      "bedrooms",
      "beds"
    ],
    "index": [0],
    "data": [["False", "False", "False", "Central Area", "98122", "House", "Entire home/apt", 4, 1.5, 3, 3]]
  }
}

Ожидаемая структура входных объектов может быть извлечена, проверив определение Swagger, связанное с развернутой конечной точкой. Это определение указывает структуры ServiceInput и ServiceOutput, которые можно использовать для определения входных и выходных данных.

Настройка подключения к Машинному обучению Azure

Прежде чем использовать функцию azure_ml.inference() для вывода в режиме реального времени, необходимо настроить расширение с помощью конечной точки и ключа оценки машинного обучения Azure. Значением azure_ml.scoring_endpoint является конечная точка REST для развернутой модели. Значением для azure_ml.endpoint_key может быть первичный или вторичный ключ для этой конечной точки.

SELECT azure_ai.set_setting('azure_ml.scoring_endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_ml.endpoint_key','{api-key}');