Integrieren der Azure Database for PostgreSQL in Azure Machine Learning Services
Die Azure KI-Erweiterung bietet die Möglichkeit, alle Machine Learning-Modelle aufzurufen, die auf Azure Machine Learning-Onlineendpunkten in SQL bereitgestellt werden. Dabei kann es sich um Modelle aus dem Azure Machine Learning-Katalog oder benutzerdefinierte Modelle handeln, die trainiert und bereitgestellt werden.
Voraussetzungen
- Aktivieren und Konfigurieren der
azure_ai
Erweiterung. - Erstellen Sie einen Arbeitsbereich für maschinelles Lernen und stellen Sie ein Modell mit einem Online-Endpunkt mithilfe von CLI, Python oder Azure Machine Learning Studio bereit oder stellen Sie ein mlflow-Modell an einem Online-Endpunkt bereit.
- Überprüfen Sie den Status der Bereitstellung, um sicherzustellen, dass das Modell erfolgreich bereitgestellt wurde, und testen Sie das Modell, indem Sie den Endpunkt aufrufen, um sicherzustellen, dass das Modell erfolgreich ausgeführt wird.
- Rufen Sie die URI und den Schlüssel ab. Sie benötigen sie zum Konfigurieren der Erweiterung für die Kommunikation mit Azure Machine Learning.
Hinweis
Sie können sich Azure Machine Learning-Beispiele ansehen.
Konfigurieren eines Azure Machine Learning-Endpunkts
In Azure Machine Learning Studio finden Sie unter Endpunkte>Endpunkt auswählen>Verbrauchen die Endpunkt-URI und den Schlüssel für den Onlineendpunkt. Verwenden Sie diese Werte, um die Erweiterung azure_ai
so zu konfigurieren, dass der Online-Rückschluss-Endpunkt verwendet wird.
select azure_ai.set_setting('azure_ml.scoring_endpoint','<URI>');
select azure_ai.set_setting('azure_ml.endpoint_key', '<Key>');
azure_ml.invoke
Bewertet die Eingabedaten, die eine Azure Machine Learning-Modellbereitstellung auf einem Online-Endpunkt aufrufen.
azure_ml.invoke(input_data jsonb, timeout_ms integer DEFAULT NULL, throw_on_error boolean DEFAULT true, deployment_name text DEFAULT NULL)
Argumente
input_data
jsonb
json mit der Anforderungsnutzlast für das Modell.
deployment_name
text
Name der Bereitstellung, die dem Modell entspricht, das auf dem Azure Machine Learning Online-Rückschluss-Endpunkt bereitgestellt wird.
timeout_ms
integer DEFAULT NULL
Timeout in Millisekunden, nach dem der Vorgang beendet wird. Für die Bereitstellung eines Modells selbst kann ein Zeitlimit festgelegt werden, das niedriger ist als der Zeitlimit-Parameter in der benutzerdefinierten Funktion. Wenn dieses Zeitlimit überschritten wird, schlägt der Bewertungsvorgang fehl.
throw_on_error
boolean DEFAULT true
Bei Fehler sollte die Funktion eine Ausnahme auslösen, die zu einem Rollback des Umbruchs von Transaktionen führt.
max_attempts
integer DEFAULT 1
Häufigkeit, mit der die Erweiterung das Aufrufen des Azure Machine Learning-Endpunkts wiederholt, wenn ein Fehler auftritt, der wiederholt werden kann
retry_delay_ms
integer DEFAULT 1000
Zeitdauer (Millisekunden), die die Erweiterung wartet, bevor sie den Azure Machine Learning-Endpunkt aufruft, wenn ein Fehler auftritt, der wiederholt werden kann
Rückgabetyp
jsonb
Bewertungsausgabe für das Modell, das in JSONB aufgerufen wurde.
Beispiele
Aufrufen des Machine Learning-Modells
Dadurch wird das Modell mit input_data aufgerufen und eine JSONB-Nutzlast zurückgegeben.
-- 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' )