Condividi tramite


Integrare il Database di Azure per PostgreSQL con servizi di Azure Machine Learning

L'estensione Azure per intelligenza artificiale consente di richiamare tutti i modelli di Machine Learning distribuiti in endpoint online di Azure Machine Learning dall'interno di SQL. Questi modelli possono provenire dal catalogo di Azure Machine Learning o dai modelli personalizzati sottoposti a training e distribuiti.

Prerequisiti

Nota

È possibile visualizzare alcuni esempi di Azure Machine Learning.

Configurare l'endpoint di Azure Machine Learning

In studio di Azure Machine Learning, in Endpoint>Seleziona l'endpoint>Usa è possibile trovare l'URI dell'endpoint e la chiave per l'endpoint online. Usare questi valori per configurare l'estensione azure_ai per usare l'endpoint di inferenza online.

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

azure_ml.invoke

Assegna punteggi ai dati di input richiamando una distribuzione di un modello di Azure Machine Learning in un endpoint online.

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

Argomenti

input_data

jsonb json contenente il payload della richiesta per il modello.

deployment_name

text nome della distribuzione corrispondente al modello distribuito nell'endpoint di inferenza online di Azure Machine Learning

timeout_ms

integer DEFAULT NULL timeout in millisecondi dopo il quale l'operazione viene arrestata. La distribuzione di un modello stesso può avere un timeout specificato, corrispondente a un valore inferiore rispetto al parametro di timeout nella funzione definita dall'utente. Se questo timeout viene superato, l'operazione di assegnazione dei punteggi avrà esito negativo.

throw_on_error

boolean DEFAULT true in caso di errore, la funzione genera un'eccezione che genera un rollback delle transazioni di wrapping.

max_attempts

integer DEFAULT 1 numero di tentativi dell'estensione che chiamano l'endpoint di Azure Machine Learning in caso di errore irreversibile.

retry_delay_ms

integer DEFAULT 1000 periodo di tempo (millisecondi) di attesa dell'estensione prima di chiamare l'endpoint di Azure Machine Learning, in qula caso avrà esito negativo con qualsiasi errore ripetibile.

Tipo restituito

jsonb output di assegnazione dei punteggi per il modello richiamato in JSONB.

Esempi

Richiamare il modello di Machine Learning

Viene chiamato il modello con input_data e viene restituito un payload 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' )