Voici un guide du développeur expliquant comment intégrer le filtrage conversationnel des produits dans votre API.
Expérience administrateur
Gérez les questions génératives et le filtrage conversationnel des produits directement dans l'API ou dans la console Recherche pour le commerce, et configurez-les dans les sections Qualité des données et Évaluer de la console Recherche pour le commerce.
Cloud Console
La console permet aux marchands de gérer les questions génératives dans une expérience de filtrage conversationnel des produits. En savoir plus sur l'utilisation de questions génératives dans le filtrage conversationnel de produits
Étapes à suivre pour utiliser le service de questions génératives
Respecter les exigences concernant les données.
Configurez les remplacements manuels des questions.
Exigences en matière de données
Pour savoir si vos données de recherche sont prêtes pour le filtrage conversationnel des produits, accédez à l'onglet Vérifications de la couverture dans la console, sous Filtrage conversationnel des produits et navigation ou Qualité des données > Conversation.
Pour activer le filtrage conversationnel des produits, vous devez répondre à certaines exigences concernant les données.
Les voici :
- 1 000 requêtes par jour : une fois ce premier seuil atteint, un forfait de conversation est généré. Il évalue vos entrées et sorties :
- Entrées : nombre de filtres dans les événements
- Sorties : couverture conversationnelle
- Couverture conversationnelle de 25 % : calculée par les modèles Vertex AI Search pour le commerce, la couverture conversationnelle correspond au pourcentage de requêtes comportant une question. Au moins 25 % (en volume) des requêtes pondérées par fréquence doivent comporter au moins une première question correspondante.
Si vous n'avez pas encore atteint 25 % de couverture conversationnelle, mais que vous remplissez le premier prérequis de 1 000 requêtes par jour, des vérifications de blocage et des conseils commencent à s'appliquer à vos sorties et entrées, respectivement. Vertex AI Search for Commerce commence alors à calculer le pourcentage d'augmentation nécessaire pour que vos filtres appliqués aux événements utilisateur atteignent le seuil de couverture conversationnelle de 25 %. Plus vous importez de filtres, plus la couverture est élevée.
Pour afficher votre capacité conversationnelle :
- Accédez à l'onglet Conversation sur la page Qualité des données de la console Search for Commerce. Cela vous permet de vérifier de manière critique si au moins 25 % des requêtes de recherche comportent au moins une question complémentaire. Vous obtenez également des conseils sur le pourcentage d'événements utilisateur avec des filtres valides nécessaire pour atteindre cet objectif de couverture conversationnelle.
Figure 4. Vérification de l'aptitude à la recherche conversationnelle.
Si vous réussissez le contrôle critique et que vous disposez d'un nombre suffisant d'événements utilisateur avec des filtres valides, passez à l'étape suivante.
Pour contrôler la façon dont les questions génératives sont traitées, accédez à la page Filtrage conversationnel des produits et page de navigation dans la console Vertex AI Search for Commerce.
Commandes pour les questions génératives
L'IA générative rédige une question pour chaque attribut indexable du catalogue, en utilisant à la fois les noms et les valeurs des attributs système et personnalisés. Ces questions sont générées par un LLM et visent à améliorer l'expérience de recherche. Par exemple, pour le type de mobilier, les valeurs peuvent être "intérieur" ou "extérieur". L'IA synthétise une question sur le type de mobilier que vous recherchez.
Chaque facette comporte une question générée. En fonction des événements utilisateur historiques et de l'engagement des facettes à partir des données d'événements de recherche passés, les questions sont triées par fréquence d'apparition attendue. L'IA examine d'abord les questions en haut de la page, puis recherche les informations pertinentes par attribut. La liste de questions est générée une seule fois. Si un nouvel attribut est ajouté, il apparaît dans la liste sous deux heures.
Accédez à la page Recherche et navigation conversationnelles dans la console Search for Commerce.
Accédez à la page "Recherche conversationnelle et navigation".Dans l'onglet Gérer les questions générées par l'IA, vous pouvez afficher toutes les questions triées par fréquence d'utilisation, en fonction de la fréquence pondérée par les requêtes (c'est-à-dire la fréquence à laquelle elles sont diffusées avec des requêtes courantes). Le classement utilise le champ de fréquence dans la configuration
GenerativeQuestionConfig
. Ce champ permet de trier les questions générées par l'IA en fonction de leur fréquence d'utilisation.Vous pouvez utiliser l'option de filtre pour filtrer les questions.
Cochez la case pour activer la visibilité des questions pour chaque attribut.
Cliquez sur edit à la fin de chaque ligne pour ouvrir un panneau de modification pour chaque question.
Pour effectuer des modifications groupées, procédez comme suit :
Cochez ou décochez les cases à côté des questions que vous souhaitez inclure ou exclure de la conversation.
Cliquez sur le bouton addAutoriser dans la conversation ou removeRefuser dans la conversation qui s'affiche en haut de la liste. Vous pouvez également modifier une question individuelle en cliquant sur edit, puis en cochant ou décochant la case à côté de Autorisé dans la conversation dans le volet qui s'ouvre :
Figure 5. Modifiez chaque question générée par IA.
Utiliser des questions génératives dans le filtrage conversationnel de produits
L'API du service de questions génératives fournit des contrôles permettant d'atténuer les incohérences potentielles dans la sortie du LLM. Vous pouvez les gérer depuis la console. Les marchands peuvent également configurer le filtrage conversationnel des produits en activant ou désactivant cette fonctionnalité et en définissant le nombre minimal de produits requis pour la déclencher.
Vous pouvez définir les questions, en précisant la question elle-même, les réponses potentielles et si la question est autorisée dans la conversation. Les questions individuelles peuvent être générées par un LLM ou remplacées par le marchand. La console permet d'examiner les questions générées par l'IA, et aux marchands de les remplacer ou de modifier leur état conversationnel. Vous pouvez également modifier les questions de manière groupée.
Modifier des questions individuelles
Vous pouvez également utiliser des commandes pour sélectionner les questions individuelles. Nous vous recommandons de le faire avant d'activer le filtrage conversationnel des produits.
Pour chaque question, deux options sont disponibles. Cliquez sur edit dans la dernière colonne pour accéder au panneau des questions visibles par les utilisateurs :
- Désactiver une question pour toutes les requêtes : la question est activée par défaut. Décochez (ou cochez à nouveau) la case Autorisé dans les conversations. Cette option permet d'ignorer complètement la question. Un marchand peut choisir de désactiver complètement une question si elle ne concerne pas les attributs demandés ou si elle peut être mal interprétée (par exemple, la question "Quelle taille de robe recherchez-vous ?" peut être perçue comme une question indiscrète sur le poids d'un client).
- Réécrire une question : dans le volet, vous pouvez voir la question générée par l'IA, l'attribut auquel elle est associée et les valeurs de l'attribut. Cliquez sur le crayon pour le réécrire.
Activer le filtrage conversationnel
Une fois que vous avez modifié vos questions d'IA générative dans la console, vous pouvez activer le filtrage conversationnel des produits.
Pour activer le filtrage conversationnel des produits, accédez à la page Filtrage conversationnel des produits et page de navigation dans la console Search for Commerce.
Accédez à la page Recherche et navigation conversationnelles dans la console Search for Commerce.
Accédez à la page "Recherche conversationnelle et navigation".Réfléchissez au nombre minimal de produits de votre catalogue que vous souhaitez voir apparaître dans la recherche avant que les questions ne soient générées. Ce nombre peut être supérieur à 2, mais jamais inférieur. Une ligne par page est souvent la bonne quantité pour déclencher une conversation.
Configurez le nombre et activez l'option Activé. Si le nombre de produits correspondants est inférieur, ils sont filtrés.
Figure 6. Activez l'option Activer la recherche conversationnelle.
Cette page fournit des informations sur l'état de vos vérifications de blocage et d'avertissement. Si vous disposez de suffisamment de requêtes de recherche avec au moins une question complémentaire, votre site est désormais compatible avec la recherche conversationnelle.
Évaluer et tester
L'onglet Évaluer vous permet de prévisualiser l'expérience de diffusion en effectuant une recherche test et en testant vos questions par rapport aux facettes affichées. Cette partie de la console vous permet de prévisualiser votre expérience de diffusion avec le filtrage conversationnel des produits.
Pour évaluer et tester, procédez comme suit. Dans la section Évaluer des onglets Recherche ou Parcourir de la page Évaluer de la console Search for Commerce.
Accédez à la page Évaluer dans la console Search for Commerce.
Accéder à la page "Évaluer"Cliquez sur Rechercher ou Parcourir.
Dans le champ Évaluation de la recherche, saisissez une requête de test pertinente en fonction du catalogue que vous avez importé dans la recherche (par exemple, chaussures si votre catalogue contient des vêtements).
Cliquez sur Aperçu de la recherche pour afficher les résultats de recherche.
Figure 7 : Prévisualisez les résultats.
Si le filtrage conversationnel de produits est activé, les questions génératives le sont également.
API Generative Question
Cette section explique comment utiliser l'API de questions génératives pour intégrer l'API Conversational à votre UI, gérer les questions génératives et proposer la fonctionnalité sur votre site.
Intégration d'API
Objets :
- GenerativeQuestionsFeatureConfig
- GenerativeQuestionConfig
- Service GenerativeQuestions
- UpdateGenerativeQuestionsFeatureConfiguration
- UpdateGenerativeQuestionConfig
- ListGenerativeQuestionConfigs
- GetGenerativeQuestionFeatureConfig
- BatchUpdateGenerativeQuestionConfigs
Pour intégrer cette fonctionnalité, vous devez définir la ressource question
. Cela inclut la question elle-même et si elle est autorisée dans la conversation. La question est générée par défaut par un LLM, mais l'administrateur peut la remplacer.
Activer le filtrage conversationnel des produits
Objet :
- GenerativeQuestionsFeatureConfig
Cet objet est un fichier de configuration de contrôle permettant d'activer la fonctionnalité pour les questions génératives afin de gérer l'expérience globale de diffusion du filtrage conversationnel des produits. GenerativeQuestionsFeatureConfig
utilise une méthode GET pour obtenir des informations sur les attributs et savoir s'ils sont indexables ou non à partir du catalogue associé au projet.
Le bouton feature_enabled
permet de déterminer si les questions sont utilisées au moment de la diffusion. Il gère les boutons bascule de premier niveau dans la console.
Expérience de diffusion
Le filtrage conversationnel de produits repose sur l'engagement de l'utilisateur dans une conversation continue à plusieurs tours. Par conséquent, au moins une deuxième réponse est nécessaire pour que le filtrage conversationnel des produits fonctionne. Une question de suivi et des réponses suggérées sont présentées à l'utilisateur dans la réponse. Il peut répondre à cette question de suivi en saisissant sa réponse ou en cliquant sur une réponse suggérée (option à choix multiples).
L'option à choix multiples fonctionne en arrière-plan comme une facette (un filtre de type d'événement), qui affine la requête à l'aide du filtrage. En arrière-plan, lorsqu'un utilisateur clique sur une réponse à choix multiples, un filtre est appliqué à la requête. Appliquer un filtre à l'aide d'une sélection multiple conversationnelle revient à appliquer le même filtre à l'aide de facettes ou de vignettes dynamiques.
Service activé par la fonctionnalité
Le service de questions génératives (service GenerativeQuestionService{...}
) permet de gérer les questions générées par LLM. Son objet parent est le catalogue, à partir duquel il récupère des informations pour renvoyer des questions pour un catalogue donné. Ce service permet de gérer l'état général de la fonctionnalité de questions génératives, d'effectuer des modifications individuelles ou par lot, et d'activer ou de désactiver des questions. Vous devez respecter les exigences concernant les données pour interagir avec l'API Service, et les questions doivent être initialisées avant de pouvoir être gérées.
Le service interagit avec les fichiers de configuration au niveau des fonctionnalités et des questions à l'aide de deux ensembles de gestionnaires :
Gestionnaires
GenerativeQuestionsFeatureConfig
(au niveau de la fonctionnalité) :- Mettre à jour : vous permet de modifier le nombre minimal de produits et d'activer des champs.
- Get renvoie un objet.
Gestionnaires de configuration GenerativeQuestion (au niveau de la question) :
- List : renvoie toutes les questions pour un catalogue donné.
- Update : permet de gérer les questions individuelles.
- Mise à jour par lot : permet de gérer les questions groupées.
Le service renvoie une question sémantiquement appropriée en fonction de la requête initiale.
Une question complémentaire est générée par le modèle LLM et peut être remplacée. Les questions sont affichées en fonction de la probabilité qu'elles soient utilisées par les clients, en appelant l'historique des événements de recherche. En l'absence d'historique des événements de recherche, les journaux de recherche commerciale sont utilisés.
Différentes questions sont générées en fonction de la requête précédente. Il n'y a pas de pondérations fixes. L'IA qui génère les questions du LLM apprend à partir des requêtes et modifie la pondération de chaque requête. Par exemple, "chemise" pondère fortement la catégorie, mais "chemise rouge XL" pondère la catégorie, la taille et la couleur.
Configurer l'expérience de diffusion
Configurez l'expérience de diffusion en intégrant l'API de configuration du filtrage conversationnel à l'API Search.
L'API de configuration ConversationalFilteringSpec
de la fonctionnalité repose sur l'API Conversationnelle. Vous pouvez appeler les deux API en parallèle ou dans cet ordre :
- API Conversation
- API Search
ConversationalFilteringSpec
: ce champ facultatif a été ajouté àConversationalSearchRequest
, mais il est obligatoire si vous souhaitez utiliser la fonctionnalité de filtrage conversationnel. Le champ réutilise les champsSearchRequest
, la requête et le filtre. Il inclut également un champ permettant d'activer une question de suivi posée à l'utilisateur après une requête initiale, ainsi qu'un `conversation_id` pour maintenir l'état de la conversation entre le client et le serveur.ConversationalFilteringResult
: un fichier proto contient des informations supplémentaires à renvoyer pour le flux CRS conversationnel dansConversationalSearchResponse
. Cela inclutconversation_id
,refined_query
,additional_filters
,follow_up_question
etsuggested_answers
.
Parcours utilisateur à l'aide de l'API de flux conversationnel
L'utilisateur lance une recherche avec une requête initiale et définit l'indicateur mode
sur CONVERSATIONAL_FILTER_ONLY
. L'utilisateur sélectionne ensuite une réponse, qui est renvoyée à l'API à l'aide du champ user_answer
.
L'API Conversational fournit le champ additional_filter
dans la réponse. L'utilisateur doit appliquer ces filtres à la demande complémentaire de l'API Search. Les résultats de recherche sont basés sur la saisie de l'utilisateur et fournissent une nouvelle question de suivi, ce qui déclenche une requête de suivi et poursuit la conversation en plusieurs tours jusqu'à ce que l'utilisateur trouve ce qu'il recherche sur le site Web du marchand.
En supposant que le filtrage conversationnel des produits soit activé sur le site Web, le parcours utilisateur et l'interaction ultérieure avec Vertex AI Search pour le commerce suivent ce chemin :
- Étape 1. La première requête est envoyée par l'utilisateur aux API Search et Conversational. L'API Search ne renvoie que des résultats de recherche. L'API Conversationnel renvoie les réponses suggérées et les questions complémentaires. Appelez l'API Search pour la même requête ou
page_category
et récupérez les résultats de recherche. - Étape 2. La demande de conversation de suivi est envoyée à la recherche conversationnelle. Appelez l'API Conversationnelle avec le mode de filtrage des conversations approprié.
- Étape 3. Réponse initiale à la recherche avec uniquement les résultats de recherche. L'API Conversational affine la requête en renvoyant les réponses suggérées et les questions complémentaires.
- Sélection par l'utilisateur : l'utilisateur sélectionne un choix multiple.
- Le filtre de réponse sélectionné est envoyé à l'API Conversationnelle.
- Les API Conversation et Search s'exécutent avec le filtre appliqué.
La première requête provient de l'utilisateur qui lance la conversation.
La première requête est celle que votre utilisateur saisit dans le champ de recherche de Vertex AI Search for Commerce lorsqu'il commence une conversation et recherche dress
.
Envoyez une requête à l'API Search en créant la requête de recherche suivante et en définissant dress
comme requête (ou la requête réelle) :
Aucune modification n'est apportée à la requête de l'API Search dans le cadre du filtrage conversationnel des produits.
Envoyez une requête à l'API Conversational en procédant comme suit :
Créez une requête de recherche conversationnelle en définissant
dress
comme requête (ou la requête réelle).Définissez
mode
surCONVERSATIONAL_FILTER_ONLY
pour obtenir une réponse conversationnelle. Si la valeur est définie surDISABLED
, aucune question complémentaire n'est fournie.Renseignez
SearchParams
dans la demande de recherche conversationnelle. Les paramètres de recherche doivent être identiques à ceux de l'appel de l'API Search.
La réponse de l'API Conversationnelle se présente comme suit :
Que faire de la réponse :
conversation_id
: cet ID peut être stocké dans le stockage de session du navigateur et peut être utilisé pour poursuivre la recherche conversationnelle avec le serveur. Étant donné qu'un même client peut avoir plusieurs onglets ouverts avec plusieurs conversations, leconversation_id
est utilisé pour suivre les conversations.refined_query
: identifie la requête actuelle. Vous devez utiliser cette réponse pour appeler l'API Search afin d'extraire les résultats des produits.followup_question
: identifie la question à afficher à l'utilisateur.suggested_answers
: liste ordonnée des réponses à choix multiples qui doivent être présentées à vos utilisateurs. Si vous souhaitez afficher moins de réponses, ne montrez que les N premiers résultats. La liste est triée dans l'ordre dans lequel les résultats doivent être affichés.
Envoyer la requête utilisateur initiale avec la conversation activée
La recherche renvoie les paramètres de la conversation
Le filtrage conversationnel de produits propose les options suivantes pour poursuivre l'engagement conversationnel, ce qui permet d'affiner plus rapidement les recherches :
Sélection par l'utilisateur
Lorsque des résultats de recherche sont présentés à votre utilisateur, il peut sélectionner une option à choix multiples.
Cet exemple de code montre que l'utilisateur a sélectionné la réponse à choix multiples jaune. Une nouvelle requête conversationnelle est envoyée à l'API Search en renvoyant la requête avec le filtre utilisateur approprié appliqué.
Pour envoyer une requête à l'API Conversational :
- Restaurez
conversation_id
à partir du stockage de session. - Définissez
mode
surCONVERSATIONAL_FILTER_ONLY
. - Définissez
user_answer
pour ce que l'utilisateur sélectionne.
La réponse de l'API Conversational se présente alors comme suit :
Que faire de la réponse :
- La réponse de Google est pratiquement identique à celle de la première requête, sauf que le champ
additional_filter
peut être utilisé pour cocher la case du filtrecolor = yellow
et doit être ajouté à tous les autres filtres que l'utilisateur a sélectionnés. - Le
additional_filter
doit également être ajouté au champ de filtre de l'événement envoyé à Google pour cette requête complémentaire et la requête de recherche complémentaire. Il doit être appliqué à la requête de recherche pour récupérer les produits de recherche, ainsi qu'à la requête de recherche conversationnelle pour récupérer la conversation de suivi. - Le
refined_query
doit être envoyé à l'API Search pour récupérer des produits plus pertinents.