Auf dieser Seite wird gezeigt, wie Sie mit der Google Cloud Console oder der Vertex AI API Onlinevorhersagen und -erläuterungen in Echtzeit aus Ihren Tabellenklassifizierungs- oder Regressionsmodellen abrufen.
Eine Onlinevorhersage ist eine synchrone Anfrage im Gegensatz zu einer Batchvorhersage, bei der es sich um eine asynchrone Anfrage handelt. Verwenden Sie Onlinevorhersagen, wenn Sie Anfragen als Reaktion auf Anwendungseingaben oder in Situationen stellen, in denen eine zeitnahe Inferenz erforderlich ist.
Sie müssen ein Modell auf einem Endpunkt bereitstellen, bevor es für Onlinevorhersagen verwendet werden kann. Durch die Bereitstellung eines Modells werden dem Modell physische Ressourcen zugeordnet, sodass es Onlinevorhersagen mit niedriger Latenz bereitstellen kann.
Dabei werden folgende Themen behandelt:
- Modell auf einem Endpunkt bereitstellen
- Mit dem bereitgestellten Modell eine Onlinevorhersage treffen
Hinweis
Bevor Sie Onlinevorhersagen abrufen können, müssen Sie zuerst ein Modell trainieren.
Modell auf einem Endpunkt bereitstellen
Sie können mehrere Modelle auf einem Endpunkt bereitstellen und ein Modell auf mehreren Endpunkten bereitstellen. Weitere Informationen zu Optionen und Anwendungsfällen für die Bereitstellung von Modellen finden Sie unter Modelle bereitstellen.
Verwenden Sie eine der folgenden Methoden, um ein Modell bereitzustellen:
Google Cloud Console
Rufen Sie in der Google Cloud Console im Abschnitt "Vertex AI" die Seite Modelle auf.
Klicken Sie auf den Namen des Modells, das Sie bereitstellen möchten, um die Detailseite zu öffnen.
Wählen Sie den Tab Deploy & Test (Bereitstellen und testen) aus.
Wenn Ihr Modell bereits für Endpunkte bereitgestellt ist, werden diese im Abschnitt Modell bereitstellen aufgeführt.
Klicken Sie auf In Endpunkt bereitstellen.
Konfigurieren Sie auf der Seite Endpunkt definieren Folgendes:
Sie können Ihr Modell auf einem neuen oder vorhandenen Endpunkt bereitstellen.
- Wählen Sie Neuen Endpunkt erstellen aus und geben Sie einen Namen für den neuen Endpunkt an, um Ihr Modell auf einem neuen Endpunkt bereitzustellen.
- Zum Bereitstellen des Modells auf einem vorhandenen Endpunkt wählen Sie Zu vorhandenem Endpunkt hinzufügen und anschließend den Endpunkt aus der Drop-down-Liste aus.
- Sie können einem Endpunkt mehrere Modelle hinzufügen und ein Modell mehreren Endpunkten hinzufügen. Weitere Informationen
Klicken Sie auf Weiter.
Konfigurieren Sie auf der Seite Modelleinstellungen Folgendes:
-
Wenn Sie das Modell auf einem neuen Endpunkt bereitstellen, akzeptieren Sie für die Trafficaufteilung 100. Wenn Sie das Modell auf einem vorhandenen Endpunkt bereitstellen, auf dem ein oder mehrere Modelle bereitgestellt werden, müssen Sie den Prozentsatz für die Trafficaufteilung für das bereitzustellende Modell und die bereits bereitgestellten Modelle aktualisieren, sodass alle Prozentwerte zusammengenommen 100 % ergeben.
-
Geben Sie die Mindestanzahl von Computing-Knoten ein, die Sie für das Modell bereitstellen möchten.
Dies ist die Anzahl der Knoten, die für dieses Modell verfügbar sind. Unabhängig davon, ob die Vorhersagelast oder ein Standby-Knoten verarbeitet wird, werden Ihnen die Kosten für die verwendeten Knoten in Rechnung gestellt – auch ohne Vorhersagetraffic. Weitere Informationen finden Sie auf der Seite "Preise".
-
Wählen Sie den Maschinentyp aus.
Größere Maschinenressourcen erhöhen die Vorhersageleistung und erhöhen die Kosten.
-
Klicken Sie auf Weiter.
-
Klicken Sie auf der Seite Modellmonitoring auf Weiter.
Konfigurieren Sie auf der Seite Monitoringziele Folgendes:
- Geben Sie den Speicherort Ihrer Trainingsdaten ein.
- Geben Sie den Namen der Zielspalte ein.
Klicken Sie auf Deploy, um Ihr Modell auf dem Endpunkt bereitzustellen.
API
Wenn Sie ein Modell mit der Vertex AI API bereitstellen, führen Sie die folgenden Schritte aus:
- Erstellen Sie bei Bedarf einen Endpunkt.
- Rufen Sie die Endpunkt-ID ab.
- Stellen Sie das Modell für den Endpunkt bereit.
Endpunkt erstellen
Wenn Sie ein Modell auf einem vorhandenen Endpunkt bereitstellen, können Sie diesen Schritt überspringen.
gcloud
Das folgende Beispiel verwendet den Befehl gcloud ai endpoints create
:
gcloud ai endpoints create \
--region=LOCATION \
--display-name=ENDPOINT_NAME
Dabei gilt:
- LOCATION_ID: Die Region, in der Sie Vertex AI verwenden.
ENDPOINT_NAME: Der Anzeigename für den Endpunkt.
Es kann einige Sekunden dauern, bis das Google Cloud CLI den Endpunkt erstellt.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- ENDPOINT_NAME: Der Anzeigename für den Endpunkt.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
JSON-Text anfordern:
{ "display_name": "ENDPOINT_NAME" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata", "genericMetadata": { "createTime": "2020-11-05T17:45:42.812656Z", "updateTime": "2020-11-05T17:45:42.812656Z" } } }
"done": true
angegeben wird.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Endpunkt-ID abrufen
Sie benötigen die Endpunkt-ID, um das Modell bereitzustellen.
gcloud
Das folgende Beispiel verwendet den Befehl gcloud ai endpoints list
:
gcloud ai endpoints list \
--region=LOCATION \
--filter=display_name=ENDPOINT_NAME
Dabei gilt:
- LOCATION_ID: Die Region, in der Sie Vertex AI verwenden.
ENDPOINT_NAME: Der Anzeigename für den Endpunkt.
Notieren Sie sich die Zahl, die in der Spalte
ENDPOINT_ID
angezeigt wird. Verwenden Sie diese ID im folgenden Schritt.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Die Region, in der Sie Vertex AI verwenden.
- PROJECT_ID: Ihre Projekt-ID.
- ENDPOINT_NAME: Der Anzeigename für den Endpunkt.
HTTP-Methode und URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints?filter=display_name=ENDPOINT_NAME
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "endpoints": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints/ENDPOINT_ID", "displayName": "ENDPOINT_NAME", "etag": "AMEw9yPz5pf4PwBHbRWOGh0PcAxUdjbdX2Jm3QO_amguy3DbZGP5Oi_YUKRywIE-BtLx", "createTime": "2020-04-17T18:31:11.585169Z", "updateTime": "2020-04-17T18:35:08.568959Z" } ] }
Modell bereitstellen
Wählen Sie unten den Tab für Ihre Sprache oder Umgebung aus:
gcloud
In den folgenden Beispielen wird der Befehl gcloud ai endpoints deploy-model
verwendet.
Im folgenden Beispiel wird ein Model
in einem Endpoint
bereitgestellt, ohne GPUs zu verwenden, um die Vorhersagebereitstellung zu beschleunigen, ohne den Traffic auf mehrere DeployedModel
-Ressourcen aufzuteilen:
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- ENDPOINT_ID: Die ID des Endpunkts.
- LOCATION_ID: Die Region, in der Sie Vertex AI verwenden.
- MODEL_ID: Die ID des bereitzustellenden Modells.
-
DEPLOYED_MODEL_NAME: Ein Name für
DeployedModel
. Sie können auch den Anzeigenamen vonModel
fürDeployedModel
verwenden. -
MACHINE_TYPE: Optional. Die für jeden Knoten dieser Bereitstellung verwendeten Maschinenressourcen. Die Standardeinstellung ist
n1-standard-2
. Weitere Informationen zu Maschinentypen. -
MIN_REPLICA_COUNT: Die minimale Anzahl von Knoten für diese Bereitstellung.
Die Knotenzahl kann je nach der Vorhersagelast erhöht oder verringert werden, bis zur maximalen Anzahl von Knoten und niemals auf weniger als diese Anzahl von Knoten.
Dieser Wert muss größer oder gleich 1 sein. Wenn das Flag
--min-replica-count
weggelassen wird, wird der Wert standardmäßig auf 1 gesetzt. -
MAX_REPLICA_COUNT: Die maximale Anzahl von Knoten für diese Bereitstellung.
Die Knotenzahl kann je nach der Vorhersagelast erhöht oder verringert werden, bis zu dieser Anzahl von Knoten und niemals auf weniger als die minimale Anzahl von Knoten.
Wenn Sie das Flag
--max-replica-count
weglassen, wird die maximale Anzahl von Knoten auf den Wert von--min-replica-count
festgelegt.
Führen Sie den Befehl gcloud ai endpoints deploy-model aus:
Linux, macOS oder Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Traffic aufteilen
Das Flag --traffic-split=0=100
in den vorherigen Beispielen sendet 100 % des Vorhersagetraffics, den der Endpoint
empfängt, an das neue DeployedModel
, das durch die temporäre ID 0
dargestellt wird. Wenn Ihr Endpoint
bereits andere DeployedModel
-Ressourcen hat, können Sie den Traffic zwischen dem neuen DeployedModel
und den alten aufteilen.
Um z. B. 20 % des Traffics an das neue DeployedModel
und 80% an ein älteres zu senden, führen Sie den folgenden Befehl aus:
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- OLD_DEPLOYED_MODEL_ID: die ID des vorhandenen
DeployedModel
.
Führen Sie den Befehl gcloud ai endpoints deploy-model aus:
Linux, macOS oder Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST
Mit der Methode endpoints.predict können Sie eine Onlinevorhersage anfordern.
Modell bereitstellen
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Die Region, in der Sie Vertex AI verwenden.
- PROJECT_ID: Ihre Projekt-ID.
- ENDPOINT_ID: Die ID des Endpunkts.
- MODEL_ID: Die ID des bereitzustellenden Modells.
-
DEPLOYED_MODEL_NAME: Ein Name für
DeployedModel
. Sie können auch den Anzeigenamen vonModel
fürDeployedModel
verwenden. -
MACHINE_TYPE: Optional. Die für jeden Knoten dieser Bereitstellung verwendeten Maschinenressourcen. Die Standardeinstellung ist
n1-standard-2
. Weitere Informationen zu Maschinentypen. - ACCELERATOR_TYPE: Der Typ des Beschleunigers, der an die Maschine angehängt werden soll. Optional, wenn ACCELERATOR_COUNT nicht angegeben oder null ist. Nicht empfohlen für AutoML-Modelle oder benutzerdefinierte Modelle, die keine GPU-Images verwenden. Weitere Informationen
- ACCELERATOR_COUNT: Die Anzahl der Beschleuniger, die für jedes Replikat verwendet werden soll. Optional. Sollte für AutoML-Modelle oder benutzerdefiniert trainierte Modelle, die keine GPU-Images verwenden, null oder nicht angegeben sein.
- MIN_REPLICA_COUNT: Die minimale Anzahl von Knoten für diese Bereitstellung. Die Knotenzahl kann je nach der Vorhersagelast erhöht oder verringert werden, bis zur maximalen Anzahl von Knoten und niemals auf weniger als diese Anzahl von Knoten. Dieser Wert muss größer oder gleich 1 sein.
- MAX_REPLICA_COUNT: Die maximale Anzahl von Knoten für diese Bereitstellung. Die Knotenzahl kann je nach der Vorhersagelast erhöht oder verringert werden, bis zu dieser Anzahl von Knoten und niemals auf weniger als die minimale Anzahl von Knoten.
- TRAFFIC_SPLIT_THIS_MODEL: Der Prozentsatz des Vorhersagetraffics an diesen Endpunkt, der an das Modell mit diesem Vorgang weitergeleitet werden soll. Die Standardeinstellung ist 100. Alle Traffic-Prozentsätze müssen zusammen 100 % ergeben. Weitere Informationen zu Traffic-Splits
- DEPLOYED_MODEL_ID_N: Optional. Wenn andere Modelle für diesen Endpunkt bereitgestellt werden, müssen Sie die Prozentsätze der Trafficaufteilung aktualisieren, sodass alle Prozentsätze zusammen 100 % ergeben.
- TRAFFIC_SPLIT_MODEL_N: Der Prozentwert der Trafficaufteilung für den bereitgestellten Modell-ID-Schlüssel.
- PROJECT_NUMBER: Die automatisch generierte Projektnummer Ihres Projekts.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel
JSON-Text anfordern:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": "ACCELERATOR_COUNT" }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Standardeinstellungen für das Vorhersage-Logging ändern
Vorgangsstatus abrufen
Einige Anfragen starten lang andauernde Vorgänge, die viel Zeit in Anspruch nehmen. Diese Anfragen geben einen Vorgangsnamen zurück, mit dem Sie den Status des Vorgangs aufrufen oder den Vorgang abbrechen können. Vertex AI stellt Hilfsmethoden bereit, um Aufrufe für Vorgänge mit langer Laufzeit auszuführen. Weitere Informationen finden Sie unter Mit lang andauernden Vorgängen arbeiten.
Mit dem bereitgestellten Modell eine Onlinevorhersage erhalten
Um eine Onlinevorhersage zu erstellen, senden Sie ein oder mehrere Testelemente zur Analyse an ein Modell. Das Modell gibt dann Ergebnisse zurück, die auf den Zielen des Modells basieren. Verwenden Sie die Google Cloud Console oder die Vertex AI API, um eine Onlinevorhersage anzufordern.
Google Cloud Console
Rufen Sie in der Google Cloud Console im Abschnitt "Vertex AI" die Seite Modelle auf.
Klicken Sie in der Liste der Modelle auf den Namen des Modells, von dem Sie Vorhersagen anfordern möchten.
Wählen Sie den Tab Bereitstellen und Testen aus.
Fügen Sie im Abschnitt Modell testen Testelemente hinzu, um eine Vorhersage anzufordern. Die Basisvorhersagedaten sind bereits ausgefüllt. Sie können auch Ihre eigenen Vorhersagedaten eingeben und auf Vorhersagen klicken.
Nach Abschluss der Vorhersage gibt Vertex AI die Ergebnisse in der Konsole zurück.
API: Klassifizierung
gcloud
-
Erstellen Sie eine Datei mit dem Namen
request.json
und mit folgendem Inhalt:{ "instances": [ { PREDICTION_DATA_ROW } ] }
Dabei gilt:
-
PREDICTION_DATA_ROW: Ein JSON-Objekt mit Schlüsseln als Merkmalsnamen und Werten als entsprechende Merkmalswerte. Ein Beispiel: Bei einem Dataset mit einer Zahl, einem Array von Strings und einer Kategorie kann die Datenzeile wie in der folgenden Beispielanfrage aussehen:
"length":3.6, "material":"cotton", "tag_array": ["abc","def"]
Für jedes im Training enthaltene Merkmal muss ein Wert angegeben werden. Das Format der für die Vorhersage verwendeten Daten muss mit dem Format für das Training übereinstimmen. Weitere Informationen finden Sie unter Datenformat für Vorhersagen.
-
-
Führen Sie dazu diesen Befehl aus:
gcloud ai endpoints predict ENDPOINT_ID \ --region=LOCATION_ID \ --json-request=request.json
Dabei gilt:
- ENDPOINT_ID: Die ID des Endpunkts.
- LOCATION_ID: Die Region, in der Sie Vertex AI verwenden.
REST
Mit der Methode endpoints.predict können Sie eine Onlinevorhersage anfordern.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
LOCATION_ID: Die Region, in der sich der Endpunkt befindet. Beispiel:
us-central1
. - PROJECT_ID: Ihre Projekt-ID.
- ENDPOINT_ID: Die ID des Endpunkts.
-
PREDICTION_DATA_ROW: Ein JSON-Objekt mit Schlüsseln als Merkmalsnamen und Werten als entsprechende Merkmalswerte. Ein Beispiel: Bei einem Dataset mit einer Zahl, einem Array von Strings und einer Kategorie kann die Datenzeile wie in der folgenden Beispielanfrage aussehen:
"length":3.6, "material":"cotton", "tag_array": ["abc","def"]
Für jedes im Training enthaltene Merkmal muss ein Wert angegeben werden. Das Format der für die Vorhersage verwendeten Daten muss mit dem Format für das Training übereinstimmen. Weitere Informationen finden Sie unter Datenformat für Vorhersagen.
- DEPLOYED_MODEL_ID: Ausgabe durch die Methode
predict
. Die ID des Modells, das zum Generieren der Vorhersage verwendet wird.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict
JSON-Text der Anfrage:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "predictions": [ { "scores": [ 0.96771615743637085, 0.032283786684274673 ], "classes": [ "0", "1" ] } ] "deployedModelId": "2429510197" }
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
API: Regression
gcloud
-
Erstellen Sie eine Datei namens request.json mit folgenden Inhalten:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Dabei gilt:
-
PREDICTION_DATA_ROW: Ein JSON-Objekt mit Schlüsseln als Merkmalsnamen und Werten als entsprechende Merkmalswerte. Ein Beispiel: Bei einem Dataset mit einer Zahl, einem Array von Zahlen und einer Kategorie kann die Datenzeile wie in der folgenden Beispielanfrage aussehen:
"age":3.6, "sq_ft":5392, "code": "90331"
Für jedes im Training enthaltene Merkmal muss ein Wert angegeben werden. Das Format der für die Vorhersage verwendeten Daten muss mit dem Format für das Training übereinstimmen. Weitere Informationen finden Sie unter Datenformat für Vorhersagen.
-
-
Führen Sie dazu diesen Befehl aus:
gcloud ai endpoints predict ENDPOINT_ID \ --region=LOCATION_ID \ --json-request=request.json
Dabei gilt:
- ENDPOINT_ID: Die ID des Endpunkts.
- LOCATION_ID: Die Region, in der Sie Vertex AI verwenden.
REST
Mit der Methode endpoints.predict können Sie eine Onlinevorhersage anfordern.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
LOCATION_ID: Die Region, in der sich der Endpunkt befindet. Beispiel:
us-central1
. - PROJECT_ID: Ihre Projekt-ID.
- ENDPOINT_ID: Die ID des Endpunkts.
-
PREDICTION_DATA_ROW: Ein JSON-Objekt mit Schlüsseln als Merkmalsnamen und Werten als entsprechende Merkmalswerte. Ein Beispiel: Bei einem Dataset mit einer Zahl, einem Array von Zahlen und einer Kategorie kann die Datenzeile wie in der folgenden Beispielanfrage aussehen:
"age":3.6, "sq_ft":5392, "code": "90331"
Für jedes im Training enthaltene Merkmal muss ein Wert angegeben werden. Das Format der für die Vorhersage verwendeten Daten muss mit dem Format für das Training übereinstimmen. Weitere Informationen finden Sie unter Datenformat für Vorhersagen.
- DEPLOYED_MODEL_ID: Ausgabe durch die Methode
predict
. Die ID des Modells, das zum Generieren der Vorhersage verwendet wird.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict
JSON-Text der Anfrage:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "predictions": [ [ { "value": 65.14233 } ] ], "deployedModelId": "DEPLOYED_MODEL_ID" }
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Vorhersageergebnisse interpretieren
Klassifizierung
Klassifizierungsmodelle geben einen Konfidenzwert zurück.
Der Konfidenzwert gibt an, wie stark Ihr Modell die einzelnen Klassen oder Labels mit einem Testelement verknüpft. Je höher die Zahl, desto höher die Konfidenz des Modells, dass das Label auf dieses Element angewendet werden sollte. Sie entscheiden, wie hoch der Konfidenzwert für die Annahme der Ergebnisse des Modells sein muss.
Regression
Regressionsmodelle geben einen Vorhersagewert zurück.
Wenn Ihr Modell die probabilistische Inferenz verwendet, enthält das Feld value
den Minimierer des Optimierungsziels. Wenn Ihr Optimierungsziel beispielsweise minimize-rmse
ist, enthält das Feld value
den Mittelwert.
Ist es minimize-mae
, enthält das Feld value
den Medianwert.
Wenn Ihr Modell die probabilistische Inferenz mit Quantilen verwendet, stellt Vertex AI zusätzlich zum Minimierer des Optimierungsziels Quantilwerte und Vorhersagen bereit. Quantilwerte werden während des Modelltrainings festgelegt. Quantilvorhersagen sind die Vorhersagewerte, die den Quantilwerten zugeordnet sind.
TabNet bietet eine inhärente Modellinterpretierbarkeit, da Nutzer Informationen darüber erhalten, welche Merkmale sie für ihre Entscheidung verwendet haben. Der Algorithmus nutzt den Aufmerksamkeitsmechanismus, der versucht, den Einfluss einiger Merkmale selektiv zu verbessern und gleichzeitig den Einfluss anderer durch einen gewichteten Durchschnitt zu reduzieren. Für eine bestimmte Entscheidung entscheidet TabNet stufenweise, wie wichtig die einzelnen Merkmale sind. Anschließend werden die einzelnen Schritte kombiniert, um eine endgültige Vorhersage zu erstellen. Die Aufmerksamkeit ist multiplikativ, wobei größere Werte darauf hinweisen, dass das Merkmal eine größere Rolle bei der Vorhersage gespielt hat und ein Wert von null bedeutet, dass das Merkmal bei dieser Entscheidung keine Rolle gespielt hat. Da TabNet mehrere Entscheidungsschritte verwendet, wird die Aufmerksamkeit, die auf die Merkmale in allen Schritten gerichtet wurde, linear nach der entsprechenden Skalierung kombiniert. Diese lineare Kombination aus allen Entscheidungsschritten von TabNet ist die Gesamtwichtigkeit der Merkmale, die Ihnen TabNet zur Verfügung stellt.
Beispielausgabe für Vorhersagen
Die Rückgabenutzlast für eine Onlinevorhersage mit Merkmalwichtigkeit aus einem Regressionsmodell sieht etwa wie im folgenden Beispiel aus.
{
"predictions":[
{
"value":0.3723912537097931,
"feature_importance":{
"MSSubClass":0.12,
"MSZoning":0.33,
"LotFrontage":0.27,
"LotArea":0.06,
...
}
}
]
}
Nächste Schritte
- Modell exportieren
- Weitere Informationen zu Preisen für Onlinevorhersagen.