In diesem Dokument wird beschrieben, wie Sie mit Vertex AI Feature Store Aufgaben wie das Synchronisieren eines Onlinespeichers, das Bereitstellen von Features aus einem Onlinespeicher und die Suche in einem Online-Feature Store mithilfe einer Entität oder Einbettungen mit dem Vertex AI SDK für ABAP ausführen.
Vertex AI Feature Store ist ein verwalteter, cloudnativer Feature Store-Dienst. Er optimiert die ML-Featureverwaltung und die Onlinebereitstellungsprozesse, da Sie die Featuredaten in einer BigQuery-Tabelle oder -Ansicht verwalten können.
In einem typischen Workflow einer Vertex AI Feature Store-Einrichtung bereiten Sie zuerst Ihre SAP-Datenquelle in BigQuery vor, registrieren Ihre Datenquellen durch Erstellen von Featuregruppen und Features und richten den Onlinespeicher und die Featureansicht-Ressourcen ein. Sie können dann die neuesten Featurewerte online aus einer Featureansicht bereitstellen oder eine Ähnlichkeitssuche im Online-Feature Store durchführen. Informationen zum Einrichten von Vertex AI Feature Store finden Sie unter Vertex AI Feature Store.
Sobald Ihr Vertex AI Feature Store für die Onlinebereitstellung bereit ist, können Sie das Vertex AI SDK für ABAP für Folgendes verwenden:
- Damit Sie während der Modellvorhersage aktuelle und genaue Featurewerte für die Echtzeitbereitstellung bereitstellen können, sollten Sie Ihren Onlinespeicher mit der Featuredatenquelle in BigQuery synchronisieren.
- Wenn Sie Featurewerte aus einem Onlinespeicher für Echtzeitanwendungen bereitstellen möchten, müssen Sie die Features aus dem Onlinespeicher bereitstellen.
- Wenn Sie eine Liste semantisch ähnlicher oder verwandter Entitäten aus dem Onlinespeicher abrufen möchten, verwenden Sie eine Entität oder Einbettung für die Suche.
Hinweise
Bevor Sie das Vertex AI SDK für ABAP mit dem Vertex AI Feature Store verwenden, müssen Sie oder Ihre Administratoren die folgenden Voraussetzungen erfüllen:
- Sie haben die Vertex AI API in Ihrem Google Cloud-Projekt aktiviert.
- Sie haben das Vertex AI SDK für ABAP in Ihrer SAP-Umgebung installiert.
- Sie haben die Authentifizierung eingerichtet, um auf die Vertex AI API zuzugreifen.
- Sie haben die Online-Bereitstellung von Features eingerichtet. Informationen zum Erstellen und Verwenden eines Onlinespeichers zum Hosten und Bereitstellen von Daten in BigQuery mit Vertex AI Feature Store in einem End-to-End-Workflow finden Sie in den Jupyter-Notebook-Anleitungen für Vertex AI Feature Store.
ABAP-Klasse für Vertex AI Feature Store installieren
Wenn Sie den Vertex AI Feature Store in Ihrer ABAP-Anwendung verwenden möchten, müssen Sie die Klasse /GOOG/CL_FEATURE_STORE
instanziieren.
DATA(lo_client) = NEW /goog/cl_feature_store(
iv_key_name = 'CLIENT_KEY'
iv_location = 'LOCATION_ID'
iv_feature_store_id = 'FEATURE_ONLINE_STORE_NAME' ).
Ersetzen Sie Folgendes:
CLIENT_KEY
: Der für die Authentifizierung konfigurierte Clientschlüssel.LOCATION_ID
: Die Region, in der sich der Onlinespeicher befindet, z. B.us-central1
.FEATURE_ONLINE_STORE_NAME
: Der Name des Onlinespeichers, der die Featureansicht enthält.
Onlinespeicher synchronisieren
Damit Ihr Onlinespeicher die aktuellen und genauesten Featurewerte für die Echtzeitbereitstellung während der Modellvorhersage hat, müssen Sie die Featureansicht-Ressourcen in Ihrem Onlinespeicher mit der Feature-Datenquelle in BigQuery synchronisieren.
Hinweise
Da Sie über einen regionalen Endpunkt auf den Vertex AI Feature Store zugreifen, müssen Sie ein RFC-Ziel erstellen, um eine Verbindung zur Vertex AI API herzustellen. Geben Sie dann das RFC-Ziel in der Dienstzuordnungstabelle an.
Erstellen Sie ein RFC-Ziel für die Vertex AI API mit dem regionalen Endpunkt, an dem sich Ihr Vertex AI Feature Store befindet. Wenn sich Ihr Vertex AI Feature Store beispielsweise unter
us-east1
befindet, lautet der Endpunkt für den Zielhostus-east1-aiplatform.googleapis.com
. Informationen zu regionalen Endpunkten finden Sie unter Dienstendpunkt. So erstellen Sie ein RFC-Ziel:Führen Sie in der SAP-GUI den Transaktionscode
SM59
aus.Erstellen Sie ein neues RFC-Ziel. Achten Sie darauf, dass für das von Ihnen erstellte RFC-Ziel der Verbindungstyp so festgelegt ist:
G - HTTP connection to external server
.Öffnen Sie den Tab Technische Einstellungen und geben Sie folgende Details ein:
Zielhost: Geben Sie den regionalen Endpunkt an, an dem sich Ihr Vertex AI Feature Store befindet.
Dienstnummer: Geben Sie
443
ein. Diese Portnummer wird für die sichere Kommunikation verwendet.
Gehen Sie zum Tab Anmeldung und Sicherheit und prüfen Sie, ob Feld SSL-Zertifikat auf die Option DEFAULT-SSL-Client (Standard) festgelegt ist.
Speichern Sie die Änderungen.
Konfigurieren Sie die Dienstzuordnungstabelle für die Vertex AI API:
Führen Sie in der SAP-GUI den Transaktionscode
/GOOG/SDK_IMG
aus.Alternativ können Sie den Transaktionscode
SPRO
ausführen und dann auf SAP-Referenz-IMG klicken.Klicken Sie auf ABAP SDK for Google Cloud > Grundlegende Einstellungen > Dienstzuordnung konfigurieren.
Klicken Sie auf Neue Einträge.
Geben Sie das RFC-Ziel für die Vertex AI API an:
Name Dienstname RFC-Ziel Clientschlüssel für die Authentifizierung. aiplatform:v1
Name des RFC-Ziels. Speichern Sie den neuen Eintrag.
Vertex AI Feature Store synchronisieren
Verwenden Sie die Methode SYNC_FEATURE_DATA_TO_FS
, um eine Datensynchronisierung in einer Featureansicht zu starten.
DATA(lv_feature_view_sync_id) = lo_client->sync_feature_data_to_fs(
iv_feature_view_id = 'FEATURE_VIEW_NAME'
)->get_feature_sync_id( ).
Ersetzen Sie FEATURE_VIEW_NAME
durch den Namen der Datenansicht, für die Sie die Datensynchronisierung starten möchten.
Diese Methode gibt eine Synchronisierungs-ID für die Infoseite zurück, mit der Sie den Status der Synchronisierung prüfen können.
Status der Vertex AI Feature Store-Synchronisierung abrufen
Mit der Methode GET_FEATURE_SYNC_STATUS
können Sie den Status einer Vertex AI Feature Store-Synchronisierung abrufen.
DATA(ls_status) = lo_client->get_feature_sync_status(
iv_feature_view_id = 'FEATURE_VIEW_NAME'
iv_feature_sync_id = 'FEATURE_VIEW_SYNC_ID'
)->get_feature_sync_status( ).
Ersetzen Sie Folgendes:
FEATURE_VIEW_NAME
: Der Name der Featureansicht, für die Sie den Synchronisierungsstatus prüfen möchten.FEATURE_VIEW_SYNC_ID
: Die Synchronisierungs-ID der Feature-Ansicht, die von Vertex AI Feature Store synchronisieren empfangen wurde.Diese Methode gibt einen der folgenden Status zusammen mit der Fehlermeldung zurück, falls vorhanden:
C: Complete
,R: Running
oderF: Failed
.
Vertex AI Feature Store mit einem SAP-Hintergrundjob synchronisieren
Wenn Sie eine Datensynchronisierung in einer Featureansicht mit einem SAP-Hintergrundjob starten möchten, können Sie die Methode SYNC_FEATURE_DATA_TO_FS_BGJOB
verwenden.
Bei dieser Methode wird in Ihrem SAP-System ein Hintergrundjob erstellt, der die Feature Store-Synchronisierung startet und alle 30 Sekunden den Status der Feature Store-Synchronisierung prüft.
Wenn der Synchronisierungsstatus des Feature-Stores „Abgeschlossen“ oder „Fehlgeschlagen“ lautet, wird der Hintergrundjob mit einer entsprechenden Meldung abgeschlossen.
Wenn die Feature Store-Synchronisierung ausgeführt wird, wird der Hintergrundjob bis zum angegebenen TIMEOUT
-Wert ausgeführt. Nach Ablauf der Zeitüberschreitung wird der Hintergrundjob abgeschlossen, die Feature Store-Synchronisierung wird jedoch fortgesetzt.
DATA(ls_bgjob_details) = lo_client->sync_feature_data_to_fs_bgjob(
iv_feature_view_id = 'FEATURE_VIEW_NAME'
iv_timeout = TIMEOUT
)->get_background_job_details( ).
Ersetzen Sie Folgendes:
FEATURE_VIEW_NAME
: Der Name der Featureansicht, für die Sie die Datensynchronisierung manuell starten möchten.TIMEOUT
: Zeit in Sekunden, nach der der Hintergrundjob das Zeitlimit überschreitet. Dies hat keine Auswirkungen auf die Synchronisierung mit Vertex AI Feature Store.
Diese Methode gibt den Namen eines Hintergrundjobs und die entsprechende ID zurück. Dieser Job kann in SAP überwacht werden, um den Status der Feature Store-Synchronisierung zu prüfen.
Features aus einem Onlinespeicher bereitstellen
Sie können Featurewerte aus einem Onlineshop für Echtzeitanwendungen wie Produktempfehlungen bereitstellen. Abhängig von der für Ihren Onlinespeicher konfigurierten Art der Onlinebereitstellung können Featurewerte auf eine der folgenden Arten bereitgestellt werden:
- Featurewerte mit der Cloud Bigtable-Onlinebereitstellung abrufen
- Featurewerte mithilfe der optimierten Onlinebereitstellung mit einem öffentlichen Endpunkt abrufen
- Featurewerte mit der optimierten Onlinebereitstellung mit einem Private Service Connect-Endpunkt abrufen
Weitere Informationen zum Bereitstellen von Feature-Werten finden Sie unter Features aus einem Onlinespeicher bereitstellen.
Hinweise
Bevor Sie mit der Bereitstellung von Featurewerten aus einem Onlinespeicher beginnen können, müssen Sie den Domainnamen des öffentlichen Endpunkts aus den Details des Onlinespeichers abrufen, ein RFC-Ziel für den Endpunkt erstellen und dann das RFC-Ziel in der Dienstzuordnungstabelle angeben.
Rufen Sie den Domainnamen des öffentlichen Endpunkts für den Onlinespeicher ab:
-
Führen Sie in der SAP-GUI den Transaktionscode
/GOOG/SDK_IMG
aus.Alternativ können Sie den Transaktionscode
SPRO
ausführen und dann auf SAP-Referenz-IMG klicken. - Klicken Sie auf ABAP SDK for Google Cloud > Dienstprogramme > Vertex AI SDK: RFC-Informationen für Feature Store und Vektorsuche abrufen.
- Wählen Sie Feature Store-Details abrufen aus.
Geben Sie die folgenden Parameter ein:
- Google Cloud-Schlüsselname: Der Clientschlüssel für die Authentifizierung bei Google Cloud.
- Standort: Die Region, in der sich der Onlinespeicher befindet.
- Feature Store-ID: Der Name des Onlinespeichers, der die Featureansicht enthält.
Klicken Sie auf Ausführen, um die Details aufzurufen. Notieren Sie sich den Domainnamen des öffentlichen Endpunkts unter dem Label Host.
-
Führen Sie in der SAP-GUI den Transaktionscode
Erstellen Sie ein RFC-Ziel für den regionalen Endpunkt, den Domainnamen des öffentlichen Endpunkts oder den Private Service Connect-Endpunkt des Onlinespeichers. So erstellen Sie ein RFC-Ziel:
Führen Sie in der SAP-GUI den Transaktionscode
SM59
aus.Erstellen Sie ein neues RFC-Ziel. Achten Sie darauf, dass für das von Ihnen erstellte RFC-Ziel der Verbindungstyp so festgelegt ist:
G - HTTP connection to external server
.Öffnen Sie den Tab Technische Einstellungen und geben Sie folgende Details ein:
Zielhost: Geben Sie den Domainnamen des öffentlichen Endpunkts an, an dem sich Ihr Vertex AI Feature Store befindet.
Dienstnummer: Geben Sie
443
ein. Diese Portnummer wird für die sichere Kommunikation verwendet.
Gehen Sie zum Tab Anmeldung und Sicherheit und prüfen Sie, ob Feld SSL-Zertifikat auf die Option DEFAULT-SSL-Client (Standard) festgelegt ist.
Speichern Sie die Änderungen.
Konfigurieren Sie die Dienstzuordnungstabelle für die Vertex AI API:
Führen Sie in der SAP-GUI den Transaktionscode
/GOOG/SDK_IMG
aus.Alternativ können Sie den Transaktionscode
SPRO
ausführen und dann auf SAP-Referenz-IMG klicken.Klicken Sie auf ABAP SDK for Google Cloud > Grundlegende Einstellungen > Dienstzuordnung konfigurieren.
Klicken Sie auf Neue Einträge.
Geben Sie das RFC-Ziel für die Vertex AI API an:
Name Dienstname RFC-Ziel Clientschlüssel für die Authentifizierung. apiinvoker:v1
Name des RFC-Ziels. Speichern Sie den neuen Eintrag.
Featurewerte abrufen
Im Vertex AI Feature Store bezieht sich eine Entität auf ein Element, für das Sie Features erfassen möchten, z. B. einen Kunden, ein Produkt oder einen anderen Datenpunkt. Jede Entität ist mit einer Reihe von Features und ihren entsprechenden Werten verknüpft.
Wenn Sie Featurewerte durch Angabe einer einzelnen Entitäts-ID abrufen möchten, verwenden Sie die Methode SERVE_FEATURE_VALUES
.
DATA(lt_features) = lo_client->serve_feature_values(
iv_feature_view_id = 'FEATURE_VIEW_NAME'
it_entity_id = 'ENTITY_ID'
)->get_features( ).
Ersetzen Sie Folgendes:
FEATURE_VIEW_NAME
: Der Name der Featureansicht, aus der Sie Featurewerte bereitstellen möchten.ENTITY_ID
: Der Wert der ID-Spalte im Feature-Eintrag, aus dem Sie die neuesten Featurewerte bereitstellen möchten. Alternativ können Sie ein Array von Teilen angeben, um die Entitäts-ID zu erstellen. Die ID-Spalten müssen in der gleichen Reihenfolge wie in der Feature-Ansicht definiert sein.
Nach ungefähren nächsten Nachbarn suchen
Bei Onlinespeichern, die für die optimierte Onlinebereitstellung erstellt wurden, können Sie eine Suche nach Vektorähnlichkeiten durchführen, um eine Liste von semantisch ähnlichen oder verwandten Entitäten, auch als ungefähre nächste Nachbarn bezeichnet, abzurufen. Sie können nach ungefähren nächsten Nachbarn anhand der Entitäts-ID oder einer Einbettung suchen.
Hinweise
Wenn Sie einen Onlinespeicher für optimierte Onlinebereitstellung erstellen, generiert Vertex AI Feature Store einen öffentlichen Endpunkt-Domainnamen für den Onlinespeicher. Bevor Sie nach den nächsten Nachbarn aus einer Feature-Ansicht im Onlinespeicher suchen können, müssen Sie den Domainnamen des öffentlichen Endpunkts aus den Onlinespeicherdetails abrufen, ein RFC-Ziel für den Endpunkt erstellen und dann das RFC-Ziel in der Dienstzuordnungstabelle angeben.
Rufen Sie den Domainnamen des öffentlichen Endpunkts für den Onlinespeicher ab:
-
Führen Sie in der SAP-GUI den Transaktionscode
/GOOG/SDK_IMG
aus.Alternativ können Sie den Transaktionscode
SPRO
ausführen und dann auf SAP-Referenz-IMG klicken. - Klicken Sie auf ABAP SDK for Google Cloud > Dienstprogramme > Vertex AI SDK: RFC-Informationen für Feature Store und Vektorsuche abrufen.
- Wählen Sie Feature Store-Details abrufen aus.
Geben Sie die folgenden Parameter ein:
- Google Cloud-Schlüsselname: Der Clientschlüssel für die Authentifizierung bei Google Cloud.
- Standort: Die Region, in der sich der Onlinespeicher befindet.
- Feature Store-ID: Der Name des Onlinespeichers, der die Featureansicht enthält.
Klicken Sie auf Ausführen, um die Details aufzurufen. Notieren Sie sich den Domainnamen des öffentlichen Endpunkts unter dem Label Host.
-
Führen Sie in der SAP-GUI den Transaktionscode
Erstellen Sie ein RFC-Ziel für den Domainnamen des öffentlichen Endpunkts des Onlinespeichers:
Führen Sie in der SAP-GUI den Transaktionscode
SM59
aus.Erstellen Sie ein neues RFC-Ziel. Achten Sie darauf, dass für das von Ihnen erstellte RFC-Ziel der Verbindungstyp so festgelegt ist:
G - HTTP connection to external server
.Öffnen Sie den Tab Technische Einstellungen und geben Sie folgende Details ein:
Zielhost: Geben Sie den Domainnamen des öffentlichen Endpunkts für den Onlineshop an.
Dienstnummer: Geben Sie
443
ein. Diese Portnummer wird für die sichere Kommunikation verwendet.
Gehen Sie zum Tab Anmeldung und Sicherheit und prüfen Sie, ob Feld SSL-Zertifikat auf die Option DEFAULT-SSL-Client (Standard) festgelegt ist.
Speichern Sie die Änderungen.
Konfigurieren Sie die Dienstzuordnungstabelle für die Vertex AI API:
Führen Sie in der SAP-GUI den Transaktionscode
/GOOG/SDK_IMG
aus.Alternativ können Sie den Transaktionscode
SPRO
ausführen und dann auf SAP-Referenz-IMG klicken.Klicken Sie auf ABAP SDK for Google Cloud > Grundlegende Einstellungen > Dienstzuordnung konfigurieren.
Klicken Sie auf Neue Einträge.
Geben Sie das RFC-Ziel für die Vertex AI API an:
Name Dienstname RFC-Ziel Clientschlüssel für die Authentifizierung. apiinvoker:v1
Name des RFC-Ziels. Speichern Sie den neuen Eintrag.
Übereinstimmungen mit den nächsten Nachbarn einer Einbettung abrufen
Sie können nach semantisch verwandten Entitäten suchen, indem Sie eine Einbettung angeben.
Um die nächsten Nachbarn einer Einbettung zu suchen, senden Sie eine Anfrage mithilfe der Methode SEARCH_USING_EMBEDDINGS
.
DATA(lt_embeddings) = VALUE /goog/cl_aiplatform_v1=>ty_t_/goog/num_float( EMBEDDING_DATA ).
DATA(lt_neighbours) = lo_client->search_using_embeddings(
EXPORTING
iv_feature_view_id = 'FEATURE_VIEW_NAME'
it_embeddings = lt_embeddings
is_search_params = VALUE #( neighbor_count = 'NEIGHBOR_COUNT'
return_full_entity = 'RETURN_FULL_ENTITY' )
)->get_neighbours( ).
Ersetzen Sie Folgendes:
EMBEDDING_DATA
: Die Einbettung, für die Sie die Übereinstimmungen mit nächsten Nachbarn abrufen möchten. Ein Einbettungsvektor wird durch ein Array von Gleitkommawerten dargestellt.FEATURE_VIEW_NAME
: Der Name der Featureansicht, in der Sie nach Übereinstimmungen mit den ungefähren nächsten Nachbarn suchen möchten.NEIGHBOR_COUNT
: Anzahl der ungefähren nächsten Nachbarn, die Sie abrufen möchten.RETURN_FULL_ENTITY
: Optional. Geben Sie an, ob die Features für die Entitäten in die Antwort ein- oder ausgeschlossen werden sollen. Geben SieABAP_TRUE
ein, um die Features zusammen mit den Entitäten in die Antwort aufzunehmen. Der Standardwert istABAP_FALSE
.
Übereinstimmungen mit den nächsten Nachbarn einer Entität abrufen
Sie können nach semantisch verwandten Entitäten suchen, indem Sie eine Entitäts-ID angeben.
Um die nächsten Nachbarn einer Entitäts-ID zu suchen, senden Sie eine Anfrage mithilfe der Methode SEARCH_USING_ENTITY
.
DATA(lt_neighbours) = lo_client->search_using_entity(
EXPORTING
iv_feature_view_id = 'FEATURE_VIEW_NAME'
iv_entity_id = 'ENTITY_ID'
is_search_params = VALUE #( neighbor_count = 'NEIGHBOR_COUNT'
return_full_entity = 'RETURN_FULL_ENTITY' )
)->get_neighbours( ).
Ersetzen Sie Folgendes:
FEATURE_VIEW_NAME
: Der Name der Featureansicht, in der Sie nach Übereinstimmungen mit den ungefähren nächsten Nachbarn suchen möchten.ENTITY_ID:
: Entitäts-ID der Entität, für die Sie Übereinstimmungen mit ungefähren nächsten Nachbarn abrufen möchten.NEIGHBOR_COUNT
: Anzahl der ungefähren nächsten Nachbarn, die Sie abrufen möchten.RETURN_FULL_ENTITY
: Optional. Geben Sie an, ob die Features für die Entitäten in die Antwort ein- oder ausgeschlossen werden sollen. Geben SieABAP_TRUE
ein, um die Features zusammen mit den Entitäten in die Antwort aufzunehmen. Der Standardwert istABAP_FALSE
.
Nächste Schritte
In den Cloud-Foren können Sie Ihre Fragen stellen und mit der Community über das Vertex AI SDK sprechen.