07/12/2023 Franck Bugnet Tuto

Utiliser ChatGPT dans Merlin Backoffice ® Flex pour PrestaShop

Lorsque vous combinez l'incroyable puissance de deux outils comme l'administrateur de catalogue rapide PrestaShop Merlin Backoffice ® Flex de Sitolog et l'IA générative ChatGPT d'OpenAI, vous obtenez un cocktail explosif, un gestionnaire de site de commerce électronique comme nul autre. Le potentiel est tellement énorme qu'il est difficile de le résumer.

Comme il s'agit du premier article sur le sujet, nous allons montrer et expliquer l'interface en détail, mais dans un exemple simple où nous poserons une seule question à ChatGPT (un seul prompt).

Prérequis : vous devez déjà savoir comment utiliser MagicEdit dans Merlin Backoffice ® Flex et l'avoir déjà configuré et connecté à l'API avec votre clé secrète, comme expliqué en détail dans le tutoriel précédent.


Lancement de l'interface de dialogue avec ChatGPT

La liste des produits sur lesquels porte cet exercice est une collection de posters pour chambre d'enfants, illustrant les héros les plus connus.

A ce stade, seul le nom des produits est renseigné, sous la forme générique "Poster de <nom du héros>".

On va demander à ChatGPT de rédiger en série la description longue de chaque poster. Chaque produit aura bien sûr sa propre description unique, construire en faisant référence au héros, sujet du poster, mais cela sera géré automatiquement.

Comme vu dans l'article précédent sur la configuration, l'outil ChatGPT dans Merlin Backoffice ® Flex est disponible dans MagicEdit.
Pour rappel, il se lance en sélectionnant des lignes, en se plaçant dans la colonne à modifier ou à remplir (ici il s'agit de la description longue des produits) et en sélectionnant l'outil dans le menu déroulant, comme dans la capture d'écran en anglais ci dessous :

Lancer MagicEdit sur une sélection de lignes

Roles et consignes ChatGPT

Le but de cet article n'est pas de vous apprendre à dialoguer avec ChatGPT, il existe déjà pour cela des milliers de tutoriels. Cependant il est bon de rappeler qu'une requête réussie commence bien souvent par une description du rôle que l'on souhaite que le robot endosse et des consignes qu'il doit suivre.

Cela permet au robot de "comprendre" le contexte et d'affiner ses réponses. Ce n'est par exemple pas le même travail rédactionnel que de faire un résumé d'un texte que de le traduire et cela demandes des compétences (le rôle) différentes.

Merlin Backoffice Flex inclus un champ spécial pour rédiger vos consignes et expliquer au robot quel rôle il doit jouer : traducteur, rédacteur, spécialiste SEO, mathématicien, prof, etc...

Cependant, cette étape est optionnelle. Pour des questions très simples elle n'est pas nécessaire. Par défaut si on n'indique rien, le robot endosse le role de "helpfull assistant", traduisible littéralement en "assistant utile".


Les consignes concernent bien souvent le style rédactionnel à adopter, la longueur du texte attendu, la mise en forme souhaitée...

Pour ce premier exercice ensemble, la consigne que l'on lui donne est la suivante :

Tu es un assistant m'aidant à la rédaction de contenu pour un site de décoration de chambre pour enfants. En particulier je vais te demander de rédiger completement des description très vendeuses de poster de héros. Les posters sont disponibles dans différentes tailles et deux qualités de paipier (brillant 80g et glacé 110g). Ne dépasse pas 1200 caractères. Je veux que ta description parle du héros que je t'indiquerai.

A saisir dans le bon champ du formulaire comme ceci (pour les réglages situés au dessus, voir ou revoir l'article précédent qui explique cette partie en détail) :

Rédaction du role et des consignes

Collection de "rôles et consignes"

De manière à vous permettre de mémoriser et réutiliser vos textes de rôles et consignes, nous avons également inclus un outil de mise en favori, dans une collection que nous fournissons avec quelques exemples directement utilisables.

  1. Bouton permettant d'ouvrir la collection de rôles et consignes.
  2. La fenêtre de la collection.
  3. Elle s'utilise par simple glisser déposer d'un texte présent dans la fenêtre collection, vers le champ "Role et consignes" dans la fenêtre MagicEdit.
  4. L'étoile jaune permet de mettre en favori le texte actuellement présent dans la fenêtre de gauche, c'est à dire de l'ajouter à la collection de roles et consignes.
  5. Vous pouvez donner un titre à chaque consigne, pour les retrouver plus rapidement.
  6. Et bien sûr également supprimer de la collection celles que vous ne penser jamais utiliser.

Collection de rôles et consignes ChatGPT

Rédiger la question, aussi appelé prompt

Un prompt est la tâche que l'on demande à ChatGPT d'effectuer ou question à laquelle il doit répondre. En utilisation classique, le prompt est bien souvent une simple question, une demande de renseignement. En utilisation dans le cadre du e-commerce, il s'agira plus souvent d'une tâche plus complexe, comme la correction d'un texte existant, réaliser un résumer, le traduire, rédiger un article...

Vous verrez que l'interface permet de rédiger jusqu'à 4 prompts dans une seule requête. On abordera la notion de requêtes multi prompts dans un futur tutoriel. Disons simplement à ce stade que cela permet de générer une sorte de dialogue avec plusieurs aller retours et d'aider ChatGPT à affiner ses réponses en plusieurs étapes.

Pour ce premier test, on n'utilisera qu'un seul prompt.

Ce prompt sera envoyé plusieurs fois au robot par Merlin, en fait autant de fois qu'il y a de lignes sélectionnées. Mais il sera légèrement différent pour chaque ligne ou produit grâce au concept de prompt paramétrique.

Un prompt paramétrique est un prompt dans lequel une ou plusieurs parties du texte sont variables, remplacées par du texte lu dans la table, dans une autre colonne par exemple.

Nous allons utiliser ici cette technique pour lui fournir le nom du produit, nom qui contient le nom du héros de chaque poster.  Pour cela, on tape le début de la question par "Ce produit est un " et l'on vient chercher dans la liste déroulante contenant les autres colonnes présentes à l'affichage, la rubrique à insérer, ici "Nom".

  1. 1er prompt, début de la saisie de la question. 
  2. Clic sur le bouton déroulant la liste des colonnes disponibles.
  3. Clic sur la rubrique à insérer, le nom du produit.

Rédiger le début du prompt

Cette opération simple insère dans le texte, le "paramètre" sélectionné, placé entre crochets. Lors de l'envoi de la question, ce paramètre sera remplacé ligne par ligne par le nom du produit lu dans la table, comme "Poster de Mickey". Le début de la question sera donc "Ce produit est un poster de Mickey ..." pour la première ligne, puis "Ce produit est un poster de Donald ..." pour la seconde ligne et ainsi de suite.

Le nom du produit est inséré dans le prompt

Le bouton "Valeur actuelle" permet d'un clic d'insérer sous forme paramétrique également, la valeur contenue avant le lancement de MagicEdit, dans la colonne que l'on souhaite modifier. Cela permet de rédiger des prompts dans le style "Optimise le texte suivant : [Valeur actuelle]".

Le bouton "Valeur modifiée" rempli presque le même rôle, à la différence que le texte inséré est le texte actuel potentiellement modifié par les autres outils de MagicEdit, placés au dessus du bloc ChatGPT, si ils ont été activés.

Rédiger la fin du prompt

On complète le prompt par notre demande de rédaction d'une description longue commerciale du produit, en rappelant éventuellement certaines consignes importantes. Il est souvent conseillé de lui demander de ne pas commenter sa réponse, ni de l'entourer de guillemets.

Le texte sera ici le suivant :

Rédige une jolie description commerciale en respectant les consignes que je viens de te donner, sans oublier de parler du héros, qui donne envie à des enfants de l'acheter et qui aide au référencement de la page de vente par Google. Retourne en réponse la description seule, sans l'entourer de guillemets et sans aucun commentaire car elle sera insérée telle quelle sur notre site de vente.

  1. Le prompt complet
  2. Cliquez sur Phase 1... pour soumettre la requête à ChatGPT. Cela établi la connexion et envoie les consignes et le premier prompt (un par ligne de produit). Lorsque le robot à répondu, si vous avez rédigé un second  prompt, il est soumis dans la foulée et ainsi de suite jusqu'au 4ième.

Le prompt complet

Collection de "prompts"

Comme pour les rôle et consignes, nous avons également inclus un outil de mise en favori, dans une collection de prompts. Collection que nous fournissons également avec quelques exemples directement utilisables, pour le SEO, les traductions, les résumés, la correction de textes...

  1. Bouton permettant d'ouvrir la collection de prompts.
  2. La fenêtre de collection de prompts.
  3. Elle s'utilise par simple glisser déposer d'un texte présent dans la fenêtre collection, vers un des champs prompt 1 à 4 dans la fenêtre MagicEdit.
  4. L'étoile jaune permet de mettre en favori le texte actuellement présent dans la fenêtre de gauche, c'est à dire de l'ajouter à la collection de prompts.
  5. Vous pouvez donner un titre à chaque prompt, pour les retrouver plus rapidement.
  6. Et bien sûr également supprimer de la collection les prompts inutiles.

Collection de prompts ChatGPT

Gestion automatique des limites de flux et de volume du robot

Le tutoriel précédent a déjà couvert ce point en détail, ChatGPT impose des limites diverses, aussi bien sur la fréquence maxi d'envois de requêtes, que sur leur taille.

Heureusement, Merlin Backoffice ® Flex sait gérer ces limites pour vous, afin d'éviter que le moteur d'IA ne retourne une erreur pour cause de dépassement de capacité autorisée.

Pour cela, il réalise au fil du temps un décompte horodaté des prompts envoyés, il mémorise la taille des questions et des réponses et quand nécessaire, se mets lui même en pause. Vous pouvez alors au choix accepter le temps d'attente, ou tout arrêter (cela conserve les réponses reçues pour les lignes déjà traitées) :

Pause automatique pour ne pas dépasser une des limites de ChatGPT

Présentation et validation ligne par ligne du résultat

En fin de travail (ou en cas d'arrêt), MagicEdit vous présente le résultat Avant / Après, ligne par ligne.

  1. Navigateur pour passer en revue les modifications apportées à chaque ligne.
  2. Contenu de la cellule avant l'opération (dans notre exemple les descriptions étaient vides).
  3. Contenu à la fin de l'opération (dans notre exemple correspond exactement à la réponse apportée par ChatGPT). Notez au passage qu'il n'a pas respecté précisément notre consigne de ne pas dépasser 1200 caractères. Cette réponse en contient 1274 (compteur présent au dessus du champ). ChatGPT est très mauvais en math. 

Revue de la réponse de ChatGPT ligne par ligne

  1. Bouton pour passer à la ligne suivante.
  2. Ou à la ligne précédente.
  3. Pour annuler complètement les modifications apportées à cette ligne.
  4. Vous pouvez également manuellement apporter des modifications au nouveau contenu.

Possibilité d'annuler ou modifier chaque réponse du robot

Validation finale ou annulation complète

  1. Ici on est arrivé à la vérification de la dernière ligne (5 lignes étaient sélectionnées et ont été modifiées). Noter qu'il n'est pas obligatoire de parcourir toutes les lignes.
  2. Vous pouvez alors soit annuler toute l'opération (l'interface MagicEdit reste alors ouverte, vous permettant de peaufiner votre requête et la soumettre à nouveau).
  3. Soit au contraire la valider et enregistrer les changements en base de données.

Annulation complète ou validation et enregistrement des réponses fournies par ChatGPT

Résultat final après validation 

La colonne modifiée est mise à jour :

Résultat final enregistré dans la base et affiché dans la table à l'écran

Nettoyage des réponses

Bien souvent ChatGPT est trop bavard et commente sa propre réponse. Si par exemple on lui pose comme question, quel est le vrai nom de Zorro, il va répondre quelque chose comme : Le vrai nom de Zorro est "Diego de la Vega".  Ou si vous lui demandez de traduire un texte, il va presque à chaque fois commencer la réponse par "La traduction de ... est ..."

Pour éviter ces textes superflus, on peut dans la consigne et/ou le prompt, lui indiquer d'être plus direct, ce que l'on a fait avec succès dans l'exemple ci-dessus, en incluant dans le prompt "Retourne en réponse la description seule, sans l'entourer de guillemets et sans aucun commentaire car elle sera insérée telle quelle sur notre site de vente". 
Cette technique à cependant un coût en jetons puisqu'elle allonge la longueur du prompt et ne fonctionne pas à 100%. Le robot a tendance à n'en faire qu'à sa tête.

On a remarqué que ChatGPT entoure souvent la partie interessante de sa réponse entre guillemets doubles. Vous pouvez aussi lui donner formellement la consigne de l'entourer de séparateurs de votre choix (ex: dans ta réponse, entoure la partie traduite en anglais entre deux crochets [] ).

On a donc inclus dans notre outil une option simple qui permet d'effectuer un nettoyage une fois la réponse reçue, tout simplement en retirant les textes présents avant et après les séparateurs (inclus), que vous pouvez préciser :

Nettoyage des réponses de ChatGPT

Concaténer ou effacer le contenu existant

Remarquez enfin dans la capture ci-dessus la dernière option "Ajouter la réponse..." qui permet de concaténer le résultat final au contenu actuel du champ. Par défaut si cette case n'est pas cochée, le contenu actuel est effacé et remplacé par la réponse de ChatGPT.

A vous d'essayer...


Autres articles de la catégorie ChatGPT et PrestaShop

Réglages
  • Identification
    • £ GBP
    • $ USD
Menu