Untersuchen des Azure Machine Learning-Schemas

Abgeschlossen

Das azure_ml Schema der azure_ai Erweiterung ermöglicht es Ihrer Datenbank, mit den Funktionen von benutzerdefinierten Machine Learning-Modellen zu interagieren. Durch die Verwendung des azure_ml Schemas können Sie Ihre PostgreSQL-Datenbank nahtlos in Azure Machine Learning-Dienste integrieren. Mit dieser Integration können Sie Machine Learning-Modelle direkt aus Ihrer Datenbank bereitstellen und so einen effizienten und skalierbaren Rückschluss in Echtzeit ermöglichen.

Echtzeit-Rückschluss mit dem azure_ml Schema

Azure Machine Learning ist eine cloudbasierte Plattform, die End-to-End Machine Learning-Workflows optimiert. In Azure Machine Learning werden Modelle mit beliebten Frameworks wie PyTorch und TensorFlow entwickelt. Nach der Schulung werden diese Modelle als Endpunkte bereitgestellt, stabile URLs, bei denen Vorhersagen angefordert werden können.

Da die Online-Endpunkte Rückschlüsse in Echtzeit ermöglichen, können Sie mit Azure Machine Learning, das in die azure_ai Erweiterung integriert ist, genaue Vorhersagen direkt aus Ihrer Datenbank treffen. Die inference Funktion innerhalb dieses Schemas dient dazu, Vorhersagen zu vereinfachen oder Ausgaben mithilfe eines trainierten Modells aus Azure Machine Learning zu generieren. Wenn Sie ein Modell bereitstellen, können Sie mit der Rückschlussfunktion das Modell aufrufen und Vorhersagen für neue Daten abrufen.

  • azure_ml.inference(jsonb,integer,boolean,text)

Die inference() Funktion erwartet die folgenden Eingabeparameter:

Parameter type Standard Beschreibung
input_data jsonb Ein JSON-Objekt, das das Objekt enthält, das für die input_data Interaktion mit Azure Machine Learning-Modellen erforderlich ist.
deployment_name text NULL::text (Optional) Name der Modellimplementierung, die auf den angegebenen Azure Machine Learning-Endpunkt ausgerichtet werden soll.
timeout_ms integer NULL::integer Das Timeout...
throw_on_error boolean true desc...
max_attempts integer 1 Anzahl der Wiederholungen des Aufrufs an den Azure OpenAI-Dienst im Falle eines Fehlers.
retry_delay_ms integer 1000 Die Zeit (in Millisekunden), die gewartet werden muss, bevor versucht wird, den Azure OpenAI-Dienstendpunkt erneut aufzurufen.

Azure Machine Learning-Rückschluss-Endpunkte erwarten ein JavaScript Object Notation (JSON)-Objekt als Eingabe. Die Struktur dieses Objekts hängt jedoch vom zugrunde liegenden Modell ab. Beispielsweise hat ein Regressionsmodell, das darauf trainiert wurde, die täglichen Mietpreise für kurzfristige Wohnungsmieten im Raum Seattle, Washington, vorherzusagen, unter Berücksichtigung spezifischer Eingaben wie Nachbarschaft, Postleitzahl, Anzahl der Schlafzimmer und Anzahl der Badezimmer usw. die folgende 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]]
  }
}

Die erwartete Eingabeobjektstruktur kann abgerufen werden, indem die Swagger-Definition untersucht wird, die Ihrem bereitgestellten Endpunkt zugeordnet ist. Diese Definition gibt die ServiceInput und ServiceOutput Strukturen an, mit denen Sie Ihre Eingaben und Ausgaben ermitteln können.

Konfigurieren einer Verbindung mit Azure Machine Learning

Bevor Sie die azure_ml.inference() Funktion verwenden, um einen Echtzeit-Rückschluss durchzuführen, müssen Sie die Erweiterung mit Ihrem Azure Machine Learning-Bewertungsendpunkt und -schlüssel konfigurieren. Der Wert für azure_ml.scoring_endpoint ist der REST-Endpunkt für Ihr bereitgestelltes Modell. Der Wert für azure_ml.endpoint_key kann entweder der primäre oder der sekundäre Schlüssel für diesen Endpunkt sein.

SELECT azure_ai.set_setting('azure_ml.scoring_endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_ml.endpoint_key', '{api-key}');