Вызов моделей машинного обучения 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}');