Usar o Vertex AI Feature Store

Este documento descreve como usar o Feature Store da Vertex AI para realizar tarefas como sincronizar uma loja on-line, veicular recursos de uma loja on-line e pesquisar uma loja on-line usando uma entidade ou embeddings, usando o SDK da Vertex AI para ABAP.

O Feature Store da Vertex AI é um serviço de armazenamento de atributos gerenciado e nativo da nuvem. Ele simplifica o gerenciamento de atributos de ML e os processos de exibição on-line ao permitir que você gerencie os dados de recursos em uma tabela ou visualização do BigQuery.

Em um fluxo de trabalho típico de configuração do Feature Store da Vertex AI, primeiro você prepara a fonte de dados do SAP no BigQuery, registra suas fontes de dados criando grupos e recursos de recursos e configura os recursos de armazenamento on-line e de visualização de recursos. Em seguida, você pode veicular os valores de atributos mais recentes on-line de uma visualização de atributos ou realizar uma pesquisa de similaridade no Feature Store on-line. Para saber como configurar o Feature Store da Vertex AI, consulte Feature Store da Vertex AI.

Quando a Vertex AI Feature Store estiver pronta para veiculação on-line, você poderá usar o SDK da Vertex AI para ABAP para:

  • Para fornecer os valores de atributos mais atualizados e precisos para veiculação em tempo real durante a previsão do modelo, sincronize sua loja on-line com a fonte de dados de atributos no BigQuery.
  • Para fornecer valores de atributos de uma loja on-line para aplicativos em tempo real, veicule os recursos da loja on-line.
  • Para recuperar uma lista de entidades semanticamente parecidas ou relacionadas da loja on-line, pesquise usando uma entidade ou um embedding.

Antes de começar

Antes de usar o SDK da Vertex AI para ABAP com o Feature Store da Vertex AI, verifique se você ou seus administradores concluíram os seguintes pré-requisitos:

Criar a classe ABAP para o Feature Store da Vertex AI

Para usar o Feature Store da Vertex AI no seu aplicativo ABAP, instancie a 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' ).

Substitua:

  • CLIENT_KEY: a chave do cliente configurada para autenticação.
  • LOCATION_ID: região em que a loja on-line está localizada, como us-central1.
  • FEATURE_ONLINE_STORE_NAME: o nome da loja on-line que contém a visualização de recursos.

Sincronizar loja on-line

Para garantir que sua loja on-line tenha os valores de atributos mais atualizados e precisos para veiculação em tempo real durante a previsão do modelo, sincronize os recursos de visualização de atributos na sua loja on-line com a fonte de dados de atributos no BigQuery.

Antes de começar

Como você acessa o Feature Store da Vertex AI por um endpoint regional, é necessário criar um destino RFC para estabelecer a conexão com a API da Vertex AI. Em seguida, especifique o destino RFC na tabela de mapeamento de serviço.

  1. Crie um destino RFC para a API Vertex AI com o endpoint regional em que a Vertex AI Feature Store está armazenada. Por exemplo, se a Feature Store da Vertex AI estiver em us-east1, o endpoint do host de destino será us-east1-aiplatform.googleapis.com. Para informações sobre endpoints regionais, consulte Endpoint de serviço. Para criar um destino RFC, siga estas etapas:

    1. Na GUI do SAP, execute o código de transação SM59.

    2. Crie um novo destino de RFC. Para o destino RFC que você criou, verifique se o Tipo de conexão está definido da seguinte maneira: G - HTTP connection to external server.

    3. Acesse a guia Configurações técnicas e insira os seguintes detalhes:

      • Target Host: forneça o endpoint regional em que o Feature Store da Vertex AI está localizado.

      • Número do serviço: Insira 443. Esse número de porta é usado para comunicação segura.

    4. Acesse a guia Logon único e segurança e verifique se o campo Certificado SSL está definido com a opção Cliente SSL PADRÃO (padrão).

    5. Salve as alterações.

  2. Configure a tabela de mapeamento de serviço para a API Vertex AI:

    1. Na GUI do SAP, execute o código de transação /GOOG/SDK_IMG.

      Como alternativa, execute o código da transação SPRO e clique em IMG de referência do SAP.

    2. Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar mapeamento de serviços.

    3. Clique em Novas entradas.

    4. Especifique o destino RFC para a API Vertex AI:

      Nome Nome do serviço Destino do RFC
      Chave de cliente para autenticação. aiplatform:v1 Nome do destino RFC.
    5. Salve a nova entrada.

Sincronizar o Vertex AI Feature Store

Para iniciar uma sincronização de dados em uma vista de recursos, use o método 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( ).

Substitua FEATURE_VIEW_NAME pelo nome da visualização de elemento para iniciar a sincronização de dados.

Esse método retorna um ID de sincronização de visualização de recurso, que pode ser usado para verificar o status da sincronização.

Conferir o status da sincronização da Vertex AI Feature Store

Para conferir o status de uma sincronização do Feature Store da Vertex AI, use o método 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( ).

Substitua:

  • FEATURE_VIEW_NAME: o nome da visualização de recursos para a qual você quer verificar o status da sincronização.
  • FEATURE_VIEW_SYNC_ID: o ID de sincronização da visualização de atributos recebido da Sync Vertex AI Feature Store.

    Esse método retorna um dos seguintes status com a mensagem de erro, se houver: C: Complete, R: Running ou F: Failed.

Sincronizar o Vertex AI Feature Store usando um job em segundo plano do SAP

Para iniciar uma sincronização de dados em uma vista de recursos usando um job em segundo plano do SAP, use o método SYNC_FEATURE_DATA_TO_FS_BGJOB.

Esse método cria um job em segundo plano no sistema SAP, que inicia a sincronização do Feature Store e verifica o status dela a cada 30 segundos. Se o status de sincronização do armazenamento de recursos for concluído ou falhar, o job em segundo plano será concluído com uma mensagem correspondente. Se a sincronização do Feature Store estiver em execução, o job em segundo plano será executado até o valor TIMEOUT especificado. Após o tempo limite, o job em segundo plano é concluído, mas a sincronização da loja de recursos continua sendo executada.

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( ).

Substitua:

  • FEATURE_VIEW_NAME: o nome da visualização do recurso em que você quer iniciar manualmente a sincronização de dados.
  • TIMEOUT: tempo em segundos após o qual o job em segundo plano expira. Isso não afeta a sincronização da Vertex AI Feature Store.

Esse método retorna um nome de job em segundo plano e o ID correspondente. Esse job pode ser monitorado no SAP para verificar o status da sincronização da loja de recursos.

Veicular recursos de uma loja on-line

É possível exibir valores de recursos de uma loja on-line para aplicativos em tempo real, como recomendações de produtos. Dependendo do tipo de veiculação on-line que você configurou para sua loja on-line, é possível exibir valores de atributos de uma das seguintes maneiras:

  • Buscar valores de atributos usando a veiculação on-line do Bigtable.
  • Buscar valores de atributos usando a veiculação on-line otimizada com um endpoint público.
  • Buscar valores de atributos usando a veiculação on-line otimizada com um endpoint do Private Service Connect.

Para mais informações sobre como exibir valores de recursos, consulte Exibir recursos de uma loja on-line.

Antes de começar

Antes de começar a exibir valores de recursos de uma loja on-line, é necessário extrair o nome de domínio do endpoint público dos detalhes da loja on-line, criar um destino RFC para o endpoint e especificar o destino RFC na tabela de mapeamento de serviço.

  1. Extraia o nome de domínio do endpoint público da loja on-line:

    1. Na GUI do SAP, execute o código de transação /GOOG/SDK_IMG.

      Como alternativa, execute o código da transação SPRO e clique em IMG de referência do SAP.

    2. Clique em SDK do ABAP para Google Cloud > Utilitários > SDK da Vertex AI: acessar informações de RFC para Feature Store e pesquisa de vetor.
    3. Selecione Conferir detalhes da Feature Store.
    4. Insira os seguintes parâmetros:

      • Nome da chave do Google Cloud: a chave de cliente para autenticação no Google Cloud.
      • Local: a região em que a loja on-line está localizada.
      • ID da Feature Store: o nome da loja on-line que contém a visualização do recurso.
    5. Clique em Executar para ver os detalhes. Anote o nome do domínio do endpoint público no rótulo Host.

  2. Crie um destino RFC para o endpoint regional, o nome de domínio do endpoint público ou o endpoint do Private Service Connect da loja on-line. Para criar um destino RFC, siga estas etapas:

    1. Na GUI do SAP, execute o código de transação SM59.

    2. Crie um novo destino de RFC. Para o destino RFC que você criou, verifique se o Tipo de conexão está definido da seguinte maneira: G - HTTP connection to external server.

    3. Acesse a guia Configurações técnicas e insira os seguintes detalhes:

      • Target Host: informe o nome de domínio do endpoint público em que o Feature Store da Vertex AI está localizado.

      • Número do serviço: Insira 443. Esse número de porta é usado para comunicação segura.

    4. Acesse a guia Logon único e segurança e verifique se o campo Certificado SSL está definido com a opção Cliente SSL PADRÃO (padrão).

    5. Salve as alterações.

  3. Configure a tabela de mapeamento de serviço para a API Vertex AI:

    1. Na GUI do SAP, execute o código de transação /GOOG/SDK_IMG.

      Como alternativa, execute o código da transação SPRO e clique em IMG de referência do SAP.

    2. Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar mapeamento de serviços.

    3. Clique em Novas entradas.

    4. Especifique o destino RFC para a API Vertex AI:

      Nome Nome do serviço Destino do RFC
      Chave de cliente para autenticação. apiinvoker:v1 Nome do destino RFC.
    5. Salve a nova entrada.

Buscar valores de atributos

No Feature Store da Vertex AI, uma entidade se refere a um item para o qual você quer rastrear recursos, como um cliente, um produto ou qualquer outro ponto de dados. Cada entidade é associada a um conjunto de recursos e os valores correspondentes.

Para buscar valores de recursos especificando um único ID de entidade, use o método 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( ).

Substitua:

  • FEATURE_VIEW_NAME: o nome da visualização de recursos da qual você quer exibir valores de atributos.
  • ENTITY_ID: o valor da coluna "ID" no registro de recurso do qual você quer exibir os valores de atributos mais recentes. Como alternativa, você pode fornecer uma matriz de partes para criar o ID da entidade. Verifique se as colunas de ID estão na mesma ordem definida na visualização de atributos.

Pesquisar vizinhos mais próximos aproximados

Para lojas on-line criadas para exibição on-line otimizada, é possível realizar uma pesquisa de similaridade vetorial para recuperar uma lista de objetos semanticamente parecidos ou relacionados, também chamadas de vizinhos mais próximos. É possível pesquisar vizinhos mais próximos aproximados com base em um ID de entidade ou em um embedding.

Antes de começar

Ao criar uma loja on-line para veiculação on-line otimizada, a Vertex AI Feature Store gera um nome de domínio de endpoint público para a loja on-line. Antes de começar a pesquisar os vizinhos mais próximos em uma visualização de recursos na loja on-line, é necessário recuperar o nome de domínio do endpoint público dos detalhes da loja on-line, criar um destino RFC para o endpoint e especificar o destino RFC na tabela de mapeamento de serviço.

  1. Extraia o nome de domínio do endpoint público da loja on-line:

    1. Na GUI do SAP, execute o código de transação /GOOG/SDK_IMG.

      Como alternativa, execute o código da transação SPRO e clique em IMG de referência do SAP.

    2. Clique em SDK do ABAP para Google Cloud > Utilitários > SDK da Vertex AI: acessar informações de RFC para Feature Store e pesquisa de vetor.
    3. Selecione Conferir detalhes da Feature Store.
    4. Insira os seguintes parâmetros:

      • Nome da chave do Google Cloud: a chave de cliente para autenticação no Google Cloud.
      • Local: a região em que a loja on-line está localizada.
      • ID da Feature Store: o nome da loja on-line que contém a visualização do recurso.
    5. Clique em Executar para ver os detalhes. Anote o nome do domínio do endpoint público no rótulo Host.

  2. Crie um destino RFC para o nome de domínio do endpoint público da loja on-line:

    1. Na GUI do SAP, execute o código de transação SM59.

    2. Crie um novo destino de RFC. Para o destino RFC que você criou, verifique se o Tipo de conexão está definido da seguinte maneira: G - HTTP connection to external server.

    3. Acesse a guia Configurações técnicas e insira os seguintes detalhes:

      • Host de destino: informe o nome de domínio do endpoint público da loja on-line.

      • Número do serviço: Insira 443. Esse número de porta é usado para comunicação segura.

    4. Acesse a guia Logon único e segurança e verifique se o campo Certificado SSL está definido com a opção Cliente SSL PADRÃO (padrão).

    5. Salve as alterações.

  3. Configure a tabela de mapeamento de serviço para a API Vertex AI:

    1. Na GUI do SAP, execute o código de transação /GOOG/SDK_IMG.

      Como alternativa, execute o código da transação SPRO e clique em IMG de referência do SAP.

    2. Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar mapeamento de serviços.

    3. Clique em Novas entradas.

    4. Especifique o destino RFC para a API Vertex AI:

      Nome Nome do serviço Destino do RFC
      Chave de cliente para autenticação. apiinvoker:v1 Nome do destino RFC.
    5. Salve a nova entrada.

Recuperar correspondências de vizinhos mais próximos de um embedding

É possível pesquisar entidades semanticamente relacionadas especificando um embedding.

Para pesquisar um embedding nos vizinhos mais próximos, envie uma solicitação usando o método 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( ).

Substitua:

  • EMBEDDING_DATA: o embedding para o qual você quer recuperar as correspondências aproximadas de vizinhos mais próximos. Um embedding é representado por uma matriz de valores de ponto flutuante.
  • FEATURE_VIEW_NAME: o nome da visualização de recursos em que você quer pesquisar correspondências aproximadas de vizinhos mais próximos.
  • NEIGHBOR_COUNT: número de vizinhos mais próximos aproximados que você quer recuperar.
  • RETURN_FULL_ENTITY: opcional. Especifique se você quer incluir ou excluir os recursos das entidades na resposta. Para incluir os recursos com as entidades na resposta, digite ABAP_TRUE. O valor padrão é ABAP_FALSE.

Recuperar correspondências de vizinhos mais próximos de uma entidade

É possível pesquisar entidades semanticamente relacionadas especificando um ID de entidade.

Para pesquisar um ID de entidade nos vizinhos mais próximos, envie uma solicitação usando o método 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( ).

Substitua:

  • FEATURE_VIEW_NAME: o nome da visualização de recursos em que você quer pesquisar correspondências aproximadas de vizinhos mais próximos.
  • ENTITY_ID:: ID da entidade para a qual você quer recuperar correspondências vizinhas mais próximas.
  • NEIGHBOR_COUNT: número de vizinhos mais próximos aproximados que você quer recuperar.
  • RETURN_FULL_ENTITY: opcional. Especifique se você quer incluir ou excluir os recursos das entidades na resposta. Para incluir os recursos com as entidades na resposta, digite ABAP_TRUE. O valor padrão é ABAP_FALSE.

A seguir