Badanie schematu usługi Azure Machine Learning
Schemat azure_ml
rozszerzenia azure_ai
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
azure Machine Learning to oparta na chmurze platforma usprawniająca kompleksowe przepływy pracy uczenia maszynowego. W usłudze Azure Machine Learning modele są opracowywane przy użyciu popularnych struktur, takich jak PyTorch i TensorFlow. Po wytrenowanym modelu te modele są wdrażane jako punkty końcowe, stabilne adresy URL, w których można żądać przewidywań.
Dzięki punktom końcowym online zapewniającym wnioskowanie w czasie rzeczywistym usługa Azure Machine Learning zintegrowana z rozszerzeniem azure_ai
umożliwia tworzenie dokładnych przewidywań 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 | Domyślny | Opis |
---|---|---|---|
input_data | jsonb |
Obiekt JSON zawierający obiekt input_data wymagany do interakcji z modelami usługi Azure Machine Learning. |
|
deployment_name | text |
NULL::text |
(Opcjonalnie) Nazwa wdrożenia modelu, które ma być przeznaczone dla określonego punktu końcowego usługi Azure Machine Learning. |
timeout_ms | integer |
NULL::integer |
Ustawia maksymalny czas (w milisekundach) oczekiwania na operację wnioskowania, zanim upłynął limit czasu. |
throw_on_error | boolean |
true |
Określa, czy zgłosić błąd, jeśli operacja wnioskowania napotka problem. |
max_attempts | integer |
1 |
Liczba ponownych prób wywołania usługi Azure OpenAI w przypadku awarii. |
retry_delay_ms | integer |
1000 |
Czas oczekiwania (w milisekundach) przed podjęciem próby ponownego wywołania punktu końcowego usługi Azure OpenAI. |
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 Seattle w stanie Waszyngton, biorąc pod uwagę określone dane wejściowe, takie jak sąsiedztwo, kod pocztowy, liczba sypialni, liczba łazienek i nie tylko, ma 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}');