Mit der Onlinebereitstellung können Sie Featurewerte für kleine Batches von Entitäten mit geringer Latenz bereitstellen. Sie können für jede Anfrage nur Featurewerte aus einem einzigen Entitätstyp angeben. Vertex AI Feature Store (Legacy) gibt nur den neuesten Nicht-Null-Wert jedes Features zurück.
In der Regel verwenden Sie die Onlinebereitstellung für die Bereitstellung von Featurewerten für bereitgestellte Modelle für Onlinevorhersagen. Beispiel: Sie haben ein Fahrradverleihunternehmen und möchten vorhersagen, wie lange ein bestimmter Nutzer ein Fahrrad mieten wird. Sie können Echtzeiteingaben vom Nutzer und von den Daten aus dem Feature Store einbinden, um eine Onlinevorhersage durchzuführen. Auf diese Weise können Sie die Ressourcenzuweisung in Echtzeit ermitteln.
Nullwerte
Wenn bei Online-Bereitstellungsergebnissen der neueste Wert null ist, gibt Vertex AI Feature Store (Legacy) den neuesten Wert ungleich null zurück. Wenn kein vorheriger Wert vorhanden ist, gibt Vertex AI Feature Store (Legacy) null zurück.
Hinweise
Prüfen Sie, ob der Feature Store, für den Sie Aufrufe ausführen, einen Onlineshop hat (die Anzahl der Knoten muss dafür größer als 0
sein). Andernfalls wird bei Anfragen zur Onlinebereitstellung ein Fehler zurückgegeben. Weitere Informationen finden Sie unter Feature Stores verwalten.
Werte aus einer einzelnen Entität bereitstellen
Featurewerte einer einzelnen Entität für einen bestimmten Entitätstyp bereitstellen
REST
Zum Abrufen von Featurewerten aus einer Entität senden Sie eine POST-Anfrage mit der Methode featurestores.entityTypes.readFeatureValues.
Im folgenden Beispiel werden die neuesten Werte für zwei verschiedene Features für eine bestimmte Entität abgerufen. Beachten Sie, dass Sie für das Feld ids
anstelle der Feature-IDs ["*"]
angeben können, um alle Features für die Entität auszuwählen.
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- LOCATION_ID: Region, in der der Featurestore erstellt wird. Beispiel:
us-central1
. - PROJECT_ID: Ihre Projekt-ID.
- FEATURESTORE_ID: ID des Featurestores.
- ENTITY_TYPE_ID: ID des Entitätstyps.
- ENTITY_ID: ID der Entität, für die Featurewerte abgerufen werden sollen.
- FEATURE_ID: ID des Features, für das Werte abgerufen werden sollen.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues
JSON-Text der Anfrage:
{ "entityId": "ENTITY_ID", "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID_1", "FEATURE_ID_2"] } } }
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues"
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "header": { "entityType": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID", "featureDescriptors": [ { "id": "FEATURE_ID_1" }, { "id": "FEATURE_ID_2" } ] }, "entityView": { "entityId": "ENTITY_ID", "data": [ { "value": { "VALUE_TYPE_1": "FEATURE_VALUE_1", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } }, { "value": { "VALUE_TYPE_2": "FEATURE_VALUE_2", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } } ] } }
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.
Python
Die Clientbibliothek für Vertex AI ist bei der Installation des Vertex AI SDK für Python enthalten. Informationen zur Installation des Vertex AI SDK für Python finden Sie unter Vertex AI SDK für Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
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.
Werte aus mehreren Entitäten bereitstellen
Stellen Sie Featurewerte aus einer oder mehreren Entitäten für einen bestimmten Entitätstyp bereit.
Verwenden Sie für eine bessere Leistung die Methode streamingReadFeatureValues
anstelle von parallelen Anfragen an die Methode readFeatureValues
.
REST
Zum Abrufen von Featurewerten aus mehreren Entitäten senden Sie eine POST-Anfrage mit der Methode featurestores.entityTypes.streamingReadFeatureValues.
Im folgenden Beispiel werden die aktuellsten Werte für zwei verschiedene Features für zwei unterschiedliche Entitäten abgerufen. Beachten Sie, dass Sie für das Feld ids
anstelle der Feature-IDs ["*"]
angeben können, um alle Features für die Entität auszuwählen.
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- LOCATION_ID: Region, in der der Featurestore erstellt wird. Beispiel:
us-central1
. - PROJECT_ID: Ihre Projekt-ID.
- FEATURESTORE_ID: ID des Featurestores.
- ENTITY_TYPE_ID: ID des Entitätstyps.
- ENTITY_ID: ID der Entität, für die Featurewerte abgerufen werden sollen.
- FEATURE_ID: ID des Features, für das Werte abgerufen werden sollen.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues
JSON-Text der Anfrage:
{ "entityIds": ["ENTITY_ID_1", "ENTITY_ID_2"], "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID_1", "FEATURE_ID_2"] } } }
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues"
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
[{ "header": { "entityType": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID", "featureDescriptors": [ { "id": "FEATURE_ID_1" }, { "id": "FEATURE_ID_2" } ] } }, { "entityView": { "entityId": "ENTITY_ID_1", "data": [ { "value": { "VALUE_TYPE_1": "FEATURE_VALUE_A", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } }, { "value": { "VALUE_TYPE_2": "FEATURE_VALUE_B", "metadata": { "generateTime": "2019-10-28T15:38:10Z" } } } ] } }, { "entityView": { "entityId": "ENTITY_ID_2", "data": [ { "value": { "VALUE_TYPE_1": "FEATURE_VALUE_C", "metadata": { "generateTime": "2019-10-28T21:21:37Z" } } }, { "value": { "VALUE_TYPE_2": "FEATURE_VALUE_D", "metadata": { "generateTime": "2019-10-28T21:21:37Z" } } } ] } }]
Weitere Sprachen
Sie können die folgenden Vertex AI-Clientbibliotheken installieren und sie verwenden, um die Vertex AI API aufzurufen. Cloud-Clientbibliotheken erleichtern Entwicklern die Programmierung, da die natürlichen Konventionen und Stile der jeweils unterstützten Sprache verwendet werden.
Nächste Schritte
- Featurewerte im Batchverfahren aufnehmen
- Features über die Batchbereitstellung bereitstellen
- Informationen zu Kontingenten für die Onlinebereitstellung von Vertex AI Feature Store (Legacy)
- Fehlerbehebung bei häufigen Problemen mit Vertex AI Feature Store (Legacy)