Ce document explique comment utiliser Vertex AI Feature Store pour effectuer des tâches telles que la synchronisation d'un magasin en ligne, la diffusion de caractéristiques à partir d'un magasin en ligne et la recherche dans un magasin en ligne à partir d'une entité ou d'embeddings, à l'aide du SDK Vertex AI pour ABAP.
Vertex AI Feature Store est un service de magasin de caractéristiques cloud natif géré. Il simplifie la gestion de vos caractéristiques de ML et les processus de livraison en ligne en vous permettant de gérer vos données de caractéristiques dans une table ou une vue BigQuery.
Dans un workflow typique de configuration de Vertex AI Feature Store, vous préparez d'abord votre source de données SAP dans BigQuery, enregistrez vos sources de données en créant des groupes de caractéristiques et des caractéristiques, puis configurez les ressources de magasin en ligne et de vue de caractéristiques. Vous pouvez ensuite diffuser les dernières valeurs de caractéristiques en ligne à partir d'une vue de caractéristiques ou effectuer une recherche de similarité sur le magasin de caractéristiques en ligne. Pour savoir comment configurer Vertex AI Feature Store, consultez Vertex AI Feature Store.
Une fois que votre Vertex AI Feature Store est prêt pour la diffusion en ligne, vous pouvez utiliser le SDK Vertex AI pour ABAP pour les opérations suivantes :
- Pour fournir les valeurs de caractéristiques les plus récentes et les plus précises pour la diffusion en temps réel lors de la prédiction du modèle, synchronisez votre magasin en ligne avec la source de données de caractéristiques dans BigQuery.
- Pour fournir des valeurs de caractéristiques à partir d'un magasin en ligne pour des applications en temps réel, diffusez des caractéristiques à partir du magasin en ligne.
- Pour récupérer une liste d'entités sémantiquement similaires ou associées au magasin en ligne, effectuez une recherche à l'aide d'une entité ou d'un embedding.
Avant de commencer
Avant d'utiliser le SDK Vertex AI pour ABAP avec Vertex AI Feature Store, assurez-vous que vous ou vos administrateurs avez rempli les conditions préalables suivantes :
- Activé l'API Vertex AI dans votre projet Google Cloud.
- Installer le SDK Vertex AI pour ABAP dans votre environnement SAP.
- Configurer l'authentification pour accéder à l'API Vertex AI.
- Configuré la diffusion de fonctionnalités en ligne. Pour savoir comment créer et utiliser un magasin en ligne pour héberger et diffuser des données dans BigQuery avec Vertex AI Feature Store dans un workflow de bout en bout, consultez les tutoriels Jupyter Notebook pour Vertex AI Feature Store.
Instancier la classe ABAP pour Vertex AI Feature Store
Pour utiliser Vertex AI Feature Store dans votre application ABAP, vous devez instancier la 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' ).
Remplacez les éléments suivants :
CLIENT_KEY
: clé client configurée pour l'authentification.LOCATION_ID
: région où se trouve le magasin en ligne, par exempleus-central1
.FEATURE_ONLINE_STORE_NAME
: nom du magasin en ligne contenant la vue de caractéristiques.
Synchroniser le magasin en ligne
Pour vous assurer que votre magasin en ligne dispose des valeurs de caractéristiques les plus récentes et les plus précises pour la diffusion en temps réel lors de la prédiction du modèle, vous devez synchroniser les ressources de vue de caractéristiques de votre magasin en ligne avec la source de données de caractéristiques dans BigQuery.
Avant de commencer
Comme vous accédez à Vertex AI Feature Store via un point de terminaison régional, vous devez créer une destination RFC pour établir une connexion à l'API Vertex AI. Vous spécifiez ensuite la destination RFC dans la table de mappage des services.
Créez une destination RFC pour l'API Vertex AI avec le point de terminaison régional où se trouve votre Vertex AI Feature Store. Par exemple, si votre Vertex AI Feature Store se trouve dans
us-east1
, le point de terminaison de l'hôte cible estus-east1-aiplatform.googleapis.com
. Pour en savoir plus sur les points de terminaison régionaux, consultez Point de terminaison du service. Pour créer une destination RFC, procédez comme suit :Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
SM59
.Créez une destination RFC. Pour les destinations RFC que vous avez créées, assurez-vous que le type de connexion est défini comme suit :
G - HTTP connection to external server
.Accédez à l'onglet Paramètres techniques, puis saisissez les informations suivantes :
Hébergeur cible : indiquez le point de terminaison régional où se trouve votre Vertex AI Feature Store.
Numéro de service : Saisissez
443
. Ce numéro de port est utilisé pour les communications sécurisées.
Accédez à l'onglet Connexion et sécurité et assurez-vous que le champ Certificat SSL est défini avec l'option Client SSL par défaut (standard).
Enregistrez les modifications.
Configurez la table de mappage des services pour l'API Vertex AI :
Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
/GOOG/SDK_IMG
.Vous pouvez également exécuter le code de transaction
SPRO
, puis cliquer sur SAP Reference IMG (IMG de référence SAP).Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Configurer le mappage des services.
Cliquez sur Nouvelles entrées.
Spécifiez la destination RFC pour l'API Vertex AI :
Nom Nom du service Destination RFC Clé client pour l'authentification. aiplatform:v1
Nom de la destination RFC. Enregistrez la nouvelle entrée.
Synchroniser Vertex AI Feature Store
Pour démarrer une synchronisation des données dans une vue des caractéristiques, utilisez la méthode 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( ).
Remplacez FEATURE_VIEW_NAME
par le nom de la vue d'élément géographique pour laquelle vous souhaitez démarrer la synchronisation des données.
Cette méthode renvoie un ID de synchronisation de vue de fonctionnalité, qui permet de vérifier l'état de la synchronisation.
Obtenir l'état de la synchronisation de Vertex AI Feature Store
Pour obtenir l'état d'une synchronisation de Vertex AI Feature Store, vous pouvez utiliser la méthode 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( ).
Remplacez les éléments suivants :
FEATURE_VIEW_NAME
: nom de la vue de caractéristiques pour laquelle vous souhaitez vérifier l'état de la synchronisation.FEATURE_VIEW_SYNC_ID
: ID de synchronisation de la vue des caractéristiques reçu de Sync Vertex AI Feature Store.Cette méthode renvoie l'un des états suivants, avec le message d'erreur le cas échéant :
C: Complete
,R: Running
ouF: Failed
.
Synchroniser Vertex AI Feature Store à l'aide d'un job SAP en arrière-plan
Pour démarrer une synchronisation des données dans une vue des caractéristiques à l'aide d'un job SAP en arrière-plan, vous pouvez utiliser la méthode SYNC_FEATURE_DATA_TO_FS_BGJOB
.
Cette méthode crée un job en arrière-plan dans votre système SAP, qui démarre la synchronisation du magasin de caractéristiques et vérifie son état toutes les 30 secondes.
Si l'état de la synchronisation du magasin de cractéristiques est "Terminé" ou "Échec", le job en arrière-plan se termine avec un message correspondant.
Si la synchronisation du magasin de caractéristiques est en cours d'exécution, le job en arrière-plan s'exécute jusqu'à la valeur TIMEOUT
spécifiée. Une fois le délai avant expiration dépassé, le job en arrière-plan se termine, mais la synchronisation du magasin de caractéristiques continue de s'exécuter.
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( ).
Remplacez les éléments suivants :
FEATURE_VIEW_NAME
: nom de la vue de caractéristiques pour laquelle vous souhaitez démarrer manuellement la synchronisation des données.TIMEOUT
: délai en secondes après lequel le job en arrière-plan expire. Cela n'a aucune incidence sur la synchronisation de Vertex AI Feature Store.
Cette méthode renvoie un nom de job en arrière-plan et l'ID correspondant. Ce job peut être surveillé depuis SAP pour vérifier l'état de la synchronisation du magasin de caractéristiques.
Diffuser des caractéristiques à partir d'un magasin en ligne
Vous pouvez diffuser des valeurs de caractéristiques à partir d'un magasin en ligne pour des applications en temps réel, telles que des recommandations de produits. Selon le type de diffusion en ligne que vous avez configuré pour votre magasin en ligne, vous pouvez diffuser des valeurs de caractéristiques de l'une des manières suivantes :
- Extraire les valeurs de caractéristiques à l'aide de la diffusion en ligne Bigtable
- Extraire les valeurs de caractéristiques à l'aide de la diffusion en ligne optimisée avec un point de terminaison public
- Extraire les valeurs de caractéristiques à l'aide de la diffusion en ligne optimisée avec un point de terminaison Private Service Connect
Pour en savoir plus sur la diffusion de valeurs de caractéristiques, consultez Diffuser des caractéristiques à partir d'un magasin en ligne.
Avant de commencer
Avant de pouvoir diffuser des valeurs de caractéristiques à partir d'un magasin en ligne, vous devez récupérer le nom de domaine du point de terminaison public à partir des détails du magasin en ligne, créer une destination RFC pour le point de terminaison, puis spécifier la destination RFC dans la table de mappage des services.
Récupérez le nom de domaine du point de terminaison public pour le magasin en ligne :
-
Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
/GOOG/SDK_IMG
.Vous pouvez également exécuter le code de transaction
SPRO
, puis cliquer sur SAP Reference IMG (IMG de référence SAP). - Cliquez sur SDK ABAP pour Google Cloud > Utilitaires > SDK Vertex AI : obtenir des informations RFC pour Feature Store et Vector Search.
- Sélectionnez Obtenir des informations sur le magasin de caractéristiques.
Renseignez les paramètres suivants :
- Nom de la clé Google Cloud : clé client pour l'authentification sur Google Cloud.
- : région où se trouve le magasin en ligne, par exemple .
- ID du magasin de caractéristiques : nom du magasin en ligne contenant la vue de caractéristiques.
Cliquez sur Exécuter pour afficher les détails. Notez le nom de domaine du point de terminaison public en regard du libellé Host (Hôte).
-
Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
Créez une destination RFC pour le point de terminaison régional, le nom de domaine du point de terminaison public ou le point de terminaison Private Service Connect du magasin en ligne. Pour créer une destination RFC, procédez comme suit :
Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
SM59
.Créez une destination RFC. Pour les destinations RFC que vous avez créées, assurez-vous que le type de connexion est défini comme suit :
G - HTTP connection to external server
.Accédez à l'onglet Paramètres techniques, puis saisissez les informations suivantes :
Hôte cible: indiquez le nom de domaine du point de terminaison public où se trouve votre Vertex AI Feature Store.
Numéro de service : Saisissez
443
. Ce numéro de port est utilisé pour les communications sécurisées.
Accédez à l'onglet Connexion et sécurité et assurez-vous que le champ Certificat SSL est défini avec l'option Client SSL par défaut (standard).
Enregistrez les modifications.
Configurez la table de mappage des services pour l'API Vertex AI :
Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
/GOOG/SDK_IMG
.Vous pouvez également exécuter le code de transaction
SPRO
, puis cliquer sur SAP Reference IMG (IMG de référence SAP).Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Configurer le mappage des services.
Cliquez sur Nouvelles entrées.
Spécifiez la destination RFC pour l'API Vertex AI :
Nom Nom du service Destination RFC Clé client pour l'authentification. apiinvoker:v1
Nom de la destination RFC. Enregistrez la nouvelle entrée.
Récupérer les valeurs de caractéristiques
Dans Vertex AI Feature Store, une entité désigne un élément pour lequel vous souhaitez suivre des caractéristiques, comme un client, un produit ou tout autre point de données. Chaque entité est associée à un ensemble de caractéristiques et à leurs valeurs correspondantes.
Pour extraire les valeurs de caractéristiques en spécifiant un seul ID d'entité, utilisez la méthode 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( ).
Remplacez les éléments suivants :
FEATURE_VIEW_NAME
: nom de la vue de caractéristiques à partir de laquelle vous souhaitez diffuser les valeurs de caractéristiques.ENTITY_ID
: valeur de la colonne "ID" dans l'enregistrement de caractéristiques à partir duquel vous souhaitez diffuser les dernières valeurs de caractéristiques. Vous pouvez également fournir un tableau de composants pour construire l'ID d'entité. Assurez-vous que les colonnes d'ID sont dans le même ordre que celui défini dans la vue d'élément.
Rechercher les voisins approximatifs les plus proches
Pour les magasins en ligne créés pour la diffusion en ligne optimisée, vous pouvez effectuer une recherche de similarité de vecteurs pour récupérer une liste d'entités sémantiquement similaires ou associées, également appelées voisins approximatifs les plus proches. Vous pouvez rechercher des voisins approximatifs les plus proches en fonction d'un ID d'entité ou d'une intégration.
Avant de commencer
Lorsque vous créez un magasin en ligne pour une diffusion en ligne optimisée, Vertex AI Feature Store génère un nom de domaine de point de terminaison public pour le magasin en ligne. Avant de pouvoir rechercher les voisins les plus proches à partir d'une vue des caractéristiques du magasin en ligne, vous devez récupérer le nom de domaine du point de terminaison public à partir des détails du magasin en ligne, créer une destination RFC pour le point de terminaison, puis spécifier la destination RFC dans la table de mappage des services.
Récupérez le nom de domaine du point de terminaison public pour le magasin en ligne :
-
Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
/GOOG/SDK_IMG
.Vous pouvez également exécuter le code de transaction
SPRO
, puis cliquer sur SAP Reference IMG (IMG de référence SAP). - Cliquez sur SDK ABAP pour Google Cloud > Utilitaires > SDK Vertex AI : obtenir des informations RFC pour Feature Store et Vector Search.
- Sélectionnez Obtenir des informations sur le magasin de caractéristiques.
Renseignez les paramètres suivants :
- Nom de la clé Google Cloud : clé client pour l'authentification sur Google Cloud.
- : région où se trouve le magasin en ligne, par exemple .
- ID du magasin de caractéristiques : nom du magasin en ligne contenant la vue de caractéristiques.
Cliquez sur Exécuter pour afficher les détails. Notez le nom de domaine du point de terminaison public en regard du libellé Host (Hôte).
-
Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
Créez une destination RFC pour le nom de domaine du point de terminaison public du magasin en ligne :
Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
SM59
.Créez une destination RFC. Pour les destinations RFC que vous avez créées, assurez-vous que le type de connexion est défini comme suit :
G - HTTP connection to external server
.Accédez à l'onglet Paramètres techniques, puis saisissez les informations suivantes :
Hôte cible : indiquez le nom de domaine du point de terminaison public pour le magasin en ligne.
Numéro de service : Saisissez
443
. Ce numéro de port est utilisé pour les communications sécurisées.
Accédez à l'onglet Connexion et sécurité et assurez-vous que le champ Certificat SSL est défini avec l'option Client SSL par défaut (standard).
Enregistrez les modifications.
Configurez la table de mappage des services pour l'API Vertex AI :
Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
/GOOG/SDK_IMG
.Vous pouvez également exécuter le code de transaction
SPRO
, puis cliquer sur SAP Reference IMG (IMG de référence SAP).Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Configurer le mappage des services.
Cliquez sur Nouvelles entrées.
Spécifiez la destination RFC pour l'API Vertex AI :
Nom Nom du service Destination RFC Clé client pour l'authentification. apiinvoker:v1
Nom de la destination RFC. Enregistrez la nouvelle entrée.
Récupérer les correspondances des voisins les plus proches d'un embedding.
Vous pouvez rechercher des entités sémantiquement liées en spécifiant un embedding.
Pour rechercher les voisins les plus proches d'un embedding, envoyez une requête à l'aide de la méthode 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( ).
Remplacez les éléments suivants :
EMBEDDING_DATA
: embedding pour lequel vous souhaitez récupérer les correspondances voisines approximatives les plus proches. Un embedding est représenté par un tableau de valeurs flottantes.FEATURE_VIEW_NAME
: nom de la vue de la caractéristique dans laquelle vous souhaitez rechercher les correspondances voisines approximatives les plus proches.NEIGHBOR_COUNT
: nombre de voisins approximatifs les plus proches que vous souhaitez récupérer.RETURN_FULL_ENTITY
: facultatif. Indiquez si vous souhaitez inclure ou exclure les caractéristiques des entités de la réponse. Pour inclure les caractéristiques avec les entités dans la réponse, saisissezABAP_TRUE
. La valeur par défaut estABAP_FALSE
.
Récupérer les correspondances des voisins les plus proches d'une entité
Vous pouvez rechercher des entités sémantiquement liées en spécifiant un ID d'entité.
Pour rechercher les ID des entités voisines les plus proches, envoyez une requête à l'aide de la méthode 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( ).
Remplacez les éléments suivants :
FEATURE_VIEW_NAME
: nom de la vue de la caractéristique dans laquelle vous souhaitez rechercher les correspondances voisines approximatives les plus proches.ENTITY_ID:
: ID de l'entité pour laquelle vous souhaitez récupérer les correspondances des voisins approximatifs les plus proches.NEIGHBOR_COUNT
: nombre de voisins approximatifs les plus proches que vous souhaitez récupérer.RETURN_FULL_ENTITY
: facultatif. Indiquez si vous souhaitez inclure ou exclure les caractéristiques des entités de la réponse. Pour inclure les caractéristiques avec les entités dans la réponse, saisissezABAP_TRUE
. La valeur par défaut estABAP_FALSE
.
Étape suivante
Découvrez comment développer des applications avec l'édition sur site ou n'importe quelle édition cloud du SDK ABAP pour Google Cloud.
Posez vos questions et discutez du SDK Vertex AI pour ABAP avec la communauté sur les forums Cloud.