Azure Database for PostgreSQL integreren met Azure Machine Learning Services
De Azure AI-extensie biedt de mogelijkheid om machine learning-modellen aan te roepen die zijn geïmplementeerd op online-eindpunten van Azure Machine Learning vanuit SQL. Deze modellen kunnen afkomstig zijn uit de Azure Machine Learning-catalogus of aangepaste modellen die worden getraind en geïmplementeerd.
Vereisten
- Schakel de extensie in en configureer deze
azure_ai
. - Maak een machine learning-werkruimte en implementeer een model met een online-eindpunt met cli, Python of Azure Machine Learning-studio of implementeer een mlflow-model op een online-eindpunt.
- Zorg ervoor dat de status van de implementatie om ervoor te zorgen dat het model is geïmplementeerd en test het model dat het eindpunt aanroept om ervoor te zorgen dat het model correct wordt uitgevoerd.
- Haal de URI en de sleutel op, die nodig zijn om de extensie te configureren om te communiceren met Azure Machine Learning.
Azure Machine Learning-eindpunt configureren
In de Azure Machine Learning-studio onder Eindpunten>kies uw eindpunt>verbruiken kunt u de eindpunt-URI en sleutel voor het online-eindpunt vinden. Gebruik deze waarden om de azure_ai
extensie te configureren voor het gebruik van het online deductie-eindpunt.
select azure_ai.set_setting('azure_ml.scoring_endpoint','<URI>');
select azure_ai.set_setting('azure_ml.endpoint_key', '<Key>');
azure_ml.invoke
Beoordeelt de invoergegevens die een Azure Machine Learning-modelimplementatie aanroepen op een online-eindpunt.
azure_ml.invoke(input_data jsonb, timeout_ms integer DEFAULT NULL, throw_on_error boolean DEFAULT true, deployment_name text DEFAULT NULL)
Argumenten
input_data
jsonb
json met de nettolading van de aanvraag voor het model.
deployment_name
text
naam van de implementatie die overeenkomt met het model dat is geïmplementeerd op het online deductie-eindpunt van Azure Machine Learning
timeout_ms
integer DEFAULT NULL
time-out in milliseconden waarna de bewerking is gestopt. De implementatie van een model zelf kan een time-out hebben die een lagere waarde is dan de time-outparameter in de door de gebruiker gedefinieerde functie. Als deze time-out wordt overschreden, mislukt de scorebewerking.
throw_on_error
boolean DEFAULT true
bij fout moet de functie een uitzondering genereren die resulteert in een terugdraaiactie van teruglooptransacties.
max_attempts
integer DEFAULT 1
aantal keren dat de extensie opnieuw probeert het Azure Machine Learning-eindpunt aan te roepen als het mislukt met een fout die opnieuw kan worden geprobeerd.
retry_delay_ms
integer DEFAULT 1000
de hoeveelheid tijd (milliseconden) die de extensie wacht, voordat het Azure Machine Learning-eindpunt wordt aangeroepen, wanneer het mislukt met een fout die opnieuw kan worden geprobeerd.
Retourtype
jsonb
score-uitvoer voor het model dat is aangeroepen in JSONB.
Voorbeelden
Het machine learning-model aanroepen
Dit roept het model aan met de input_data en retourneert een jsonb-nettolading.
-- 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' )