Granska Azure Machine Learning-schemat
Med azure_ml schema för azure_ai-tillägget kan databasen interagera med funktionerna i anpassade maskininlärningsmodeller. Genom att använda azure_ml-schemat kan du sömlöst integrera din PostgreSQL-databas med Azure Machine Learning-tjänster. Med den här integreringen kan du distribuera och hantera maskininlärningsmodeller direkt från databasen, vilket gör realtidsinferensen effektiv och skalbar.
Realtidsinferens med azure_ml-schemat
Azure Machine Learning är en molnbaserad plattform som effektiviserar arbetsflöden för maskininlärning från slutpunkt till slutpunkt. I Azure Machine Learning utvecklas modeller med hjälp av populära ramverk som PyTorch och TensorFlow. När de har tränats distribueras dessa modeller som slutpunkter, stabila URL:er där förutsägelser kan begäras.
Med onlineslutpunkterna som ger slutsatsdragning i realtid ger Azure Machine Learning som är integrerat med tillägget azure_ai dig möjlighet att göra korrekta förutsägelser direkt från databasen. Funktionen inference i det här schemat är utformad för att underlätta förutsägelser eller generera utdata med hjälp av en tränad modell från Azure Machine Learning. När du distribuerar en modell kan du med inferensfunktionen anropa modellen och få förutsägelser om nya data.
azure_ml.inference(jsonb,integer,boolean,text)
Funktionen inference() förväntar sig följande indataparametrar:
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
| input_data | jsonb |
Ett JSON-objekt som innehåller det input_data objekt som krävs för att interagera med Azure Machine Learning-modeller. |
|
| distributionsnamn | text |
NULL::text |
(Valfritt) Namnet på modelldistributionen som ska riktas mot den angivna Azure Machine Learning-slutpunkten. |
| timeout_ms (timeout i millisekunder) | integer |
NULL::integer |
Anger den maximala tiden (i millisekunder) för att vänta på en slutsatsdragningsåtgärd innan tidsgränsen uppnås. |
| throw_on_error | boolean |
true |
Avgör om ett fel ska utlösas om inferensåtgärden stöter på ett problem. |
| max_försök | integer |
1 |
Antal gånger för att försöka anropa Azure OpenAI-tjänsten igen i händelse av ett fel. |
| återförsök_fördröjning_ms | integer |
1000 |
Hur lång tid det tar att vänta i millisekunder innan du försöker anropa Azure OpenAI-tjänstslutpunkten igen. |
Azure Machine Learning-slutpunkter för slutsatsdragning förväntar sig ett JSON-objekt (JavaScript Object Notation) som indata. Strukturen för det här objektet är dock beroende av den underliggande modellen. Till exempel har en regressionsmodell som tränats för att förutsäga dagliga hyrespriser för korttidsuthyrning i Seattle, Washington-området, med tanke på specifika indata som grannskapet, postnummer, antal sovrum, antal badrum och mer följande form:
{
"input_data": {
"columns": [
"host_is_superhost",
"host_has_profile_pic",
"host_identity_verified",
"neighbourhood_group_cleansed",
"zipcode",
"property_type",
"room_type",
"accommodates",
"bathrooms",
"bedrooms",
"beds"
],
"index": [0],
"data": [["False", "False", "False", "Central Area", "98122", "House", "Entire home/apt", 4, 1.5, 3, 3]]
}
}
Den förväntade indataobjektstrukturen kan hämtas genom att undersöka Swagger-definitionen som är associerad med din distribuerade slutpunkt. Den här definitionen anger de ServiceInput och ServiceOutput strukturer som du kan använda för att fastställa dina indata och utdata.
Konfigurera en anslutning till Azure Machine Learning
Innan du använder funktionen azure_ml.inference() för att utföra slutsatsdragning i realtid måste du konfigurera tillägget med slutpunkten och nyckeln för Azure Machine Learning-poängsättningen. Värdet för azure_ml.scoring_endpoint är REST-slutpunkten för din distribuerade modell. Värdet för azure_ml.endpoint_key kan vara antingen den primära eller den sekundära nyckeln för den här slutpunkten.
SELECT azure_ai.set_setting('azure_ml.scoring_endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_ml.endpoint_key', '{api-key}');