Usar Vertex AI Feature Store

En este documento, se describe cómo usar Vertex AI Feature Store para realizar tareas como sincronizar una tienda en línea, entregar atributos desde una tienda en línea y buscar un almacén de atributos en línea con una entidad o incorporaciones con el SDK de Vertex AI para ABAP.

Vertex AI Feature Store es un servicio administrado de almacenamiento de atributos nativo de la nube. Permite optimizar los procesos de administración de atributos de aprendizaje automático y de entrega en línea, ya que te permite administrar tus datos de atributos en una tabla o vista de BigQuery.

En un flujo de trabajo típico de una configuración de Vertex AI Feature Store, primero preparas tu fuente de datos de SAP en BigQuery, registras tus fuentes de datos creando grupos de atributos y atributos, y configuras la tienda en línea y los recursos de vista de atributos. Luego, puedes entregar los valores de atributos más recientes en línea desde una vista de atributos o realizar una búsqueda de similitud en el almacén de atributos en línea. Para obtener información sobre cómo configurar Vertex AI Feature Store, consulta Vertex AI Feature Store.

Una vez que tu Vertex AI Feature Store esté listo para la entrega en línea, puedes usar el SDK de Vertex AI para ABAP para lo siguiente:

  • Para proporcionar los valores de atributos más actualizados y precisos para la publicación en tiempo real durante la predicción del modelo, sincroniza tu tienda en línea con la fuente de datos de atributos en BigQuery.
  • Para proporcionar valores de atributos desde una tienda en línea para aplicaciones en tiempo real, entrega atributos desde la tienda en línea.
  • Para recuperar una lista de entidades semánticamente similares o relacionadas de la tienda en línea, realiza la búsqueda con una entidad o incorporación.

Antes de comenzar

Antes de usar el SDK de Vertex AI para ABAP con Vertex AI Feature Store, asegúrate de que tú o tus administradores hayan completado los siguientes requisitos previos:

Crea una instancia de la clase ABAP para Vertex AI Feature Store

Para usar Vertex AI Feature Store en tu aplicación ABAP, debes crear una instancia de la clase /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' ).

Reemplaza lo siguiente:

  • CLIENT_KEY: Es la clave del cliente configurada para la autenticación.
  • LOCATION_ID: región en donde se encuentra la tienda en línea, como us-central1.
  • FEATURE_ONLINE_STORE_NAME: Es el nombre de la tienda en línea que contiene la vista de atributos.

Sincroniza la tienda en línea

Para asegurarte de que tu tienda en línea tenga los valores de atributos más actualizados y precisos para la publicación en tiempo real durante la predicción del modelo, debes sincronizar los recursos de vista de atributos de tu tienda en línea con la fuente de datos de atributos en BigQuery.

Antes de comenzar

Edición local o cualquier edición en la nube

Como accedes a Vertex AI Feature Store a través de un extremo regional, debes crear un destino de RFC para establecer la conexión con la API de Vertex AI. Luego, especificas el destino de RFC en la tabla de asignación de servicios.

  1. Crea un destino de RFC para la API de Vertex AI con el extremo regional en el que reside tu Vertex AI Feature Store. Por ejemplo, si tu Vertex AI Feature Store reside en us-east1, el extremo del host de destino sería us-east1-aiplatform.googleapis.com. Para obtener información sobre los extremos regionales, consulta Extremo de servicio. Para crear un destino de RFC, realiza los siguientes pasos:

    1. En la GUI de SAP, ejecuta el código de transacción SM59.

    2. Crea un nuevo destino de RFC. Para los destinos de RFC que creaste, asegúrate de que el Tipo de conexión esté configurado de la siguiente manera: G - HTTP connection to external server.

    3. Ve a la pestaña Configuración técnica y, luego, ingresa los siguientes detalles:

      • Host de destino: Proporciona el extremo regional en el que reside tu Vertex AI Feature Store.

      • Número de servicio: Ingresa 443. Este número de puerto se usa para la comunicación segura.

    4. Ve al Inicio de sesión y seguridad y asegúrate de que el Certificado SSL se establece el campo con la opción Cliente SSL de CDAULT (estándar).

    5. Guarda los cambios.

  2. Configura la tabla de asignación de servicios para la API de Vertex AI:

    1. En la GUI de SAP, ejecuta el código de transacción /GOOG/SDK_IMG.

      Como alternativa, ejecuta el código de transacción SPRO y, luego, haz clic en IMG de referencia de SAP.

    2. Haz clic en SDK de ABAP para Google Cloud > Configuración básica > Configurar asignación de servicios.

    3. Haz clic en Entradas nuevas.

    4. Especifica el destino de RFC para la API de Vertex AI:

    Nombre Nombre del servicio Destino de RFC
    Clave de cliente para la autenticación. aiplatform:v1 Es el nombre del destino de RFC.
    1. Guarda la entrada nueva.

Edición SAP BTP

Como accedes a Vertex AI Feature Store a través de un extremo regional, debes crear un sistema de comunicación, un acuerdo de comunicación y configurar la clave de cliente según corresponda.

  1. Accede al SAP Fiori launchpad del sistema BTP ABAP en el que está instalado el SDK de ABAP para Google Cloud.

  2. Ve a Todos los espacios > Administración > Administración de la comunicación.

  3. Crea un sistema de comunicación:

    1. Abre la app Communication Systems.
    2. Haz clic en Nuevo.
    3. En el diálogo Nuevo sistema de comunicación que aparece, ingresa un valor para los siguientes campos:
    • ID del sistema: ingresa un ID del sistema.
    • Nombre del sistema: ingresa un nombre del sistema.
    1. Haz clic en Crear.
    2. En el campo Nombre de host, ingresa la URL del extremo regional. Por ejemplo, si tu Vertex AI Feature Store reside en us-east1, el extremo del host de destino es us-east1-aiplatform.googleapis.com. Para obtener información sobre los extremos regionales, consulta Extremo de servicio.
    3. En el campo Puerto, escribe 443.
    4. En la pestaña Usuarios para la comunicación saliente, haz clic en Agregar.
    5. En el campo Método de autenticación, selecciona Ninguno.
    6. Haz clic en Guardar.
  4. Crea un acuerdo de comunicación:

    1. Abre la app Communication Arrangement.
    2. Haz clic en Nuevo.
    3. En el diálogo Nuevo acuerdo de comunicaciones que aparece, ingresa un valor para los siguientes campos:
    • Situación: Selecciona Autenticación mediante la federación de Workload Identity (/GOOG/COM_SDK_SRV).
    • Nombre del acuerdo: ingresa un nombre para el acuerdo de comunicación.
    1. Haz clic en Crear.
    2. Para la entrada de acuerdo de comunicación que aparece, en el campo Sistema de comunicación, selecciona el sistema de comunicación que creaste en el paso anterior.
    3. Haz clic en Guardar.
  5. Crea una clave de cliente y un mapa de comunicación:

    1. Ve al espacio que contiene las apps de SAP Fiori para la configuración del SDK.
    2. Abre la app de SDK de Google: configuración principal.
    3. Haz clic en Crear.
    4. En el cuadro de diálogo Crear que aparece, ingresa un nombre de clave de cliente.
    5. Haz clic en Continuar.
    6. Ingresa un valor para los siguientes campos:
    • Cuenta de servicio: Ingresa la cuenta de servicio que tiene acceso a las APIs de Google Cloud .
    • ID del proyecto: Ingresa el ID del proyecto de Google Cloud en el que habilitaste las APIs de Google Cloud . Para obtener información sobre el ID del proyecto, consulta Identifica proyectos.
    • Número de proyecto: Ingresa el número de proyecto de Google Cloud en el que habilitaste las APIs de Google Cloud . Para obtener información sobre el número de proyecto, consulta Identifica proyectos.
    • Tipo de autenticación: Selecciona W (federación de Workload Identity).
    • Para el mapa de comunicación de la entrada predeterminada del nombre del servicio como "autenticación", proporciona el acuerdo de comunicación que configuraste para la autenticación basada en WIF.
    • Agrega una entrada más al mapa de comunicación y elige el servicio como aiplatform:v1 y proporciona el acuerdo de comunicación como el que acabas de crear.
    • Haz clic en Crear. Aparecerá un cuadro de diálogo que confirma que aceptas usar el SDK de ABAP para Google Cloud según las condiciones Google Cloud estándares.
    • Para validar la configuración de autenticación, haz clic en Verificar conexión. Una marca de verificación verde en una entrada indica que la configuración se realizó correctamente.

    Si se produce algún error, consulta la guía de solución de problemas para obtener información sobre cómo resolver los errores comunes.

Sincroniza Vertex AI Feature Store

Para iniciar una sincronización de datos en una vista de atributos, usa el 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( ).

Reemplaza FEATURE_VIEW_NAME por el nombre de la vista de componentes para la que deseas iniciar la sincronización de datos.

Este método muestra un ID de sincronización de vista de componentes, que se puede usar para verificar el estado de la sincronización.

Obtén el estado de la sincronización de Vertex AI Feature Store

Para obtener el estado de una sincronización de Vertex AI Feature Store, puedes usar el 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( ).

Reemplaza lo siguiente:

  • FEATURE_VIEW_NAME: Es el nombre de la vista de atributos de la que deseas verificar el estado de sincronización.
  • FEATURE_VIEW_SYNC_ID: El ID de sincronización de la vista de funciones que se recibió de Sync Vertex AI Feature Store.

    Este método muestra uno de los siguientes estados junto con el mensaje de error, si corresponde: C: Complete, R: Running o F: Failed.

Sincroniza Vertex AI Feature Store con un trabajo en segundo plano de SAP

Edición local o cualquier edición en la nube

Para iniciar una sincronización de datos en una vista de atributos con un trabajo en segundo plano de SAP, puedes usar el método SYNC_FEATURE_DATA_TO_FS_BGJOB.

Este método crea un trabajo en segundo plano en tu sistema SAP, que inicia la sincronización de Feature Store y verifica el estado de la sincronización de Feature Store cada 30 segundos. Si el estado de sincronización de la tienda de funciones se completa o falla, el trabajo en segundo plano se completa con un mensaje según corresponda. Si la sincronización de Feature Store se está ejecutando, la tarea en segundo plano se ejecuta hasta que se alcanza el valor de TIMEOUT especificado. Después del tiempo de espera, se completa la tarea en segundo plano, sin embargo, la sincronización de la tienda de funciones sigue ejecutándose.

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

Reemplaza lo siguiente:

  • FEATURE_VIEW_NAME: Es el nombre de la vista de atributos de la que deseas iniciar manualmente la sincronización de datos.
  • TIMEOUT: Es el tiempo en segundos después del cual se agota el tiempo de espera del trabajo en segundo plano. Esto no afecta la sincronización de Vertex AI Feature Store.

Este método muestra el nombre de una tarea en segundo plano y el ID correspondiente. Se puede supervisar esta tarea desde SAP para verificar el estado de la sincronización de la tienda de componentes.

Edición SAP BTP

Puedes omitir esta sección porque no se aplica a la edición SAP BTP del SDK de ABAP para Google Cloud.

Publica funciones desde una tienda en línea

Puedes publicar valores de atributos desde una tienda en línea para aplicaciones en tiempo real, como las recomendaciones de productos. Según el tipo de entrega en línea que configuraste para tu tienda en línea, puedes entregar valores de atributos de una de las siguientes maneras:

  • Recupera valores de atributos mediante la entrega en línea de Bigtable
  • Recupera valores de atributos mediante la entrega en línea optimizada con un extremo público.
  • Recupera valores de atributos mediante la entrega en línea optimizada con un extremo de Private Service Connect.

Para obtener más información sobre la entrega de valores de atributos, consulta Cómo publicar atributos desde una tienda en línea.

Antes de comenzar

Edición local o cualquier edición en la nube

Antes de comenzar a publicar valores de atributos desde una tienda en línea, debes recuperar el nombre de dominio del extremo público de los detalles de la tienda en línea, crear un destino de RFC para el extremo y, luego, especificarlo en la tabla de asignación de servicios.

  1. Recupera el nombre de dominio del extremo público de la tienda en línea

    1. En la GUI de SAP, ejecuta el código de transacción /GOOG/SDK_IMG.

      Como alternativa, ejecuta el código de transacción SPRO y, luego, haz clic en IMG de referencia de SAP.

    2. Haz clic en SDK de ABAP para Google Cloud > Utilidades > SDK de Vertex AI: Obtén información de RFC para Feature Store y Vector Search.
    3. Selecciona Obtener detalles de Feature Store.
    4. Ingresa los siguientes parámetros:
    • Nombre de la clave de Google Cloud: Es la clave de cliente para la autenticación en Google Cloud.
    • Ubicación: Es la región en la que se encuentra la tienda en línea.
    • ID de Feature Store: Es el nombre de la tienda en línea que contiene la vista de atributos.
    1. Haz clic en Ejecutar para ver los detalles. Anota el nombre de dominio del extremo público junto a la etiqueta Host.
  2. Crea un destino de RFC para el extremo regional, el nombre de dominio del extremo público o el extremo de Private Service Connect de la tienda en línea. Para crear un destino de RFC, realiza los siguientes pasos:

    1. En la GUI de SAP, ejecuta el código de transacción SM59.
    2. Crea un nuevo destino de RFC. Para el destino de RFC que creaste, asegúrate de que el Tipo de conexión esté configurado de la siguiente manera: G - HTTP connection to external server.
    3. Ve a la pestaña Configuración técnica y, luego, ingresa los siguientes detalles:
    • Host de destino: Proporciona el nombre de dominio del extremo público en el que reside tu Vertex AI Feature Store.

    • Número de servicio: Ingresa 443. Este número de puerto se usa para la comunicación segura.

    1. Ve al Inicio de sesión y seguridad y asegúrate de que el Certificado SSL se establece el campo con la opción Cliente SSL de CDAULT (estándar).

    2. Guarda los cambios.

  3. Configura la tabla de asignación de servicios para la API de Vertex AI:

  4. En la GUI de SAP, ejecuta el código de transacción /GOOG/SDK_IMG.

    Como alternativa, ejecuta el código de transacción SPRO y, luego, haz clic en IMG de referencia de SAP.

  5. Haz clic en SDK de ABAP para Google Cloud > Configuración básica > Configurar asignación de servicios.

  6. Haz clic en Entradas nuevas.

  7. Especifica el destino de RFC para la API de Vertex AI:

    Nombre Nombre del servicio Destino de RFC
    Clave de cliente para la autenticación. apiinvoker:v1 Es el nombre del destino de RFC.
  8. Guarda la entrada nueva.

Edición SAP BTP

Antes de comenzar a publicar valores de atributos desde una tienda en línea, debes recuperar el nombre de dominio del extremo público de los detalles de la tienda en línea. Después de esto, debes crear un sistema de comunicación y un acuerdo de comunicación, y configurarlos en la configuración de claves del cliente con la app de SAP Fiori SDK de Google: configuración principal.

  1. Para recuperar el extremo público, crea el ZCL_GET_FEATURE_STORE_PUB_EP en un paquete local que elijas. Debes pasar una clave de cliente válida, el ID y la ubicación de 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. Activa y ejecuta la clase ZCL_GET_FEATURE_STORE_PUB_EP.

    El resultado, que es el extremo público de tu tienda en línea, usa el siguiente formato:

    xxxxxxxxxx.LOCATION_ID-PROJECT_ID.featurestore.vertexai.goog
    

    En esta salida, se incluyen los siguientes valores:

    • LOCATION_ID: Es la región en la que se encuentra tu tienda en línea.
    • PROJECT_ID: El ID del proyecto de Google Cloud en el que se encuentra tu tienda en línea.
  3. Accede al SAP Fiori launchpad del sistema BTP ABAP en el que está instalado el SDK de ABAP para Google Cloud.

  4. Ve a Todos los espacios > Administración > Administración de la comunicación.

  5. Crea un sistema de comunicación:

    1. Abre la app Communication Systems.
    2. Haz clic en Nuevo.
    3. En el diálogo Nuevo sistema de comunicación que aparece, ingresa un valor para los siguientes campos:
    • ID del sistema: ingresa un ID del sistema.
    • Nombre del sistema: ingresa un nombre del sistema.
    1. Haz clic en Crear.
    2. En el campo Nombre de host, ingresa el extremo público que recuperaste ejecutando la clase ZCL_GET_FEATURE_STORE_PUB_EP en un paso anterior.
    3. En el campo Puerto, escribe 443.
    4. Ve a la pestaña Usuarios para la comunicación saliente y haz clic en Agregar.
    5. En el campo Método de autenticación, selecciona Ninguno.
    6. Haz clic en Guardar.
  6. Crea un acuerdo de comunicación:

    1. Abre la app Communication Arrangements.
    2. Haz clic en Nuevo.
    3. En el diálogo Nuevo acuerdo de comunicaciones que aparece, ingresa un valor para los siguientes campos:
    • Situación: Selecciona Autenticación mediante la federación de Workload Identity (/GOOG/COM_SDK_SRV).
    • Nombre del acuerdo: ingresa un nombre para el acuerdo de comunicación.
    1. Haz clic en Crear.
    2. Para la entrada de acuerdo de comunicación que aparece, en el campo Sistema de comunicación, selecciona el sistema de comunicación que creaste en el paso anterior.
    3. Haz clic en Guardar.
  7. Crea una clave de cliente y un mapa de comunicación:

    1. Ve al espacio que contiene las apps de SAP Fiori para la configuración del SDK.
    2. Abre la app de SDK de Google: configuración principal.
    3. Haz clic en Crear.
    4. En el cuadro de diálogo Crear que aparece, ingresa un nombre de clave de cliente.
    5. Haz clic en Continuar.
    6. Ingresa los siguientes detalles:
    • Cuenta de servicio: Ingresa la cuenta de servicio que tiene acceso a las APIs de Google Cloud .
    • ID del proyecto: Ingresa el ID del proyecto de Google Cloud en el que habilitaste las APIs de Google Cloud . Para obtener información sobre el ID del proyecto, consulta Identifica proyectos.
    • Número de proyecto: Ingresa el número de proyecto de Google Cloud en el que habilitaste las APIs de Google Cloud . Para obtener información sobre el número de proyecto, consulta Identifica proyectos.
    • Tipo de autenticación: Selecciona W (federación de Workload Identity).
    1. Para el mapa de comunicación de la entrada predeterminada del nombre del servicio como "autenticación", proporciona el acuerdo de comunicación que configuraste para la autenticación basada en WIF.
    2. Agrega una entrada más al mapa de comunicación y elige el servicio como aiplatform:v1 y proporciona el acuerdo de comunicación como el que acabas de crear.
    3. Haz clic en Crear. Aparecerá un cuadro de diálogo que confirma que aceptas usar el SDK de ABAP para Google Cloud según las condiciones Google Cloud estándares.
    4. Para validar la configuración de autenticación, haz clic en Verificar conexión. Una marca de verificación verde en una entrada indica que la configuración se realizó correctamente.

    Si se produce algún error, consulta la guía de solución de problemas para obtener información sobre cómo resolver los errores comunes.

  8. Verifica que tu mapa de comunicación contenga las siguientes tres entradas:

    Nombre del servicio Situación de comunicación Acuerdo de comunicación
    authentication /GOOG/SDK_COM_WIF El acuerdo de comunicación que creaste para el servicio XSUAA
    aiplatform:v1 /GOOG/COM_SDK_SRV Es el acuerdo de comunicación que estableciste con el sistema de comunicación que contiene el extremo regional para AI PLATFORM.
    apiinvoker:v1 /GOOG/COM_SDK_SRV El acuerdo de comunicación que configuraste con el sistema de comunicación para el extremo público de la entrega de Vertex AI Feature Store en el paso anterior.

Recupera valores de funciones

En Vertex AI Feature Store, una entidad hace referencia a un elemento del que deseas hacer un seguimiento de atributos, como un cliente, un producto o cualquier otro dato. Cada entidad está asociada con un conjunto de atributos y sus valores correspondientes.

Para recuperar valores de atributos especificando un solo ID de entidad, usa el 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( ).

Reemplaza lo siguiente:

  • FEATURE_VIEW_NAME: El nombre de la vista de atributos desde la que deseas entregar valores de atributos.
  • ENTITY_ID: Es el valor de la columna de ID en el registro de atributos desde el que deseas publicar los valores de atributos más recientes. Como alternativa, puedes proporcionar un array de partes para construir el ID de la entidad. Asegúrate de que las columnas de ID estén en el mismo orden que se define en la vista de atributos.

Busca vecinos más cercanos aproximados

En el caso de las tiendas en línea creadas para la entrega en línea optimizada, puedes realizar una búsqueda de similitud de vectores para recuperar una lista de entidades semánticamente similares o relacionadas, también llamadas vecinos más cercanos aproximados. Puedes buscar vecinos más cercanos aproximados según un ID de entidad o una incorporación.

Antes de comenzar

Local o cualquier nube

Cuando creas una tienda en línea para la entrega en línea optimizada, Vertex AI Feature Store genera un nombre de dominio de extremo público para el almacén en línea. Antes de comenzar a buscar los vecinos más cercanos desde una vista de atributos en la tienda en línea, debes recuperar el nombre de dominio del extremo público de los detalles de la tienda en línea, crear un destino de RFC para el extremo y, luego, especificar el destino de RFC en la tabla de asignación de servicios.

  1. Recupera el nombre de dominio del extremo público de la tienda en línea

    1. En la GUI de SAP, ejecuta el código de transacción /GOOG/SDK_IMG.

      Como alternativa, ejecuta el código de transacción SPRO y, luego, haz clic en IMG de referencia de SAP.

    2. Haz clic en SDK de ABAP para Google Cloud > Utilidades > SDK de Vertex AI: Obtén información de RFC para Feature Store y Vector Search.
    3. Selecciona Obtener detalles de Feature Store.
    4. Ingresa los siguientes parámetros:
    • Nombre de la clave de Google Cloud: Es la clave de cliente para la autenticación en Google Cloud.
    • Ubicación: Es la región en la que se encuentra la tienda en línea.
    • ID de Feature Store: Es el nombre de la tienda en línea que contiene la vista de atributos.
    1. Haz clic en Ejecutar para ver los detalles. Anota el nombre de dominio del extremo público junto a la etiqueta Host.
  2. Crea un destino de RFC para el nombre de dominio del extremo público de la tienda en línea:

    1. En la GUI de SAP, ejecuta el código de transacción SM59.

    2. Crea un nuevo destino de RFC. Para los destinos de RFC que creaste, asegúrate de que el Tipo de conexión esté configurado de la siguiente manera: G - HTTP connection to external server.

    3. Ve a la pestaña Configuración técnica y, luego, ingresa los siguientes detalles:

      • Host de destino: Proporciona el nombre de dominio del extremo público de la tienda en línea.

      • Número de servicio: Ingresa 443. Este número de puerto se usa para la comunicación segura.

    4. Ve al Inicio de sesión y seguridad y asegúrate de que el Certificado SSL se establece el campo con la opción Cliente SSL de CDAULT (estándar).

    5. Guarda los cambios.

  3. Configura la tabla de asignación de servicios para la API de Vertex AI:

    1. En la GUI de SAP, ejecuta el código de transacción /GOOG/SDK_IMG.

      Como alternativa, ejecuta el código de transacción SPRO y, luego, haz clic en IMG de referencia de SAP.

    2. Haz clic en SDK de ABAP para Google Cloud > Configuración básica > Configurar asignación de servicios.
    3. Haz clic en Entradas nuevas.
    4. Especifica el destino de RFC para la API de Vertex AI:
    Nombre Nombre del servicio Destino de RFC
    Clave de cliente para la autenticación. apiinvoker:v1 Es el nombre del destino de RFC.
    1. Guarda la entrada nueva.

Edición SAP BTP

Antes de comenzar a publicar valores de atributos desde una tienda en línea, debes recuperar el nombre de dominio del extremo público de los detalles de la tienda en línea. Después de esto, debes crear un sistema de comunicación y un acuerdo de comunicación, y configurarlos en la configuración de claves del cliente con la app de SAP Fiori SDK de Google: configuración principal.

  1. Para recuperar el extremo público, crea el ZCL_GET_FEATURE_STORE_PUB_EP en un paquete local que elijas. Debes pasar una clave de cliente válida, el ID y la ubicación de 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. Activa y ejecuta la clase ZCL_GET_FEATURE_STORE_PUB_EP.

    El resultado, que es el extremo público de tu tienda en línea, usa el siguiente formato:

    xxxxxxxxxx.LOCATION_ID-PROJECT_ID.featurestore.vertexai.goog
    

    En esta salida, se incluyen los siguientes valores:

    • LOCATION_ID: Es la región en la que se encuentra tu tienda en línea.
    • PROJECT_ID: El ID del proyecto de Google Cloud en el que se encuentra tu tienda en línea.
  3. Accede al SAP Fiori launchpad del sistema BTP ABAP en el que está instalado el SDK de ABAP para Google Cloud.

  4. Ve a Todos los espacios > Administración > Administración de la comunicación.

  5. Crea un sistema de comunicación:

    1. Abre la app Communication Systems.
    2. Haz clic en Nuevo.
    3. En el diálogo Nuevo sistema de comunicación que aparece, ingresa un valor para los siguientes campos:
    • ID del sistema: ingresa un ID del sistema.
    • Nombre del sistema: ingresa un nombre del sistema.
    1. Haz clic en Crear.
    2. En el campo Nombre de host, ingresa el extremo público que recuperaste ejecutando la clase ZCL_GET_FEATURE_STORE_PUB_EP en un paso anterior.
    3. En el campo Puerto, escribe 443.
    4. Ve a la pestaña Usuarios para la comunicación saliente y haz clic en Agregar.
    5. En el campo Método de autenticación, selecciona Ninguno.
    6. Haz clic en Guardar.
  6. Crea un acuerdo de comunicación:

    1. Abre la app Communication Arrangements.
    2. Haz clic en Nuevo.
    3. En el diálogo Nuevo acuerdo de comunicaciones que aparece, ingresa un valor para los siguientes campos:
    • Situación: Selecciona Autenticación mediante la federación de Workload Identity (/GOOG/COM_SDK_SRV).
    • Nombre del acuerdo: ingresa un nombre para el acuerdo de comunicación.
    1. Haz clic en Crear.
    2. Para la entrada de acuerdo de comunicación que aparece, en el campo Sistema de comunicación, selecciona el sistema de comunicación que creaste en el paso anterior.
    3. Haz clic en Guardar.
  7. Crea una clave de cliente y un mapa de comunicación:

    1. Ve al espacio que contiene las apps de SAP Fiori para la configuración del SDK.
    2. Abre la app de SDK de Google: configuración principal.
    3. Haz clic en Crear.
    4. En el cuadro de diálogo Crear que aparece, ingresa un nombre de clave de cliente.
    5. Haz clic en Continuar.
    6. Ingresa los siguientes detalles:
    • Cuenta de servicio: Ingresa la cuenta de servicio que tiene acceso a las APIs de Google Cloud .
    • ID del proyecto: Ingresa el ID del proyecto de Google Cloud en el que habilitaste las APIs de Google Cloud . Para obtener información sobre el ID del proyecto, consulta Identifica proyectos.
    • Número de proyecto: Ingresa el número de proyecto de Google Cloud en el que habilitaste las APIs de Google Cloud . Para obtener información sobre el número de proyecto, consulta Identifica proyectos.
    • Tipo de autenticación: Selecciona W (federación de Workload Identity).
    1. Para el mapa de comunicación de la entrada predeterminada del nombre del servicio como "autenticación", proporciona el acuerdo de comunicación que configuraste para la autenticación basada en WIF.
    2. Agrega una entrada más al mapa de comunicación y elige el servicio como aiplatform:v1 y proporciona el acuerdo de comunicación como el que acabas de crear.
    3. Haz clic en Crear. Aparecerá un cuadro de diálogo que confirma que aceptas usar el SDK de ABAP para Google Cloud según las condiciones Google Cloud estándares.
    4. Para validar la configuración de autenticación, haz clic en Verificar conexión. Una marca de verificación verde en una entrada indica que la configuración se realizó correctamente.

    Si se produce algún error, consulta la guía de solución de problemas para obtener información sobre cómo resolver los errores comunes.

  8. Verifica que tu mapa de comunicación contenga las siguientes tres entradas:

    Nombre del servicio Situación de comunicación Acuerdo de comunicación
    authentication /GOOG/SDK_COM_WIF El acuerdo de comunicación que creaste para el servicio XSUAA
    aiplatform:v1 /GOOG/COM_SDK_SRV Es el acuerdo de comunicación que estableciste con el sistema de comunicación que contiene el extremo regional para AI PLATFORM.
    apiinvoker:v1 /GOOG/COM_SDK_SRV El acuerdo de comunicación que configuraste con el sistema de comunicación para el extremo público de la entrega de Vertex AI Feature Store en el paso anterior.

Recupera las coincidencias de vecino más cercano de una incorporación

Para buscar entidades relacionadas semánticamente, especifica una incorporación.

Para buscar vecinos más cercanos para una incorporación, envía una solicitud con el 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( ).

Reemplaza lo siguiente:

  • EMBEDDING_DATA: Es la incorporación para la que deseas recuperar las coincidencias de vecino más cercano aproximado. Una incorporación se representa con un array de valores de punto flotante.
  • FEATURE_VIEW_NAME: El nombre de la vista de características en la que deseas buscar las coincidencias aproximadas de los vecinos más cercanos.
  • NEIGHBOR_COUNT: La cantidad de vecinos más cercanos aproximados que deseas recuperar.
  • RETURN_FULL_ENTITY: Opcional Especifica si deseas incluir o excluir las funciones de las entidades en la respuesta. Para incluir los atributos junto con las entidades en la respuesta, ingresa ABAP_TRUE. El valor predeterminado es ABAP_FALSE.

Recupera las coincidencias de vecino más cercano de una entidad

Para buscar entidades relacionadas semánticamente, especifica un ID de entidad.

Para buscar vecinos más cercanos de un ID de entidad, envía una solicitud con el 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( ).

Reemplaza lo siguiente:

  • FEATURE_VIEW_NAME: El nombre de la vista de características en la que deseas buscar las coincidencias aproximadas de los vecinos más cercanos.
  • ENTITY_ID:: El ID de la entidad para la que deseas recuperar las coincidencias de vecino más cercano aproximado.
  • NEIGHBOR_COUNT: La cantidad de vecinos más cercanos aproximados que deseas recuperar.
  • RETURN_FULL_ENTITY: Opcional Especifica si deseas incluir o excluir las funciones de las entidades en la respuesta. Para incluir los atributos junto con las entidades en la respuesta, ingresa ABAP_TRUE. El valor predeterminado es ABAP_FALSE.

¿Qué sigue?