Untersuchen des Azure Machine Learning-Schemas
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}');