Wywoływanie modeli usługi Azure Machine Learning
Schemat azure_ml umożliwia bazie danych interakcję z możliwościami niestandardowych modeli uczenia maszynowego. Korzystając ze schematu azure_ml, możesz bezproblemowo zintegrować bazę danych PostgreSQL z usługami Azure Machine Learning. Ta integracja umożliwia wdrażanie i udostępnianie modeli uczenia maszynowego bezpośrednio z bazy danych, dzięki czemu wnioskowanie w czasie rzeczywistym jest wydajne i skalowalne.
Wnioskowanie w czasie rzeczywistym ze schematem azure_ml
W przypadku korzystania z rozszerzenia azure_ai schemat azure_ml udostępnia funkcję umożliwiającą wnioskowanie w czasie rzeczywistym bezpośrednio z bazy danych. Funkcja inference w tym schemacie została zaprojektowana tak, aby ułatwić przewidywanie lub generowanie danych wyjściowych przy użyciu wytrenowanego modelu z usługi Azure Machine Learning. Podczas wdrażania modelu funkcja wnioskowania umożliwia wywoływanie modelu i uzyskiwanie przewidywań na nowych danych.
azure_ml.inference(jsonb,integer,boolean,text)
Funkcja inference() oczekuje następujących parametrów wejściowych:
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
| dane wejściowe | jsonb |
Obiekt JSON zawierający obiekt input_data wymagany do interakcji z modelami usługi Azure Machine Learning. |
|
| limit_czasu_ms | integer |
NULL::integer |
Limit czasu... |
| throw_on_error | boolean |
true |
Desc... |
| nazwa wdrożenia | text |
NULL::text |
(Opcjonalnie) Nazwa wdrożenia modelu, które ma być przeznaczone dla określonego punktu końcowego usługi Azure Machine Learning. |
Punkty końcowe wnioskowania usługi Azure Machine Learning oczekują obiektu JavaScript Object Notation (JSON) jako danych wejściowych. Jednak struktura tego obiektu zależy od modelu bazowego. Na przykład model regresji przeszkolony w celu przewidywania dziennych cen wynajmu mieszkań krótkoterminowych w obszarze Seattle, biorąc pod uwagę określone dane wejściowe, takie jak sąsiedztwo, kod pocztowy, liczba sypialni i liczba łazienek, mają następujący kształt:
{
"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]]
}
}
Oczekiwaną strukturę obiektu wejściowego można pobrać, sprawdzając definicję struktury Swagger skojarzona z wdrożonym punktem końcowym. Ta definicja określa struktury ServiceInput i ServiceOutput, których można użyć do określenia danych wejściowych i wyjściowych.
Konfigurowanie połączenia z usługą Azure Machine Learning
Przed użyciem funkcji azure_ml.inference() do wnioskowania w czasie rzeczywistym należy skonfigurować rozszerzenie przy użyciu punktu końcowego i klucza oceniania usługi Azure Machine Learning. Wartość azure_ml.scoring_endpoint to punkt końcowy REST dla wdrożonego modelu. Wartość azure_ml.endpoint_key może być kluczem podstawowym lub pomocniczym dla tego punktu końcowego.
SELECT azure_ai.set_setting('azure_ml.scoring_endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_ml.endpoint_key','{api-key}');