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.
Hinweis
Lokale oder beliebige Cloud-Version
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 DFAULT 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.
SAP BTP-Edition
Da Sie über einen regionalen Endpunkt auf den Vertex AI Feature Store zugreifen, müssen Sie ein Kommunikationssystem und eine Kommunikationsvereinbarung erstellen und den Clientschlüssel entsprechend konfigurieren.
Rufen Sie das SAP Fiori-Start-Dashboard des BTP ABAP-Systems auf, in dem das ABAP SDK for Google Cloud installiert ist.
Gehen Sie zu Alle Gruppenbereiche > Verwaltung > Kommunikationsverwaltung.
Erstellen Sie ein Kommunikationssystem:
- Öffnen Sie die App Kommunikationssysteme.
- Klicken Sie auf Neu.
- Geben Sie im angezeigten Dialogfeld Neues Kommunikationssystem Werte für die folgenden Felder ein:
- System-ID: Geben Sie eine System-ID ein.
- Systemname: Geben Sie einen Systemnamen ein.
- Klicken Sie auf Erstellen.
- Geben Sie im Feld Hostname die URL für den regionalen Endpunkt ein. 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. - Geben Sie in das Feld Port die Zahl
443
ein. - Klicken Sie auf dem Tab Nutzer für ausgehende Kommunikation auf Hinzufügen.
- Wählen Sie im Feld Authentication method (Authentifizierungsmethode) die Option None (Keine) aus.
- Klicken Sie auf Speichern.
So erstellen Sie eine Kommunikationsvereinbarung:
- Öffnen Sie die App Kommunikationsvereinbarung.
- Klicken Sie auf Neu.
- Geben Sie im angezeigten Dialogfeld Neue Kommunikationsvereinbarung Werte für die folgenden Felder ein:
- Szenario: Wählen Sie Authentifizierung mit der Identitätsföderation von Arbeitslasten (
/GOOG/COM_SDK_SRV
) aus. - Name der Vereinbarung: Geben Sie einen Namen für die Kommunikationsvereinbarung ein.
- Klicken Sie auf Erstellen.
- Wählen Sie für den angezeigten Eintrag für die Kommunikationsvereinbarung im Feld Kommunikationssystem das Kommunikationssystem aus, das Sie im vorherigen Schritt erstellt haben.
- Klicken Sie auf Speichern.
Erstellen Sie einen Clientschlüssel und eine Kommunikationsübersicht:
- Rufen Sie den Bereich auf, der die SAP Fiori-Apps für die SDK-Konfiguration enthält.
- Öffnen Sie die App Google SDK: Hauptkonfiguration.
- Klicken Sie auf Erstellen.
- Geben Sie im angezeigten Dialogfeld Erstellen einen Namen für den Clientschlüssel ein.
- Klicken Sie auf Weiter.
- Geben Sie einen Wert für die folgenden Felder ein:
- Dienstkonto: Geben Sie das Dienstkonto ein, dem Zugriff auf die Google Cloud APIs gewährt wurde.
- Projekt-ID: Geben Sie die Projekt-ID des Google Cloud-Projekts ein, in dem Sie die Google Cloud APIs aktiviert haben. Informationen zur Projekt-ID finden Sie unter Projekte identifizieren.
- Projektnummer: Geben Sie die Projektnummer des Google Cloud-Projekts ein, in dem Sie die Google Cloud APIs aktiviert haben. Informationen zur Projektnummer finden Sie unter Projekte identifizieren.
- Authentifizierungstyp: Wählen Sie W (Workload Identity-Föderation) aus.
- Geben Sie für die Kommunikationszuordnung für den Standardeintrag „authentication“ die Kommunikationsvereinbarung an, die Sie für die WIF-basierte Authentifizierung eingerichtet haben.
- Fügen Sie der Kommunikationszuordnung einen weiteren Eintrag hinzu, wählen Sie als Dienst
aiplatform:v1
aus und geben Sie die Kommunikationsvereinbarung an, die Sie gerade erstellt haben. - Klicken Sie auf Erstellen. In einem Dialogfeld bestätigen Sie, dass Sie die Google Cloud Standardnutzungsbedingungen für das ABAP SDK for Google Cloud akzeptieren.
- Klicken Sie auf Verbindung prüfen, um die Authentifizierungskonfiguration zu validieren. Ein grünes Häkchen bei einem Eintrag bedeutet, dass die Konfiguration erfolgreich war.
Informationen zum Beheben häufiger Fehler finden Sie in der Anleitung zur Fehlerbehebung.
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 Kartenansicht, für die Sie die Datensynchronisierung starten möchten.
Diese Methode gibt eine Synchronisierungs-ID für die Infofelder 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
Lokale oder beliebige Cloud-Version
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.
SAP BTP-Edition
Sie können diesen Abschnitt überspringen, da er sich nicht auf die SAP BTP-Version des ABAP SDK for Google Cloud bezieht.
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 Featurewerten finden Sie unter Features aus einem Onlinespeicher bereitstellen.
Hinweis
Lokale oder beliebige Cloud-Version
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 DFAULT SSL Client (Standard) festgelegt ist.
Speichern Sie die Änderungen.
- Führen Sie in der SAP-GUI den Transaktionscode
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.
SAP BTP-Edition
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. Anschließend müssen Sie ein Kommunikationssystem und eine Kommunikationsanordnung erstellen und sie mithilfe der SAP Fiori App Google SDK: Hauptkonfiguration in der Clientschlüsselkonfiguration konfigurieren.
Wenn Sie den öffentlichen Endpunkt abrufen möchten, erstellen Sie die
ZCL_GET_FEATURE_STORE_PUB_EP
in einem lokalen Paket Ihrer Wahl. Sie müssen einen gültigen Clientschlüssel sowie die Speicher-ID und den Speicherort des Vertex AI Feature Store übergeben.CLASS zcl_get_feature_store_pub_ep DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. INTERFACES if_oo_adt_classrun. ENDCLASS. CLASS zcl_get_feature_store_pub_ep IMPLEMENTATION. METHOD if_oo_adt_classrun~main. DATA lv_ckey TYPE /goog/keyname. DATA lv_location_id TYPE string. DATA lv_fsid TYPE string. DATA lv_project_id TYPE string. DATA lv_msg TYPE string. "TODO:Developer - Pass relevant values lv_ckey = 'CLIENT_KEY'. lv_fsid = 'FEATURE_ONLINE_STORE_NAME'. lv_location_id = 'LOCATION_ID'. TRY. DATA(lo_aip) = NEW /goog/cl_aiplatform_v1( iv_key_name = lv_ckey ). lv_project_id = lo_aip->gv_project_id. " Call API method: aiplatform.projects.locations.featureOnlineStores.get lo_aip->get_feature_online_stores( EXPORTING iv_p_projects_id = lv_project_id iv_p_locations_id = lv_location_id iv_p_feature_online_stores_id = lv_fsid IMPORTING es_output = DATA(ls_output) ev_ret_code = DATA(lv_ret_code) ev_err_text = DATA(lv_err_text) ). IF lo_aip->is_success( lv_ret_code ) = abap_true. out->write( | Public endpoint is| ). out->write( ls_output-dedicated_serving_endpoint-public_endpoint_domain_name ). ENDIF. CATCH /goog/cx_sdk INTO DATA(lo_cx_sdk). lv_msg = lo_cx_sdk->get_text( ). out->write( |Exception occurred, reason: { lv_msg }| ). ENDTRY. ENDMETHOD. ENDCLASS.
Aktivieren und ausführen Sie die
ZCL_GET_FEATURE_STORE_PUB_EP
-Klasse.Die Ausgabe, also der öffentliche Endpunkt Ihres Onlineshops, hat folgendes Format:
xxxxxxxxxx.LOCATION_ID-PROJECT_ID.featurestore.vertexai.goog
Diese Ausgabe enthält die folgenden Werte:
LOCATION_ID
: die Region, in der sich Ihr Onlineshop befindet.PROJECT_ID
: die Projekt-ID des Google Cloud-Projekts, in dem sich Ihr Onlineshop befindet.
Rufen Sie das SAP Fiori-Start-Dashboard des BTP ABAP-Systems auf, in dem das ABAP SDK for Google Cloud installiert ist.
Gehen Sie zu Alle Bereiche > Verwaltung > Kommunikationsverwaltung.
Erstellen Sie ein Kommunikationssystem:
- Öffnen Sie die App Kommunikationssysteme.
- Klicken Sie auf Neu.
- Geben Sie im angezeigten Dialogfeld Neues Kommunikationssystem Werte für die folgenden Felder ein:
- System-ID: Geben Sie eine System-ID ein.
- Systemname: Geben Sie einen Systemnamen ein.
- Klicken Sie auf Erstellen.
- Geben Sie im Feld Hostname den öffentlichen Endpunkt ein, den Sie durch Ausführen der Klasse
ZCL_GET_FEATURE_STORE_PUB_EP
in einem vorherigen Schritt abgerufen haben. - Geben Sie in das Feld Port die Zahl
443
ein. - Rufen Sie den Tab Nutzer für ausgehende Kommunikation auf und klicken Sie auf Hinzufügen.
- Wählen Sie im Feld Authentifizierungsmethode die Option Keine aus.
- Klicken Sie auf Speichern.
So erstellen Sie eine Kommunikationsvereinbarung:
- Öffnen Sie die App Kommunikationsabsprachen.
- Klicken Sie auf Neu.
- Geben Sie im angezeigten Dialogfeld Neue Kommunikationsvereinbarung Werte für die folgenden Felder ein:
- Szenario: Wählen Sie Authentifizierung mit der Identitätsföderation von Arbeitslasten (
/GOOG/COM_SDK_SRV
) aus. - Name der Vereinbarung: Geben Sie einen Namen für die Kommunikationsvereinbarung ein.
- Klicken Sie auf Erstellen.
- Wählen Sie für den angezeigten Eintrag für die Kommunikationsvereinbarung im Feld Kommunikationssystem das Kommunikationssystem aus, das Sie im vorherigen Schritt erstellt haben.
- Klicken Sie auf Speichern.
Erstellen Sie einen Clientschlüssel und eine Kommunikationsübersicht:
- Rufen Sie den Bereich auf, der die SAP Fiori-Apps für die SDK-Konfiguration enthält.
- Öffnen Sie die App Google SDK: Hauptkonfiguration.
- Klicken Sie auf Erstellen.
- Geben Sie im angezeigten Dialogfeld Erstellen einen Namen für den Clientschlüssel ein.
- Klicken Sie auf Weiter.
- Geben Sie die folgenden Informationen ein:
- Dienstkonto: Geben Sie das Dienstkonto ein, dem Zugriff auf die Google Cloud APIs gewährt wurde.
- Projekt-ID: Geben Sie die Projekt-ID des Google Cloud-Projekts ein, in dem Sie die Google Cloud APIs aktiviert haben. Informationen zur Projekt-ID finden Sie unter Projekte identifizieren.
- Projektnummer: Geben Sie die Projektnummer des Google Cloud-Projekts ein, in dem Sie die Google Cloud APIs aktiviert haben. Informationen zur Projektnummer finden Sie unter Projekte identifizieren.
- Authentifizierungstyp: Wählen Sie W (Workload Identity-Föderation) aus.
- Geben Sie für die Kommunikationszuordnung für den Standardeintrag „authentication“ die Kommunikationsvereinbarung an, die Sie für die WIF-basierte Authentifizierung eingerichtet haben.
- Fügen Sie der Kommunikationszuordnung einen weiteren Eintrag hinzu, wählen Sie als Dienst
aiplatform:v1
aus und geben Sie die Kommunikationsvereinbarung an, die Sie gerade erstellt haben. - Klicken Sie auf Erstellen. In einem Dialogfeld bestätigen Sie, dass Sie die Google Cloud Standardnutzungsbedingungen für das ABAP SDK for Google Cloud akzeptieren.
- Klicken Sie auf Verbindung prüfen, um die Authentifizierungskonfiguration zu validieren. Ein grünes Häkchen bei einem Eintrag bedeutet, dass die Konfiguration erfolgreich war.
Informationen zum Beheben häufiger Fehler finden Sie in der Anleitung zur Fehlerbehebung.
Prüfen Sie, ob Ihre Kommunikationskarte die folgenden drei Einträge enthält:
Dienstname Kommunikationsszenario Kommunikationsvereinbarung authentication
/GOOG/SDK_COM_WIF
Kommunikationsvereinbarung, die Sie für den XSUAA
-Dienst erstellt haben.aiplatform:v1
/GOOG/COM_SDK_SRV
Kommunikationsvereinbarung, die Sie mit dem Kommunikationssystem festgelegt haben, das den regionalen Endpunkt für AI PLATFORM
enthält.apiinvoker:v1
/GOOG/COM_SDK_SRV
Kommunikationsvereinbarung, die Sie mit dem Kommunikationssystem für den öffentlichen Endpunkt für die Bereitstellung im Vertex AI Feature Store im vorherigen Schritt eingerichtet haben.
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.
Hinweis
Lokal oder in der Cloud
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 DFAULT 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.
-
Führen Sie in der SAP-GUI den Transaktionscode
SAP BTP-Edition
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. Anschließend müssen Sie ein Kommunikationssystem und eine Kommunikationsanordnung erstellen und sie mithilfe der SAP Fiori App Google SDK: Hauptkonfiguration in der Clientschlüsselkonfiguration konfigurieren.
Wenn Sie den öffentlichen Endpunkt abrufen möchten, erstellen Sie die
ZCL_GET_FEATURE_STORE_PUB_EP
in einem lokalen Paket Ihrer Wahl. Sie müssen einen gültigen Clientschlüssel sowie die Speicher-ID und den Speicherort des Vertex AI Feature Store übergeben.CLASS zcl_get_feature_store_pub_ep DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. INTERFACES if_oo_adt_classrun. ENDCLASS. CLASS zcl_get_feature_store_pub_ep IMPLEMENTATION. METHOD if_oo_adt_classrun~main. DATA lv_ckey TYPE /goog/keyname. DATA lv_location_id TYPE string. DATA lv_fsid TYPE string. DATA lv_project_id TYPE string. DATA lv_msg TYPE string. "TODO:Developer - Pass relevant values lv_ckey = 'CLIENT_KEY'. lv_fsid = 'FEATURE_ONLINE_STORE_NAME'. lv_location_id = 'LOCATION_ID'. TRY. DATA(lo_aip) = NEW /goog/cl_aiplatform_v1( iv_key_name = lv_ckey ). lv_project_id = lo_aip->gv_project_id. " Call API method: aiplatform.projects.locations.featureOnlineStores.get lo_aip->get_feature_online_stores( EXPORTING iv_p_projects_id = lv_project_id iv_p_locations_id = lv_location_id iv_p_feature_online_stores_id = lv_fsid IMPORTING es_output = DATA(ls_output) ev_ret_code = DATA(lv_ret_code) ev_err_text = DATA(lv_err_text) ). IF lo_aip->is_success( lv_ret_code ) = abap_true. out->write( | Public endpoint is| ). out->write( ls_output-dedicated_serving_endpoint-public_endpoint_domain_name ). ENDIF. CATCH /goog/cx_sdk INTO DATA(lo_cx_sdk). lv_msg = lo_cx_sdk->get_text( ). out->write( |Exception occurred, reason: { lv_msg }| ). ENDTRY. ENDMETHOD. ENDCLASS.
Aktivieren und ausführen Sie die
ZCL_GET_FEATURE_STORE_PUB_EP
-Klasse.Die Ausgabe, also der öffentliche Endpunkt Ihres Onlineshops, hat folgendes Format:
xxxxxxxxxx.LOCATION_ID-PROJECT_ID.featurestore.vertexai.goog
Diese Ausgabe enthält die folgenden Werte:
LOCATION_ID
: die Region, in der sich Ihr Onlineshop befindet.PROJECT_ID
: die Projekt-ID des Google Cloud-Projekts, in dem sich Ihr Onlineshop befindet.
Rufen Sie das SAP Fiori-Start-Dashboard des BTP ABAP-Systems auf, in dem das ABAP SDK for Google Cloud installiert ist.
Gehen Sie zu Alle Bereiche > Verwaltung > Kommunikationsverwaltung.
Erstellen Sie ein Kommunikationssystem:
- Öffnen Sie die App Kommunikationssysteme.
- Klicken Sie auf Neu.
- Geben Sie im angezeigten Dialogfeld Neues Kommunikationssystem Werte für die folgenden Felder ein:
- System-ID: Geben Sie eine System-ID ein.
- Systemname: Geben Sie einen Systemnamen ein.
- Klicken Sie auf Erstellen.
- Geben Sie im Feld Hostname den öffentlichen Endpunkt ein, den Sie durch Ausführen der Klasse
ZCL_GET_FEATURE_STORE_PUB_EP
in einem vorherigen Schritt abgerufen haben. - Geben Sie in das Feld Port die Zahl
443
ein. - Rufen Sie den Tab Nutzer für ausgehende Kommunikation auf und klicken Sie auf Hinzufügen.
- Wählen Sie im Feld Authentifizierungsmethode die Option Keine aus.
- Klicken Sie auf Speichern.
So erstellen Sie eine Kommunikationsvereinbarung:
- Öffnen Sie die App Kommunikationsabsprachen.
- Klicken Sie auf Neu.
- Geben Sie im angezeigten Dialogfeld Neue Kommunikationsvereinbarung Werte für die folgenden Felder ein:
- Szenario: Wählen Sie Authentifizierung mit der Identitätsföderation von Arbeitslasten (
/GOOG/COM_SDK_SRV
) aus. - Name der Vereinbarung: Geben Sie einen Namen für die Kommunikationsvereinbarung ein.
- Klicken Sie auf Erstellen.
- Wählen Sie für den angezeigten Eintrag für die Kommunikationsvereinbarung im Feld Kommunikationssystem das Kommunikationssystem aus, das Sie im vorherigen Schritt erstellt haben.
- Klicken Sie auf Speichern.
Erstellen Sie einen Clientschlüssel und eine Kommunikationsübersicht:
- Rufen Sie den Bereich auf, der die SAP Fiori-Apps für die SDK-Konfiguration enthält.
- Öffnen Sie die App Google SDK: Hauptkonfiguration.
- Klicken Sie auf Erstellen.
- Geben Sie im angezeigten Dialogfeld Erstellen einen Namen für den Clientschlüssel ein.
- Klicken Sie auf Weiter.
- Geben Sie die folgenden Informationen ein:
- Dienstkonto: Geben Sie das Dienstkonto ein, dem Zugriff auf die Google Cloud APIs gewährt wurde.
- Projekt-ID: Geben Sie die Projekt-ID des Google Cloud-Projekts ein, in dem Sie die Google Cloud APIs aktiviert haben. Informationen zur Projekt-ID finden Sie unter Projekte identifizieren.
- Projektnummer: Geben Sie die Projektnummer des Google Cloud-Projekts ein, in dem Sie die Google Cloud APIs aktiviert haben. Informationen zur Projektnummer finden Sie unter Projekte identifizieren.
- Authentifizierungstyp: Wählen Sie W (Workload Identity-Föderation) aus.
- Geben Sie für die Kommunikationszuordnung für den Standardeintrag „authentication“ die Kommunikationsvereinbarung an, die Sie für die WIF-basierte Authentifizierung eingerichtet haben.
- Fügen Sie der Kommunikationszuordnung einen weiteren Eintrag hinzu, wählen Sie als Dienst
aiplatform:v1
aus und geben Sie die Kommunikationsvereinbarung an, die Sie gerade erstellt haben. - Klicken Sie auf Erstellen. In einem Dialogfeld bestätigen Sie, dass Sie die Google Cloud Standardnutzungsbedingungen für das ABAP SDK for Google Cloud akzeptieren.
- Klicken Sie auf Verbindung prüfen, um die Authentifizierungskonfiguration zu validieren. Ein grünes Häkchen bei einem Eintrag bedeutet, dass die Konfiguration erfolgreich war.
Informationen zum Beheben häufiger Fehler finden Sie in der Anleitung zur Fehlerbehebung.
Prüfen Sie, ob Ihre Kommunikationskarte die folgenden drei Einträge enthält:
Dienstname Kommunikationsszenario Kommunikationsvereinbarung authentication
/GOOG/SDK_COM_WIF
Kommunikationsvereinbarung, die Sie für den XSUAA
-Dienst erstellt haben.aiplatform:v1
/GOOG/COM_SDK_SRV
Kommunikationsvereinbarung, die Sie mit dem Kommunikationssystem festgelegt haben, das den regionalen Endpunkt für AI PLATFORM
enthält.apiinvoker:v1
/GOOG/COM_SDK_SRV
Kommunikationsvereinbarung, die Sie mit dem Kommunikationssystem für den öffentlichen Endpunkt für die Bereitstellung im Vertex AI Feature Store im vorherigen Schritt eingerichtet haben.
Übereinstimmungen mit den nächsten Nachbarn einer Einbettung abrufen
Sie können nach semantisch ähnlichen 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
- Weitere Informationen zur Anwendungsentwicklung mit der lokalen oder einer beliebigen Cloud-Version des ABAP SDK for Google Cloud
- Weitere Informationen zur Anwendungsentwicklung mit der SAP BTP-Version des ABAP SDK for Google Cloud
- In den Cloud-Foren können Sie Ihre Fragen stellen und mit der Community über das Vertex AI SDK sprechen.