Wywoływanie modeli usługi Azure Machine Learning

Ukończone

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}');