Untersuchen des Azure Machine Learning-Schemas

Abgeschlossen

Das azure_ml Schema der erweiterung azure_ai 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

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.

Mit den Onlineendpunkten, die Echtzeit-Ableitungen bereitstellen, bietet Azure Machine Learning, das in die azure_ai Erweiterung integriert ist, Sie aus, um genaue Vorhersagen direkt aus Ihrer Datenbank zu erstellen. 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 Art Vorgabe Beschreibung
input_data jsonb Ein JSON-Objekt, das das input_data Objekt enthält, das für die Interaktion mit Azure Machine Learning-Modellen erforderlich ist.
deployment_name text NULL::text (Optional) Name der Modellbereitstellung, die auf den angegebenen Azure Machine Learning-Endpunkt ausgerichtet werden soll.
timeout_ms integer NULL::integer Legt die maximale Zeit (in Millisekunden) fest, die auf einen Rückschlussvorgang wartet, bevor ein Timeout auftritt.
throw_on_error boolean true Bestimmt, ob ein Fehler ausgelöst werden soll, wenn bei dem Rückschlussvorgang ein Problem auftritt.
max_attempts integer 1 Anzahl der Wiederholungen des Aufrufs an den Azure OpenAI-Dienst im Falle eines Fehlers.
retry_delay_ms integer 1000 Zeitdauer in Millisekunden, um zu warten, bevor versucht wird, den Azure OpenAI-Dienstendpunkt erneut aufzurufen.

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, tägliche Mietpreise für kurzfristige Wohnungen in der Region Seattle, Washington, bestimmte Eingaben wie die Nachbarschaft, POSTLEITZAHL, Anzahl der Schlafzimmer, Anzahl der Badezimmer und mehr, hat 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 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}');