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'incorporazione.

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:

Crea un'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

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

    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.
    5. Salva la nuova voce.

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 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 metodoGET_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

Per avviare una sincronizzazione dei dati in una visualizzazione delle funzionalità utilizzando un job in background SAP, puoi utilizzare il metodo SYNC_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 della 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.

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

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 chiave Google Cloud: la chiave client per l'autenticazione su 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à.
    5. 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.

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

    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.
    5. Salva la nuova voce.

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 della caratteristica. 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

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 chiave Google Cloud: la chiave client per l'autenticazione su 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à.
    5. 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 servizio.

    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.
    5. Salva la nuova voce.

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 con il 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 le funzionalità 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 con il 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 le funzionalità insieme alle entità nella risposta, inserisci ABAP_TRUE. Il valore predefinito è ABAP_FALSE.

Passaggi successivi