Utilizzare Vertex AI Feature Store

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:

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 esempio us-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.

  1. 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:

    1. In SAP GUI, esegui il codice transazione SM59.

    2. 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.

    3. 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.

    4. Vai alla scheda Accesso e sicurezza e assicurati che il campo Certificato SSL sia impostato sull'opzione Client SSL predefinito (standard).

    5. Salva le modifiche.

  2. Configura la tabella di mappatura dei servizi per l'API Vertex AI:

    1. 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.

    2. Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura mappatura dei servizi.

    3. Fai clic su Nuove voci.

    4. 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.
    1. 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.

  1. Accedi al launchpad SAP Fiori del sistema ABAP BTP in cui è installato l'SDK ABAP per Google Cloud.

  2. Vai a Tutti gli spazi > Amministrazione > Gestione delle comunicazioni.

  3. Crea un sistema di comunicazione:

    1. Apri l'app Sistemi di comunicazione.
    2. Fai clic su New (Nuovo).
    3. 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.
    1. Fai clic su Crea.
    2. 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.
    3. Nel campo Porta, inserisci 443.
    4. Nella scheda Utenti per le comunicazioni in uscita, fai clic su Aggiungi.
    5. Nel campo Metodo di autenticazione, seleziona Nessuna.
    6. Fai clic su Salva.
  4. Crea un'organizzazione delle comunicazioni:

    1. Apri l'app Accordo di comunicazione.
    2. Fai clic su New (Nuovo).
    3. 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.
    1. Fai clic su Crea.
    2. 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.
    3. Fai clic su Salva.
  5. Crea una chiave client e una mappa di comunicazione:

    1. Vai allo spazio che contiene le app SAP Fiori per la configurazione dell'SDK.
    2. Apri l'app Google SDK: configurazione principale.
    3. Fai clic su Crea.
    4. Nella finestra di dialogo Crea visualizzata, inserisci un nome per la chiave client.
    5. Fai clic su Continua.
    6. 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 o F: 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.

  1. Recupera il nome di dominio dell'endpoint pubblico per il negozio online:

    1. 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.

    2. Fai clic su ABAP SDK for Google Cloud > Utilità > SDK Vertex AI: ottieni informazioni sulle RFC per Feature Store e Vector Search.
    3. Seleziona Ottieni i dettagli del Feature Store.
    4. 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à.
    1. Fai clic su Esegui per visualizzare i dettagli. Prendi nota del nome di dominio dell'endpoint pubblico accanto all'etichetta Host.
  2. 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:

    1. In SAP GUI, esegui il codice transazione SM59.
    2. 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.
    3. 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.

    1. Vai alla scheda Accesso e sicurezza e assicurati che il campo Certificato SSL sia impostato sull'opzione Client SSL predefinito (standard).

    2. Salva le modifiche.

  3. Configura la tabella di mappatura dei servizi per l'API Vertex AI:

  4. 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.

  5. Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura mappatura dei servizi.

  6. Fai clic su Nuove voci.

  7. 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.
  8. 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.

  1. 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.
    
  2. 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.
  3. Accedi al launchpad SAP Fiori del sistema ABAP BTP in cui è installato l'SDK ABAP per Google Cloud.

  4. Vai a Tutti gli spazi > Amministrazione > Gestione delle comunicazioni.

  5. Crea un sistema di comunicazione:

    1. Apri l'app Sistemi di comunicazione.
    2. Fai clic su New (Nuovo).
    3. 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.
    1. Fai clic su Crea.
    2. Nel campo Nome host, inserisci l'endpoint pubblico recuperato eseguendo la classe ZCL_GET_FEATURE_STORE_PUB_EP in un passaggio precedente.
    3. Nel campo Porta, inserisci 443.
    4. Vai alla scheda Utenti per le comunicazioni in uscita e fai clic su Aggiungi.
    5. Nel campo Metodo di autenticazione, seleziona Nessuna.
    6. Fai clic su Salva.
  6. Crea un'organizzazione delle comunicazioni:

    1. Apri l'app Disposizioni relative alla comunicazione.
    2. Fai clic su New (Nuovo).
    3. 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.
    1. Fai clic su Crea.
    2. 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.
    3. Fai clic su Salva.
  7. Crea una chiave client e una mappa di comunicazione:

    1. Vai allo spazio che contiene le app SAP Fiori per la configurazione dell'SDK.
    2. Apri l'app Google SDK: configurazione principale.
    3. Fai clic su Crea.
    4. Nella finestra di dialogo Crea visualizzata, inserisci un nome per la chiave client.
    5. Fai clic su Continua.
    6. 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).
    1. 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
    2. 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.
    3. 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 .
    4. 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.

  8. 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.

  1. Recupera il nome di dominio dell'endpoint pubblico per il negozio online:

    1. 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.

    2. Fai clic su ABAP SDK for Google Cloud > Utilità > SDK Vertex AI: ottieni informazioni sulle RFC per Feature Store e Vector Search.
    3. Seleziona Ottieni i dettagli del Feature Store.
    4. 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à.
    1. Fai clic su Esegui per visualizzare i dettagli. Prendi nota del nome di dominio dell'endpoint pubblico accanto all'etichetta Host.
  2. Crea una destinazione RFC per il nome di dominio dell'endpoint pubblico del negozio online:

    1. In SAP GUI, esegui il codice transazione SM59.

    2. 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.

    3. 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.

    4. Vai alla scheda Accesso e sicurezza e assicurati che il campo Certificato SSL sia impostato sull'opzione Client SSL predefinito (standard).

    5. Salva le modifiche.

  3. Configura la tabella di mappatura dei servizi per l'API Vertex AI:

    1. 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.

    2. Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura mappatura dei servizi.
    3. Fai clic su Nuove voci.
    4. 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.
    1. 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.

  1. 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.
    
  2. 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.
  3. Accedi al launchpad SAP Fiori del sistema ABAP BTP in cui è installato l'SDK ABAP per Google Cloud.

  4. Vai a Tutti gli spazi > Amministrazione > Gestione delle comunicazioni.

  5. Crea un sistema di comunicazione:

    1. Apri l'app Sistemi di comunicazione.
    2. Fai clic su New (Nuovo).
    3. 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.
    1. Fai clic su Crea.
    2. Nel campo Nome host, inserisci l'endpoint pubblico recuperato eseguendo la classe ZCL_GET_FEATURE_STORE_PUB_EP in un passaggio precedente.
    3. Nel campo Porta, inserisci 443.
    4. Vai alla scheda Utenti per le comunicazioni in uscita e fai clic su Aggiungi.
    5. Nel campo Metodo di autenticazione, seleziona Nessuna.
    6. Fai clic su Salva.
  6. Crea un'organizzazione delle comunicazioni:

    1. Apri l'app Disposizioni relative alla comunicazione.
    2. Fai clic su New (Nuovo).
    3. 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.
    1. Fai clic su Crea.
    2. 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.
    3. Fai clic su Salva.
  7. Crea una chiave client e una mappa di comunicazione:

    1. Vai allo spazio che contiene le app SAP Fiori per la configurazione dell'SDK.
    2. Apri l'app Google SDK: configurazione principale.
    3. Fai clic su Crea.
    4. Nella finestra di dialogo Crea visualizzata, inserisci un nome per la chiave client.
    5. Fai clic su Continua.
    6. 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).
    1. 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
    2. 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.
    3. 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 .
    4. 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.

  8. 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, inserisci ABAP_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, inserisci ABAP_TRUE. Il valore predefinito è ABAP_FALSE.

Passaggi successivi