Integrace Služby Azure Database for PostgreSQL se službou Azure Machine Learning Services
Rozšíření Azure AI umožňuje vyvolat všechny modely strojového učení nasazené v online koncových bodech služby Azure Machine Learning z SQL. Tyto modely můžou být z katalogu Azure Machine Learning nebo vlastních modelů, které jsou natrénované a nasazené.
Požadavky
- Povolte a nakonfigurujte
azure_ai
rozšíření. - Vytvořte pracovní prostor strojového učení a nasaďte model s online koncovým bodem pomocí rozhraní příkazového řádku, Pythonu nebo studio Azure Machine Learning nebo nasaďte model mlflow do online koncového bodu.
- Ujistěte se, že stav nasazení zajistí úspěšné nasazení modelu, a otestujte model, který vyvolá koncový bod, aby se zajistilo úspěšné spuštění modelu.
- Získejte identifikátor URI a klíč, které jsou potřeba ke konfiguraci rozšíření pro komunikaci se službou Azure Machine Learning.
Poznámka:
Ukázky služby Azure Machine Learning můžete prozkoumat.
Konfigurace koncového bodu služby Azure Machine Learning
V studio Azure Machine Learning v části Koncové body>Vyberte koncový bod>Spotřebovávat, najdete identifikátor URI a klíč koncového bodu pro online koncový bod. Pomocí těchto hodnot nakonfigurujte azure_ai
rozšíření tak, aby používalo koncový bod pro odvozování online.
select azure_ai.set_setting('azure_ml.scoring_endpoint','<URI>');
select azure_ai.set_setting('azure_ml.endpoint_key', '<Key>');
azure_ml.invoke
Skóre vstupních dat vyvolácích nasazení modelu Azure Machine Learning v online koncovém bodu.
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 obsahující datovou část požadavku pro model.
deployment_name
text
název nasazení odpovídající modelu nasazeného v koncovém bodu odvozování online služby Azure Machine Learning
timeout_ms
integer DEFAULT NULL
časový limit v milisekundách, po kterém je operace zastavena. Nasazení samotného modelu může mít zadaný časový limit, který je nižší než parametr časového limitu v uživatelem definované funkci. Pokud dojde k překročení tohoto časového limitu, operace vyhodnocování selže.
throw_on_error
boolean DEFAULT true
při chybě by funkce vyvolala výjimku, která vede k vrácení zpět obtékání transakcí.
max_attempts
integer DEFAULT 1
kolikrát rozšíření opakuje volání koncového bodu služby Azure Machine Learning, pokud selže s libovolnou chybou opakovatelnou.
retry_delay_ms
integer DEFAULT 1000
doba (milisekundy), po kterou rozšíření čeká před voláním koncového bodu služby Azure Machine Learning, když selže s libovolnou chybou opakovatelnou.
Návratový typ
jsonb
Bodovací výstup pro model, který byl vyvolán v JSONB.
Příklady
Vyvolání modelu strojového učení
Tím se model zavolá s input_data a vrátí datovou část 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' )