Granska Azure Machine Learning-schemat

Slutförd

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}');