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 visualização de recursos e de armazenamento on-line. 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:
- Ative a API Vertex AI no seu projeto do Google Cloud .
- Instalou o SDK da Vertex AI para ABAP no seu ambiente SAP.
- Configure a autenticação para acessar a API Vertex AI.
- Configurar a veiculação de recursos on-line. Para saber como criar e usar uma loja on-line para hospedar e disponibilizar dados no BigQuery com o Feature Store da Vertex AI em um fluxo de trabalho completo, consulte os tutoriais do Jupyter Notebook para o Feature Store da Vertex AI.
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, comous-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
No local ou qualquer edição na nuvem
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.
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 o Vertex AI Feature Store 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:Na GUI do SAP, execute o código de transação
SM59
.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
.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.
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).
Salve as alterações.
Configure a tabela de mapeamento de serviço para a API Vertex AI:
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.Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar mapeamento de serviços.
Clique em Novas entradas.
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. - Salve a nova entrada.
Edição do SAP BTP
Como você acessa a Vertex AI Feature Store por um endpoint regional, é necessário criar um sistema de comunicação, um arranjo de comunicação e configurar a chave do cliente de acordo.
Acesse a plataforma de lançamento do SAP Fiori do sistema BTP ABAP em que o ABAP SDK for Google Cloud está instalado.
Acesse Todos os espaços > Administração > Gerenciamento da comunicação.
Crie um sistema de comunicação:
- Abra o app Communication Systems.
- Clique em Novo.
- Na caixa de diálogo New Communication System que aparece, insira um valor para os seguintes campos:
- ID do sistema: digite um ID do sistema.
- Nome do sistema: digite um nome para o sistema.
- Clique em Criar.
- No campo Nome do host, insira o URL do endpoint regional. 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. - No campo Porta, digite
443
. - Na guia Usuários para comunicação de saída, clique em Adicionar.
- No campo Método de autenticação, selecione Nenhum.
- Clique em Salvar.
Crie um acordo de comunicação:
- Abra o app Communication Arrangement.
- Clique em Novo.
- Na caixa de diálogo New Communication Arrangement que é exibida, insira um valor para os seguintes campos:
- Cenário: selecione
Autenticação usando a federação de identidade da carga de trabalho (
/GOOG/COM_SDK_SRV
). - Nome do acordo: insira um nome para o acordo de comunicação.
- Clique em Criar.
- Na entrada de acordo de comunicação que aparece, no campo Sistema de comunicação, selecione o sistema de comunicação que você criou na etapa anterior.
- Clique em Salvar.
Crie uma chave de cliente e um mapa de comunicação:
- Acesse o espaço que contém os apps SAP Fiori para configuração do SDK.
- Abra o app SDK do Google: configuração principal.
- Clique em Criar.
- Na caixa de diálogo Criar que é exibida, insira o nome da chave de cliente.
- Clique em Continuar.
- Insira um valor para os seguintes campos:
- Conta de serviço: insira a conta de serviço que tem acesso às APIs Google Cloud .
- ID do projeto: insira o ID do projeto do Google Cloud em que você ativou as APIs Google Cloud . Para informações sobre o ID do projeto, consulte Como identificar projetos.
- Número do projeto: insira o número do projeto do Google Cloud em que você ativou as APIs Google Cloud . Para informações sobre o número do projeto, consulte Como identificar projetos.
- Tipo de autenticação: selecione W (Federação de identidade da carga de trabalho).
- Para o mapa de comunicação da entrada padrão do nome do serviço como "autenticação", forneça o arranjo de comunicação que você configurou para a autenticação baseada em WIF.
- Adicione mais uma entrada ao mapa de comunicação e escolha o serviço como
aiplatform:v1
e forneça o arranjo de comunicação que você acabou de criar. - Clique em Criar. Uma caixa de diálogo é exibida, confirmando que você concorda em usar o ABAP SDK for Google Cloud de acordo com os termos padrão Google Cloud .
- Para validar a configuração da autenticação, clique em Verificar conexão. Uma marca de seleção verde em uma entrada indica que a configuração foi bem-sucedida.
Em caso de erros, consulte o guia de solução de problemas para informações sobre como resolver erros comuns.
Sincronizar o Vertex AI Feature Store
Para iniciar uma sincronização de dados em uma vista de recurso, 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
ouF: Failed
.
Sincronizar o Vertex AI Feature Store usando um job em segundo plano do SAP
No local ou qualquer edição na nuvem
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.
Edição do SAP BTP
Você pode pular esta seção porque ela não se aplica à edição SAP BTP do SDK ABAP for Google Cloud.
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
No local ou qualquer edição na nuvem
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.
Extraia o nome de domínio do endpoint público da loja on-line:
-
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. - 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.
- Selecione Conferir detalhes da Feature Store.
- Insira os seguintes parâmetros:
- Nome da chave do Google Cloud: a chave do 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.
- Clique em Executar para ver os detalhes. Anote o nome do domínio do endpoint público no rótulo Host.
-
Na GUI do SAP, execute o código de transação
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:
- Na GUI do SAP, execute o código de transação
SM59
. - 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
. - 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.
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).
Salve as alterações.
- Na GUI do SAP, execute o código de transação
Configure a tabela de mapeamento de serviço para a API Vertex AI:
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.Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar mapeamento de serviços.
Clique em Novas entradas.
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. Salve a nova entrada.
Edição do SAP BTP
Antes de começar a mostrar valores de atributos de uma loja on-line, é necessário extrair o nome de domínio do endpoint público dos detalhes da loja on-line. Depois disso, é necessário criar um sistema de comunicação e um arranjo de comunicação e configurá-los na configuração da chave do cliente usando o app SDK do Google: configuração principal SAP Fiori.
Para recuperar o endpoint público, crie o
ZCL_GET_FEATURE_STORE_PUB_EP
em um pacote local de sua escolha. É necessário transmitir uma chave de cliente válida, o ID e o local da 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.
Ative e execute a classe
ZCL_GET_FEATURE_STORE_PUB_EP
.A saída, que é o endpoint público da sua loja on-line, usa o seguinte formato:
xxxxxxxxxx.LOCATION_ID-PROJECT_ID.featurestore.vertexai.goog
Esta saída inclui os seguintes valores:
LOCATION_ID
: a região em que sua loja on-line está localizada.PROJECT_ID
: o ID do projeto do Google Cloud em que sua loja on-line está localizada.
Acesse a plataforma de lançamento do SAP Fiori do sistema BTP ABAP em que o ABAP SDK for Google Cloud está instalado.
Acesse Todos os espaços > Administração > Gerenciamento da comunicação.
Crie um sistema de comunicação:
- Abra o app Communication Systems.
- Clique em Novo.
- Na caixa de diálogo New Communication System que aparece, insira um valor para os seguintes campos:
- ID do sistema: digite um ID do sistema.
- Nome do sistema: digite um nome para o sistema.
- Clique em Criar.
- No campo Nome do host, digite o endpoint público que você extraiu
executando a classe
ZCL_GET_FEATURE_STORE_PUB_EP
em uma etapa anterior. - No campo Porta, digite
443
. - Acesse a guia Usuários para comunicação de saída e clique em Adicionar.
- No campo Método de autenticação, selecione Nenhum.
- Clique em Salvar.
Crie um acordo de comunicação:
- Abra o app Comunicação.
- Clique em Novo.
- Na caixa de diálogo New Communication Arrangement que é exibida, insira um valor para os seguintes campos:
- Cenário: selecione
Autenticação usando a federação de identidade da carga de trabalho (
/GOOG/COM_SDK_SRV
). - Nome do acordo: insira um nome para o acordo de comunicação.
- Clique em Criar.
- Na entrada de acordo de comunicação que aparece, no campo Sistema de comunicação, selecione o sistema de comunicação que você criou na etapa anterior.
- Clique em Salvar.
Crie uma chave de cliente e um mapa de comunicação:
- Acesse o espaço que contém os apps SAP Fiori para configuração do SDK.
- Abra o app SDK do Google: configuração principal.
- Clique em Criar.
- Na caixa de diálogo Criar que é exibida, insira o nome da chave de cliente.
- Clique em Continuar.
- Digite os seguintes detalhes:
- Conta de serviço: insira a conta de serviço que tem acesso às APIs Google Cloud .
- ID do projeto: insira o ID do projeto do Google Cloud em que você ativou as APIs Google Cloud . Para informações sobre o ID do projeto, consulte Como identificar projetos.
- Número do projeto: insira o número do projeto do Google Cloud em que você ativou as APIs Google Cloud . Para informações sobre o número do projeto, consulte Como identificar projetos.
- Tipo de autenticação: selecione W (Federação de identidade da carga de trabalho).
- Para o mapa de comunicação da entrada padrão do nome do serviço como "autenticação", forneça o arranjo de comunicação que você configurou para a autenticação baseada em WIF.
- Adicione mais uma entrada ao mapa de comunicação e escolha o serviço como
aiplatform:v1
e forneça o arranjo de comunicação que você acabou de criar. - Clique em Criar. Uma caixa de diálogo é exibida, confirmando que você concorda em usar o ABAP SDK for Google Cloud de acordo com os termos padrão Google Cloud .
- Para validar a configuração da autenticação, clique em Verificar conexão. Uma marca de seleção verde em uma entrada indica que a configuração foi bem-sucedida.
Em caso de erros, consulte o guia de solução de problemas para informações sobre como resolver erros comuns.
Verifique se o mapa de comunicação contém as três entradas a seguir:
Nome do serviço Cenário de comunicação Acordo de comunicação authentication
/GOOG/SDK_COM_WIF
Acordo de comunicação que você criou para o serviço XSUAA
.aiplatform:v1
/GOOG/COM_SDK_SRV
Acordo de comunicação que você definiu usando o sistema de comunicação que contém o endpoint regional para AI PLATFORM
.apiinvoker:v1
/GOOG/COM_SDK_SRV
Acordo de comunicação que você configurou usando o sistema de comunicação para o endpoint público da exibição da Vertex AI Feature Store na etapa anterior.
Buscar valores de atributos
No Feature Store da Vertex AI, uma entidade se refere a um item que você quer rastrear os 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
No local ou qualquer nuvem
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.
Extraia o nome de domínio do endpoint público da loja on-line:
-
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. - 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.
- Selecione Conferir detalhes da Feature Store.
- Insira os seguintes parâmetros:
- Nome da chave do Google Cloud: a chave do 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.
- Clique em Executar para ver os detalhes. Anote o nome do domínio do endpoint público no rótulo Host.
-
Na GUI do SAP, execute o código de transação
Crie um destino RFC para o nome de domínio do endpoint público da loja on-line:
Na GUI do SAP, execute o código de transação
SM59
.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
.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.
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).
Salve as alterações.
Configure a tabela de mapeamento de serviço para a API Vertex AI:
-
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. - Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar mapeamento de serviços.
- Clique em Novas entradas.
- 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. - Salve a nova entrada.
-
Na GUI do SAP, execute o código de transação
Edição do SAP BTP
Antes de começar a mostrar valores de atributos de uma loja on-line, é necessário extrair o nome de domínio do endpoint público dos detalhes da loja on-line. Depois disso, é necessário criar um sistema de comunicação e um arranjo de comunicação e configurá-los na configuração da chave do cliente usando o app SDK do Google: configuração principal SAP Fiori.
Para recuperar o endpoint público, crie o
ZCL_GET_FEATURE_STORE_PUB_EP
em um pacote local de sua escolha. É necessário transmitir uma chave de cliente válida, o ID e o local da 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.
Ative e execute a classe
ZCL_GET_FEATURE_STORE_PUB_EP
.A saída, que é o endpoint público da sua loja on-line, usa o seguinte formato:
xxxxxxxxxx.LOCATION_ID-PROJECT_ID.featurestore.vertexai.goog
Esta saída inclui os seguintes valores:
LOCATION_ID
: a região em que sua loja on-line está localizada.PROJECT_ID
: o ID do projeto do Google Cloud em que sua loja on-line está localizada.
Acesse a plataforma de lançamento do SAP Fiori do sistema BTP ABAP em que o ABAP SDK for Google Cloud está instalado.
Acesse Todos os espaços > Administração > Gerenciamento da comunicação.
Crie um sistema de comunicação:
- Abra o app Communication Systems.
- Clique em Novo.
- Na caixa de diálogo New Communication System que aparece, insira um valor para os seguintes campos:
- ID do sistema: digite um ID do sistema.
- Nome do sistema: digite um nome para o sistema.
- Clique em Criar.
- No campo Nome do host, digite o endpoint público que você extraiu
executando a classe
ZCL_GET_FEATURE_STORE_PUB_EP
em uma etapa anterior. - No campo Porta, digite
443
. - Acesse a guia Usuários para comunicação de saída e clique em Adicionar.
- No campo Método de autenticação, selecione Nenhum.
- Clique em Salvar.
Crie um acordo de comunicação:
- Abra o app Comunicação.
- Clique em Novo.
- Na caixa de diálogo New Communication Arrangement que é exibida, insira um valor para os seguintes campos:
- Cenário: selecione
Autenticação usando a federação de identidade da carga de trabalho (
/GOOG/COM_SDK_SRV
). - Nome do acordo: insira um nome para o acordo de comunicação.
- Clique em Criar.
- Na entrada de acordo de comunicação que aparece, no campo Sistema de comunicação, selecione o sistema de comunicação que você criou na etapa anterior.
- Clique em Salvar.
Crie uma chave de cliente e um mapa de comunicação:
- Acesse o espaço que contém os apps SAP Fiori para configuração do SDK.
- Abra o app SDK do Google: configuração principal.
- Clique em Criar.
- Na caixa de diálogo Criar que é exibida, insira o nome da chave de cliente.
- Clique em Continuar.
- Digite os seguintes detalhes:
- Conta de serviço: insira a conta de serviço que tem acesso às APIs Google Cloud .
- ID do projeto: insira o ID do projeto do Google Cloud em que você ativou as APIs Google Cloud . Para informações sobre o ID do projeto, consulte Como identificar projetos.
- Número do projeto: insira o número do projeto do Google Cloud em que você ativou as APIs Google Cloud . Para informações sobre o número do projeto, consulte Como identificar projetos.
- Tipo de autenticação: selecione W (Federação de identidade da carga de trabalho).
- Para o mapa de comunicação da entrada padrão do nome do serviço como "autenticação", forneça o arranjo de comunicação que você configurou para a autenticação baseada em WIF.
- Adicione mais uma entrada ao mapa de comunicação e escolha o serviço como
aiplatform:v1
e forneça o arranjo de comunicação que você acabou de criar. - Clique em Criar. Uma caixa de diálogo é exibida, confirmando que você concorda em usar o ABAP SDK for Google Cloud de acordo com os termos padrão Google Cloud .
- Para validar a configuração da autenticação, clique em Verificar conexão. Uma marca de seleção verde em uma entrada indica que a configuração foi concluída.
Em caso de erros, consulte o guia de solução de problemas para informações sobre como resolver erros comuns.
Verifique se o mapa de comunicação contém as três entradas a seguir:
Nome do serviço Cenário de comunicação Acordo de comunicação authentication
/GOOG/SDK_COM_WIF
Acordo de comunicação que você criou para o serviço XSUAA
.aiplatform:v1
/GOOG/COM_SDK_SRV
Acordo de comunicação que você definiu usando o sistema de comunicação que contém o endpoint regional para AI PLATFORM
.apiinvoker:v1
/GOOG/COM_SDK_SRV
Acordo de comunicação que você configurou usando o sistema de comunicação para o endpoint público da exibição da Vertex AI Feature Store na etapa anterior.
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, digiteABAP_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, digiteABAP_TRUE
. O valor padrão éABAP_FALSE
.
A seguir
- Saiba mais sobre o desenvolvimento de aplicativos com a edição local ou na nuvem do ABAP SDK for Google Cloud.
- Saiba mais sobre o desenvolvimento de aplicativos com a edição SAP BTP do SDK ABAP for Google Cloud.
- Faça suas perguntas e converse sobre o SDK da Vertex AI para ABAP com a comunidade em Fóruns do Cloud.