Questo documento descrive come utilizzare Vertex AI Feature Store per eseguire attività come sincronizzare un negozio online, pubblicare funzionalità da un negozio online e cercare in un archivio di funzionalità online utilizzando un'entità o degli embedding, utilizzando l'SDK Vertex AI per ABAP.
Vertex AI Feature Store è un servizio di gestione delle caratteristiche cloud-native. Semplifica la gestione delle funzionalità di ML e le procedure di pubblicazione online consentendoti di gestire i dati delle funzionalità in una tabella o una vista BigQuery.
In un flusso di lavoro tipico della configurazione di un Feature Store di Vertex AI, innanzitutto prepari l'origine dati SAP in BigQuery, registri le tue origini dati creando gruppi di funzionalità e funzionalità e configuri le risorse del strumento online e della visualizzazione delle funzionalità. Puoi quindi pubblicare i valori delle caratteristiche più aggiornati online da una visualizzazione delle caratteristiche o eseguire una ricerca di somiglianza nell'archivio di caratteristiche online. Per informazioni su come configurare Vertex AI Feature Store, consulta Vertex AI Feature Store.
Una volta che Vertex AI Feature Store è pronto per il servizio online, puoi utilizzare l'SDK Vertex AI per ABAP per:
- Per fornire i valori delle funzionalità più aggiornati e accurati per la pubblicazione in tempo reale durante la previsione del modello, sincronizza il tuo negozio online con l'origine dati delle funzionalità in BigQuery.
- Per fornire i valori delle funzionalità da un negozio online per le applicazioni in tempo reale, pubblica le funzionalità dal negozio online.
- Per recuperare un elenco di entità semanticamente simili o correlate dal negozio online, esegui una ricerca utilizzando un'entità o un'evidenziazione.
Prima di iniziare
Prima di utilizzare l'SDK Vertex AI per ABAP con Vertex AI Feature Store, assicurati che tu o i tuoi amministratori abbiate completato i seguenti prerequisiti:
- Hai attivato l'API Vertex AI nel tuo progetto Google Cloud.
- Installare l'SDK Vertex AI per ABAP nel tuo ambiente SAP.
- Configura l'autenticazione per accedere all'API Vertex AI.
- Configura la pubblicazione delle funzionalità online. Per scoprire come creare e utilizzare un datastore online per ospitare e pubblicare dati in BigQuery con Vertex AI Feature Store in un flusso di lavoro end-to-end, consulta i tutorial sui blocchi note Jupyter per Vertex AI Feature Store.
Istanza della classe ABAP per Vertex AI Feature Store
Per utilizzare Vertex AI Feature Store nella tua applicazione ABAP,
occorre creare un'istanza della classe /GOOG/CL_FEATURE_STORE
.
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' ).
Sostituisci quanto segue:
CLIENT_KEY
: la chiave client configurata per l'autenticazione.LOCATION_ID
: regione in cui si trova il negozio online, ad esempious-central1
.FEATURE_ONLINE_STORE_NAME
: il nome del negozio online contenente la visualizzazione della funzionalità.
Sincronizzare il negozio online
Per assicurarti che il tuo negozio online disponga dei valori delle funzionalità più aggiornati e precisi per la pubblicazione in tempo reale durante la previsione del modello, devi sincronizzare le risorse di visualizzazione delle funzionalità nel tuo negozio online con l'origine dati delle funzionalità in BigQuery.
Prima di iniziare
Versione on-premise o qualsiasi versione cloud
Poiché accedi a Vertex AI Feature Store tramite un endpoint regionale, devi creare una destinazione RFC per stabilire la connessione all'API Vertex AI. Poi specifica la destinazione della richiesta di servizio nella tabella di mappatura dei servizi.
Crea una destinazione RFC per l'API Vertex AI con l'endpoint regionale in cui risiede il tuo Vertex AI Feature Store. Ad esempio, se il Feature Store di Vertex AI si trova in
us-east1
, l'endpoint per l'hosting target saràus-east1-aiplatform.googleapis.com
. Per informazioni sugli endpoint regionali, consulta Endpoint di servizio. Per creare una destinazione RFC:In SAP GUI, esegui il codice transazione
SM59
.Crea una nuova destinazione RFC. Per la destinazione RFC che hai creato, assicurati che il Tipo di connessione sia impostato come segue:
G - HTTP connection to external server
.Vai alla scheda Impostazioni tecniche e inserisci i seguenti dettagli:
Host di destinazione: fornisci l'endpoint regionale in cui risiede il tuo Vertex AI Feature Store.
N.servizio: Inserisci
443
. Questo numero di porta viene utilizzato per la comunicazione sicura.
Vai alla scheda Accesso e sicurezza e assicurati che il campo Certificato SSL sia impostato sull'opzione Client SSL predefinito (standard).
Salva le modifiche.
Configura la tabella di mappatura dei servizi per l'API Vertex AI:
In SAP GUI, esegui il codice transazione
/GOOG/SDK_IMG
.In alternativa, esegui il codice transazione
SPRO
e poi fai clic su Immagine di riferimento SAP.Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura mappatura dei servizi.
Fai clic su Nuove voci.
Specifica la destinazione RFC per l'API Vertex AI:
Nome Nome servizio Destinazione RFC Chiave client per l'autenticazione. aiplatform:v1
Nome della destinazione RFC. - Salva la nuova voce.
Versione SAP BTP
Poiché accedi a Vertex AI Feature Store tramite un endpoint regionale, devi creare un sistema di comunicazione, un'organizzazione della comunicazione e configurare la chiave client di conseguenza.
Accedi al launchpad SAP Fiori del sistema ABAP BTP in cui è installato l'SDK ABAP per Google Cloud.
Vai a Tutti gli spazi > Amministrazione > Gestione delle comunicazioni.
Crea un sistema di comunicazione:
- Apri l'app Sistemi di comunicazione.
- Fai clic su New (Nuovo).
- Nella finestra di dialogo Nuovo sistema di comunicazione visualizzata, inserisci un valore per i seguenti campi:
- ID sistema: inserisci un ID sistema.
- Nome sistema: inserisci un nome di sistema.
- Fai clic su Crea.
- Nel campo Nome host, inserisci l'URL dell'endpoint regionale. Ad esempio, se il tuo Vertex AI Feature Store si trova in
us-east1
, l'endpoint per l'host di destinazione èus-east1-aiplatform.googleapis.com
. Per informazioni sugli endpoint regionali, consulta Endpoint di servizio. - Nel campo Porta, inserisci
443
. - Nella scheda Utenti per le comunicazioni in uscita, fai clic su Aggiungi.
- Nel campo Metodo di autenticazione, seleziona Nessuna.
- Fai clic su Salva.
Crea un'organizzazione delle comunicazioni:
- Apri l'app Accordo di comunicazione.
- Fai clic su New (Nuovo).
- Nella finestra di dialogo Nuovo accordo di comunicazione visualizzata, inserisci un valore per i seguenti campi:
- Scenario: seleziona
Autenticazione tramite Federazione delle identità del carico di lavoro (
/GOOG/COM_SDK_SRV
). - Nome organizzazione: inserisci un nome per l'organizzazione delle comunicazioni.
- Fai clic su Crea.
- Per la voce relativa all'organizzazione della comunicazione visualizzata, nel campo Sistema di comunicazione, seleziona il sistema di comunicazione che hai creato nel passaggio precedente.
- Fai clic su Salva.
Crea una chiave client e una mappa di comunicazione:
- Vai allo spazio che contiene le app SAP Fiori per la configurazione dell'SDK.
- Apri l'app Google SDK: configurazione principale.
- Fai clic su Crea.
- Nella finestra di dialogo Crea visualizzata, inserisci un nome per la chiave client.
- Fai clic su Continua.
- Inserisci un valore per i seguenti campi:
- Service account: inserisci il account di servizio a cui è concesso l'accesso alle API Google Cloud .
- ID progetto: inserisci l'ID progetto del progetto Google Cloud in cui hai attivato le API Google Cloud . Per informazioni sull'ID progetto, consulta la sezione Identificazione dei progetti.
- Numero progetto: inserisci il numero del progetto Google Cloud in cui hai attivato le API Google Cloud . Per informazioni sul numero del progetto, consulta Identificazione dei progetti.
- Tipo di autenticazione: seleziona W (Federazione delle identità per i workload).
- Per la mappa di comunicazione per la voce predefinita del nome del servizio come "authentication", fornisci la disposizione di comunicazione che hai configurato per l'autenticazione basata su WIF
- Aggiungi un'altra voce alla mappa delle comunicazioni e scegli il servizio come
aiplatform:v1
e fornisci l'organizzazione delle comunicazioni come quella appena creata. - Fai clic su Crea. Viene visualizzata una finestra di dialogo che ti chiede di confermare di accettare di utilizzare l'SDK ABAP per Google Cloud secondo i termini standard di Google Cloud .
- Per convalidare la configurazione dell'autenticazione, fai clic su Verifica connessione. Un segno di spunta verde per una voce indica che la configurazione è riuscita.
In caso di errori, consulta la guida alla risoluzione dei problemi per informazioni su come risolvere gli errori comuni.
Sincronizza Vertex AI Feature Store
Per avviare una sincronizzazione dei dati in una visualizzazione delle funzionalità, utilizza il metodo SYNC_FEATURE_DATA_TO_FS
.
DATA(lv_feature_view_sync_id) = lo_client->sync_feature_data_to_fs(
iv_feature_view_id = 'FEATURE_VIEW_NAME'
)->get_feature_sync_id( ).
Sostituisci FEATURE_VIEW_NAME
con il nome della visualizzazione della funzionalità per la quale vuoi avviare la sincronizzazione dei dati.
Questo metodo restituisce un ID di sincronizzazione della visualizzazione delle funzionalità, che può essere utilizzato per controllare lo stato della sincronizzazione.
Ottenere lo stato della sincronizzazione di Vertex AI Feature Store
Per ottenere lo stato di una sincronizzazione di Vertex AI Feature Store, puoi utilizzare il metodo
GET_FEATURE_SYNC_STATUS
.
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( ).
Sostituisci quanto segue:
FEATURE_VIEW_NAME
: il nome della visualizzazione delle funzionalità per la quale vuoi controllare lo stato della sincronizzazione.FEATURE_VIEW_SYNC_ID
: l'ID sincronizzazione della visualizzazione delle funzionalità ricevuto da Sincronizza Vertex AI Feature Store.Questo metodo restituisce uno dei seguenti stati insieme all'eventuale messaggio di errore:
C: Complete
,R: Running
oF: Failed
Sincronizzare Vertex AI Feature Store utilizzando un job in background SAP
Versione on-premise o qualsiasi versione cloud
Per avviare una sincronizzazione dei dati in una visualizzazione di funzionalità utilizzando un job in background SAP, puoi
utilizzare il metodoSYNC_FEATURE_DATA_TO_FS_BGJOB
.
Questo metodo crea un job in background nel sistema SAP, che avvia la sincronizzazione del Feature Store e ne controlla lo stato ogni 30 secondi.
Se lo stato di sincronizzazione del Feature Store è completato o non riuscito, il job in background viene completato con un messaggio di conseguenza.
Se la sincronizzazione del Feature Store è in esecuzione, il job in background viene eseguito fino al valore TIMEOUT
specificato. Dopo il timeout, il job in background viene completato, ma la sincronizzazione del Feature Store continua a essere eseguita.
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( ).
Sostituisci quanto segue:
FEATURE_VIEW_NAME
: il nome della visualizzazione delle funzionalità per la quale vuoi avviare manualmente la sincronizzazione dei dati.TIMEOUT
: tempo in secondi dopo il quale il job in background ha un time out. Ciò non influisce sulla sincronizzazione di Vertex AI Feature Store.
Questo metodo restituisce il nome di un job in background e l'ID corrispondente. Questo job può essere monitorato da SAP per controllare lo stato della sincronizzazione del feature store.
Versione SAP BTP
Puoi saltare questa sezione perché non si applica all'edizione SAP BTP di ABAP SDK for Google Cloud.
Pubblicare funzionalità da un negozio online
Puoi pubblicare valori delle funzionalità da un negozio online per applicazioni in tempo reale, come i consigli sui prodotti. A seconda del tipo di pubblicazione online che hai configurato per il tuo negozio online, puoi pubblicare i valori delle funzionalità in uno dei seguenti modi:
- Recupera i valori delle funzionalità utilizzando la pubblicazione online di Bigtable.
- Recupera i valori delle funzionalità utilizzando la pubblicazione online ottimizzata con un endpoint pubblico.
- Recupera i valori delle funzionalità utilizzando la pubblicazione online ottimizzata con un endpoint Private Service Connect.
Per ulteriori informazioni sulla pubblicazione dei valori delle funzionalità, consulta Pubblicare funzionalità da un negozio online.
Prima di iniziare
Versione on-premise o qualsiasi versione cloud
Prima di poter iniziare a pubblicare i valori delle funzionalità da un archivio online, devi recuperare il nome di dominio dell'endpoint pubblico dai dettagli dell'archivio online, creare una destinazione RFC per l'endpoint e specificare la destinazione RFC nella tabella di mappatura dei servizi.
Recupera il nome di dominio dell'endpoint pubblico per il negozio online:
-
In SAP GUI, esegui il codice transazione
/GOOG/SDK_IMG
.In alternativa, esegui il codice transazione
SPRO
e poi fai clic su Immagine di riferimento SAP. - Fai clic su ABAP SDK for Google Cloud > Utilità > SDK Vertex AI: ottieni informazioni sulle RFC per Feature Store e Vector Search.
- Seleziona Ottieni i dettagli del Feature Store.
- Inserisci i seguenti parametri:
- Nome della chiave Google Cloud: la chiave client per l'autenticazione a Google Cloud.
- Località: la regione in cui si trova il negozio online.
- ID archivio di funzionalità: il nome dell'archivio di funzionalità contenente la visualizzazione della funzionalità.
- Fai clic su Esegui per visualizzare i dettagli. Prendi nota del nome di dominio dell'endpoint pubblico accanto all'etichetta Host.
-
In SAP GUI, esegui il codice transazione
Crea una destinazione RFC per l'endpoint regionale, il nome di dominio dell'endpoint pubblico o l'endpoint Private Service Connect del negozio online. Per creare una destinazione RFC:
- In SAP GUI, esegui il codice transazione
SM59
. - Crea una nuova destinazione RFC. Per la destinazione RFC che hai creato,
assicurati che il Tipo di connessione sia impostato come segue:
G - HTTP connection to external server
. - Vai alla scheda Impostazioni tecniche e inserisci i seguenti dettagli:
Host di destinazione: fornisci il nome di dominio dell'endpoint pubblico in cui risiede Vertex AI Feature Store.
N.servizio: Inserisci
443
. Questo numero di porta viene utilizzato per la comunicazione sicura.
Vai alla scheda Accesso e sicurezza e assicurati che il campo Certificato SSL sia impostato sull'opzione Client SSL predefinito (standard).
Salva le modifiche.
- In SAP GUI, esegui il codice transazione
Configura la tabella di mappatura dei servizi per l'API Vertex AI:
In SAP GUI, esegui il codice transazione
/GOOG/SDK_IMG
.In alternativa, esegui il codice transazione
SPRO
e poi fai clic su Immagine di riferimento SAP.Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura mappatura dei servizi.
Fai clic su Nuove voci.
Specifica la destinazione RFC per l'API Vertex AI:
Nome Nome servizio Destinazione RFC Chiave client per l'autenticazione. apiinvoker:v1
Nome della destinazione RFC. Salva la nuova voce.
Versione SAP BTP
Prima di poter iniziare a pubblicare i valori delle funzionalità da un negozio online, devi recuperare il nome di dominio dell'endpoint pubblico dai dettagli del negozio online. Dopodiché, devi creare un sistema di comunicazione e un'organizzazione di comunicazione e configurarli nella configurazione della chiave client utilizzando l'app SAP Fiori Google SDK: configurazione principale.
Per recuperare l'endpoint pubblico, crea il file
ZCL_GET_FEATURE_STORE_PUB_EP
in un pacchetto locale a tua scelta. Devi passare una chiave client valida, nonché l'ID e la posizione del Vertex AI Feature Store.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.
Attiva ed esegui il corso
ZCL_GET_FEATURE_STORE_PUB_EP
.L'output, ovvero l'endpoint pubblico del tuo negozio online, utilizza il seguente formato:
xxxxxxxxxx.LOCATION_ID-PROJECT_ID.featurestore.vertexai.goog
Questo output include i seguenti valori:
LOCATION_ID
: la regione in cui si trova il tuo negozio online.PROJECT_ID
: l'ID del progetto Google Cloud in cui si trova il tuo negozio online.
Accedi al launchpad SAP Fiori del sistema ABAP BTP in cui è installato l'SDK ABAP per Google Cloud.
Vai a Tutti gli spazi > Amministrazione > Gestione delle comunicazioni.
Crea un sistema di comunicazione:
- Apri l'app Sistemi di comunicazione.
- Fai clic su New (Nuovo).
- Nella finestra di dialogo Nuovo sistema di comunicazione visualizzata, inserisci un valore per i seguenti campi:
- ID sistema: inserisci un ID sistema.
- Nome sistema: inserisci un nome di sistema.
- Fai clic su Crea.
- Nel campo Nome host, inserisci l'endpoint pubblico recuperato
eseguendo la classe
ZCL_GET_FEATURE_STORE_PUB_EP
in un passaggio precedente. - Nel campo Porta, inserisci
443
. - Vai alla scheda Utenti per le comunicazioni in uscita e fai clic su Aggiungi.
- Nel campo Metodo di autenticazione, seleziona Nessuna.
- Fai clic su Salva.
Crea un'organizzazione delle comunicazioni:
- Apri l'app Disposizioni relative alla comunicazione.
- Fai clic su New (Nuovo).
- Nella finestra di dialogo Nuovo accordo di comunicazione visualizzata, inserisci un valore per i seguenti campi:
- Scenario: seleziona
Autenticazione tramite la federazione delle identità dei carichi di lavoro (
/GOOG/COM_SDK_SRV
). - Nome organizzazione: inserisci un nome per l'organizzazione delle comunicazioni.
- Fai clic su Crea.
- Per la voce relativa all'organizzazione della comunicazione visualizzata, nel campo Sistema di comunicazione, seleziona il sistema di comunicazione che hai creato nel passaggio precedente.
- Fai clic su Salva.
Crea una chiave client e una mappa di comunicazione:
- Vai allo spazio che contiene le app SAP Fiori per la configurazione dell'SDK.
- Apri l'app Google SDK: configurazione principale.
- Fai clic su Crea.
- Nella finestra di dialogo Crea visualizzata, inserisci un nome per la chiave client.
- Fai clic su Continua.
- Inserisci i seguenti dettagli:
- Service account: inserisci il account di servizio a cui è concesso l'accesso alle API Google Cloud .
- ID progetto: inserisci l'ID progetto del progetto Google Cloud in cui hai attivato le API Google Cloud . Per informazioni sull'ID progetto, consulta la sezione Identificazione dei progetti.
- Numero progetto: inserisci il numero del progetto Google Cloud in cui hai attivato le API Google Cloud . Per informazioni sul numero del progetto, consulta Identificazione dei progetti.
- Tipo di autenticazione: seleziona W (Federazione delle identità per i workload).
- Per la mappa di comunicazione per la voce predefinita del nome del servizio come "authentication", fornisci la disposizione di comunicazione che hai configurato per l'autenticazione basata su WIF
- Aggiungi un'altra voce alla mappa delle comunicazioni e scegli il servizio come
aiplatform:v1
e fornisci l'organizzazione delle comunicazioni come quella appena creata. - Fai clic su Crea. Viene visualizzata una finestra di dialogo che ti chiede di confermare di accettare di utilizzare l'SDK ABAP per Google Cloud secondo i termini standard di Google Cloud .
- Per convalidare la configurazione dell'autenticazione, fai clic su Verifica connessione. Un segno di spunta verde per una voce indica che la configurazione è riuscita.
In caso di errori, consulta la guida alla risoluzione dei problemi per informazioni su come risolvere gli errori comuni.
Verifica che la mappa di comunicazione contenga le tre voci seguenti:
Nome servizio Scenario di comunicazione Accordo di comunicazione authentication
/GOOG/SDK_COM_WIF
Accordo di comunicazione che hai creato per il servizio XSUAA
.aiplatform:v1
/GOOG/COM_SDK_SRV
Accordo di comunicazione impostato utilizzando il sistema di comunicazione che contiene l'endpoint regionale per AI PLATFORM
.apiinvoker:v1
/GOOG/COM_SDK_SRV
Schema di comunicazione che hai configurato utilizzando il sistema di comunicazione per l'endpoint pubblico per l'erogazione di Vertex AI Feature Store nel passaggio precedente.
Recupera i valori delle caratteristiche
In Vertex AI Feature Store, un'entità si riferisce a un elemento per cui vuoi monitorare le funzionalità, ad esempio un cliente, un prodotto o qualsiasi altro punto dati. Ogni entità è associata a un insieme di funzionalità e ai relativi valori.
Per recuperare i valori delle funzionalità specificando un singolo ID entità, utilizza
il metodo 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( ).
Sostituisci quanto segue:
FEATURE_VIEW_NAME
: il nome della visualizzazione delle caratteristiche da cui vuoi pubblicare i valori delle caratteristiche.ENTITY_ID
: il valore della colonna ID nel record della caratteristica da cui vuoi pubblicare i valori più recenti. In alternativa, puoi fornire un array di parti per creare l'ID entità. Assicurati che le colonne ID siano nello stesso ordine definito nella visualizzazione delle funzionalità.
Cercare i vicini più prossimi approssimativi
Per i negozi online creati per la pubblicazione online ottimizzata, puoi eseguire una ricerca di somiglianza vettoriale per recuperare un elenco di entità semanticamente simili o correlate, chiamate anche risultati più simili approssimativi. Puoi cercare i vicini più vicini approssimativi in base a un ID entità o a un'evidenziazione.
Prima di iniziare
On-premise o su qualsiasi cloud
Quando crei un negozio online per la pubblicazione online ottimizzata, Vertex AI Feature Store genera un nome di dominio dell'endpoint pubblico per il negozio online. Prima di poter iniziare a cercare i vicini più vicini da una visualizzazione delle funzionalità nel negozio online, devi recuperare il nome di dominio dell'endpoint pubblico dai dettagli del negozio online, creare una destinazione RFC per l'endpoint e specificare la destinazione RFC nella tabella di mappatura dei servizi.
Recupera il nome di dominio dell'endpoint pubblico per il negozio online:
-
In SAP GUI, esegui il codice transazione
/GOOG/SDK_IMG
.In alternativa, esegui il codice transazione
SPRO
e poi fai clic su Immagine di riferimento SAP. - Fai clic su ABAP SDK for Google Cloud > Utilità > SDK Vertex AI: ottieni informazioni sulle RFC per Feature Store e Vector Search.
- Seleziona Ottieni i dettagli del Feature Store.
- Inserisci i seguenti parametri:
- Nome della chiave Google Cloud: la chiave client per l'autenticazione a Google Cloud.
- Località: la regione in cui si trova il negozio online.
- ID archivio di funzionalità: il nome dell'archivio di funzionalità contenente la visualizzazione della funzionalità.
- Fai clic su Esegui per visualizzare i dettagli. Prendi nota del nome di dominio dell'endpoint pubblico accanto all'etichetta Host.
-
In SAP GUI, esegui il codice transazione
Crea una destinazione RFC per il nome di dominio dell'endpoint pubblico del negozio online:
In SAP GUI, esegui il codice transazione
SM59
.Crea una nuova destinazione RFC. Per la destinazione RFC che hai creato, assicurati che il Tipo di connessione sia impostato come segue:
G - HTTP connection to external server
.Vai alla scheda Impostazioni tecniche e inserisci i seguenti dettagli:
Host di destinazione: fornisci il nome di dominio dell'endpoint pubblico per il negozio online.
N.servizio: Inserisci
443
. Questo numero di porta viene utilizzato per la comunicazione sicura.
Vai alla scheda Accesso e sicurezza e assicurati che il campo Certificato SSL sia impostato sull'opzione Client SSL predefinito (standard).
Salva le modifiche.
Configura la tabella di mappatura dei servizi per l'API Vertex AI:
-
In SAP GUI, esegui il codice transazione
/GOOG/SDK_IMG
.In alternativa, esegui il codice transazione
SPRO
e poi fai clic su Immagine di riferimento SAP. - Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura mappatura dei servizi.
- Fai clic su Nuove voci.
- Specifica la destinazione RFC per l'API Vertex AI:
Nome Nome servizio Destinazione RFC Chiave client per l'autenticazione. apiinvoker:v1
Nome della destinazione RFC. - Salva la nuova voce.
-
In SAP GUI, esegui il codice transazione
Versione SAP BTP
Prima di poter iniziare a pubblicare i valori delle funzionalità da un negozio online, devi recuperare il nome di dominio dell'endpoint pubblico dai dettagli del negozio online. Dopodiché, devi creare un sistema di comunicazione e un'organizzazione di comunicazione e configurarli nella configurazione della chiave client utilizzando l'app SAP Fiori Google SDK: configurazione principale.
Per recuperare l'endpoint pubblico, crea il file
ZCL_GET_FEATURE_STORE_PUB_EP
in un pacchetto locale a tua scelta. Devi passare una chiave client valida, nonché l'ID e la posizione del Vertex AI Feature Store.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.
Attiva ed esegui il corso
ZCL_GET_FEATURE_STORE_PUB_EP
.L'output, ovvero l'endpoint pubblico del tuo negozio online, utilizza il seguente formato:
xxxxxxxxxx.LOCATION_ID-PROJECT_ID.featurestore.vertexai.goog
Questo output include i seguenti valori:
LOCATION_ID
: la regione in cui si trova il tuo negozio online.PROJECT_ID
: l'ID del progetto Google Cloud in cui si trova il tuo negozio online.
Accedi al launchpad SAP Fiori del sistema ABAP BTP in cui è installato l'SDK ABAP per Google Cloud.
Vai a Tutti gli spazi > Amministrazione > Gestione delle comunicazioni.
Crea un sistema di comunicazione:
- Apri l'app Sistemi di comunicazione.
- Fai clic su New (Nuovo).
- Nella finestra di dialogo Nuovo sistema di comunicazione visualizzata, inserisci un valore per i seguenti campi:
- ID sistema: inserisci un ID sistema.
- Nome sistema: inserisci un nome di sistema.
- Fai clic su Crea.
- Nel campo Nome host, inserisci l'endpoint pubblico recuperato
eseguendo la classe
ZCL_GET_FEATURE_STORE_PUB_EP
in un passaggio precedente. - Nel campo Porta, inserisci
443
. - Vai alla scheda Utenti per le comunicazioni in uscita e fai clic su Aggiungi.
- Nel campo Metodo di autenticazione, seleziona Nessuna.
- Fai clic su Salva.
Crea un'organizzazione delle comunicazioni:
- Apri l'app Disposizioni relative alla comunicazione.
- Fai clic su New (Nuovo).
- Nella finestra di dialogo Nuovo accordo di comunicazione visualizzata, inserisci un valore per i seguenti campi:
- Scenario: seleziona
Autenticazione tramite la federazione delle identità dei carichi di lavoro (
/GOOG/COM_SDK_SRV
). - Nome organizzazione: inserisci un nome per l'organizzazione delle comunicazioni.
- Fai clic su Crea.
- Per la voce relativa all'organizzazione della comunicazione visualizzata, nel campo Sistema di comunicazione, seleziona il sistema di comunicazione che hai creato nel passaggio precedente.
- Fai clic su Salva.
Crea una chiave client e una mappa di comunicazione:
- Vai allo spazio che contiene le app SAP Fiori per la configurazione dell'SDK.
- Apri l'app Google SDK: configurazione principale.
- Fai clic su Crea.
- Nella finestra di dialogo Crea visualizzata, inserisci un nome per la chiave client.
- Fai clic su Continua.
- Inserisci i seguenti dettagli:
- Service account: inserisci il account di servizio a cui è concesso l'accesso alle API Google Cloud .
- ID progetto: inserisci l'ID progetto Google Cloud in cui hai attivato le API Google Cloud . Per informazioni sull'ID progetto, consulta la sezione Identificazione dei progetti.
- Numero progetto: inserisci il numero del progetto Google Cloud in cui hai attivato le API Google Cloud . Per informazioni sul numero del progetto, consulta Identificazione dei progetti.
- Tipo di autenticazione: seleziona W (Federazione delle identità per i workload).
- Per la mappa di comunicazione per la voce predefinita del nome del servizio come "authentication", fornisci la disposizione di comunicazione che hai configurato per l'autenticazione basata su WIF
- Aggiungi un'altra voce alla mappa delle comunicazioni e scegli il servizio come
aiplatform:v1
e fornisci l'organizzazione delle comunicazioni come quella appena creata. - Fai clic su Crea. Viene visualizzata una finestra di dialogo che ti chiede di confermare di accettare di utilizzare l'SDK ABAP per Google Cloud secondo i termini standard di Google Cloud .
- Per convalidare la configurazione dell'autenticazione, fai clic su Verifica connessione. Un segno di spunta verde per una voce indica che la configurazione è riuscita.
In caso di errori, consulta la guida alla risoluzione dei problemi per informazioni su come risolvere gli errori comuni.
Verifica che la mappa di comunicazione contenga le tre voci seguenti:
Nome servizio Scenario di comunicazione Accordo di comunicazione authentication
/GOOG/SDK_COM_WIF
Accordo di comunicazione che hai creato per il servizio XSUAA
.aiplatform:v1
/GOOG/COM_SDK_SRV
Accordo di comunicazione impostato utilizzando il sistema di comunicazione che contiene l'endpoint regionale per AI PLATFORM
.apiinvoker:v1
/GOOG/COM_SDK_SRV
Schema di comunicazione che hai configurato utilizzando il sistema di comunicazione per l'endpoint pubblico per l'erogazione di Vertex AI Feature Store nel passaggio precedente.
Recuperare le corrispondenze del vicino più prossimo di un incorporamento
Puoi cercare entità semanticamente correlate specificando un'evidenziazione.
Per cercare un incorporamento tra i vicini più prossimi, invia una richiesta utilizzando il metodo 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( ).
Sostituisci quanto segue:
EMBEDDING_DATA
: l'embedding per cui vuoi recuperare le corrispondenze approssimative del vicino più prossimo. Un embedding è rappresentato da un array di valori in virgola mobile.FEATURE_VIEW_NAME
: il nome della visualizzazione delle caratteristiche in cui vuoi cercare corrispondenze approssimative del vicino più vicino.NEIGHBOR_COUNT
: numero di vicini approssimativi più vicini che vuoi recuperare.RETURN_FULL_ENTITY
: facoltativo. Specifica se includere o escludere le funzionalità per le entità nella risposta. Per includere gli elementi insieme alle entità nella risposta, inserisciABAP_TRUE
. Il valore predefinito èABAP_FALSE
.
Recuperare le corrispondenze del vicino più prossimo di un'entità
Puoi cercare entità semanticamente correlate specificando un ID entità.
Per cercare i vicini più prossimi di un ID entità, invia una richiesta utilizzando il metodo 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( ).
Sostituisci quanto segue:
FEATURE_VIEW_NAME
: il nome della visualizzazione delle caratteristiche in cui vuoi cercare corrispondenze approssimative del vicino più vicino.ENTITY_ID:
: l'ID dell'entità per la quale vuoi recuperare le corrispondenze approssimative del vicino più vicino.NEIGHBOR_COUNT
: numero di vicini più vicini approssimativi che vuoi recuperare.RETURN_FULL_ENTITY
: facoltativo. Specifica se includere o escludere le funzionalità per le entità nella risposta. Per includere gli elementi insieme alle entità nella risposta, inserisciABAP_TRUE
. Il valore predefinito èABAP_FALSE
.
Passaggi successivi
- Scopri di più sullo sviluppo di applicazioni con la versione on-premise o qualsiasi versione cloud di ABAP SDK for Google Cloud.
- Scopri di più sullo sviluppo di applicazioni con l'edizione SAP BTP di ABAP SDK for Google Cloud.
- Poni le tue domande e discuti dell'SDK Vertex AI per ABAP con la community nei forum di Cloud.