Aufrufen von Azure Machine Learning-Modellen

Abgeschlossen

Das azure_ml-Schema 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 bedienen und so eine effiziente und skalierbare Echtzeitableitung ermöglichen.

Echtzeit-Ableitung mit dem azure_ml-Schema

Wenn Sie die azure_ai-Erweiterung verwenden, stellt das azure_ml Schema eine Funktion für die direkte Ableitung in Echtzeit aus der Datenbank bereit. 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 Ableitungsfunktion 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 Typ Standard BESCHREIBUNG
Eingabe jsonb Ein JSON-Objekt, das das input_data Objekt enthält, das für die Interaktion mit Azure Machine Learning-Modellen erforderlich ist.
timeout_ms integer NULL::integer Das Timeout...
throw_on_error boolean true Desc...
deployment_name text NULL::text (Optional) Name der Modellbereitstellung, die auf den angegebenen Azure Machine Learning-Endpunkt ausgerichtet werden soll.

Azure Machine Learning-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 trainiert, um tägliche Mietpreise für kurzfristige Wohnungen in der Region Seattle zu prognostizieren, wobei bestimmte Eingaben wie die Nachbarschaft, postleitzahl, Anzahl der Schlafzimmer und die Anzahl der Badezimmer die folgende Form hat:

{
  "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 strukturen ServiceInput und ServiceOutput 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 eine Echtzeit-Ableitung 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}');