Udostępnij za pośrednictwem


Integrowanie usługi Azure Database for PostgreSQL z usługami Azure Machine Learning Services

Rozszerzenie azure AI umożliwia wywoływanie wszystkich modeli uczenia maszynowego wdrożonych w punktach końcowych online usługi Azure Machine Learning z poziomu programu SQL. Te modele mogą pochodzić z katalogu usługi Azure Machine Learning lub modeli niestandardowych, które są trenowane i wdrażane.

Wymagania wstępne

  • Włącz i skonfiguruj azure_ai rozszerzenie.
  • Utwórz obszar roboczy uczenia maszynowego i wdróż model z punktem końcowym online przy użyciu interfejsu wiersza polecenia, języka Python lub usługi Azure Machine Learning Studio albo wdróż model mlflow w punkcie końcowym online.
  • Upewnij się, że stan wdrożenia, aby upewnić się, że model został pomyślnie wdrożony, i przetestuj model wywołujący punkt końcowy, aby upewnić się, że model działa pomyślnie.
  • Pobierz identyfikator URI i klucz, które są potrzebne do skonfigurowania rozszerzenia w celu komunikowania się z usługą Azure Machine Learning.

Uwaga

Możesz zapoznać się z przykładami usługi Azure Machine Learning.

Konfigurowanie punktu końcowego usługi Azure Machine Learning

W usłudze>Azure Machine Learning Studio w obszarze Punkty końcowe Wybierz punkt końcowyUżyj>, możesz znaleźć identyfikator URI punktu końcowego i klucz dla punktu końcowego online. Użyj tych wartości, aby skonfigurować azure_ai rozszerzenie do korzystania z punktu końcowego wnioskowania online.

select azure_ai.set_setting('azure_ml.scoring_endpoint','<URI>');
select azure_ai.set_setting('azure_ml.endpoint_key', '<Key>');

azure_ml.invoke

Ocenia dane wejściowe wywołujące wdrożenie modelu usługi Azure Machine Learning w punkcie końcowym online.

azure_ml.invoke(input_data jsonb, timeout_ms integer DEFAULT NULL, throw_on_error boolean DEFAULT true, deployment_name text DEFAULT NULL)

Argumenty

input_data

jsonb json zawierający ładunek żądania dla modelu.

deployment_name

text nazwa wdrożenia odpowiadającego modelowi wdrożonemu w punkcie końcowym wnioskowania online usługi Azure Machine Learning

timeout_ms

integer DEFAULT NULL limit czasu w milisekundach, po którym operacja jest zatrzymana. Wdrożenie samego modelu może mieć określony limit czasu, który jest niższą wartością niż parametr limitu czasu w funkcji zdefiniowanej przez użytkownika. Jeśli ten limit czasu zostanie przekroczony, operacja oceniania zakończy się niepowodzeniem.

throw_on_error

boolean DEFAULT true w przypadku błędu funkcja powinna zgłosić wyjątek powodujący wycofanie transakcji zawijania.

max_attempts

integer DEFAULT 1 ile razy rozszerzenie ponawia próbę wywołania punktu końcowego usługi Azure Machine Learning, jeśli wystąpi błąd z możliwością ponowienia próby.

retry_delay_ms

integer DEFAULT 1000 czas oczekiwania rozszerzenia (w milisekundach) przed wywołaniem punktu końcowego usługi Azure Machine Learning w przypadku niepowodzenia z powodu błędu z możliwością ponawiania próby.

Typ zwracany

jsonb ocenianie danych wyjściowych modelu, który został wywołany w formacie JSONB.

Przykłady

Wywoływanie modelu uczenia maszynowego

Spowoduje to wywołanie modelu za pomocą input_data i zwrócenie ładunku jsonb.

-- Invoke model, input data depends on the model.
  SELECT * FROM azure_ml.invoke('
  {
    "input_data": [
      [1,2,3,4,5,6,7,8],
      [-1,-2,-3,-4,-5,-6,-7,-8]
    ],
    "params": {}
  }', deployment_name=>'Housingprediction' )

-- Get JSON elements from model output
SELECT jsonb_array_elements(invoke.invoke) as MedianHousePrediction
FROM azure_ml.invoke('
{
  "input_data": [
    [1,2,3,4,5,6,7,8],
    [-1,-2,-3,-4,-5,-6,-7,-8]
  ],
 "params": {}
}', deployment_name=>'Housingprediction' )