Plateforme
Templates
Tarifs
Ressources
DocumentationAPI
Contact
Se connecter
Commencer
FR
EN

partager

Créez votre chatbot vous permettant de générer une recette de cuisine à partir d'une liste d'ingrédients !

Ne vous est-il jamais arrivé de vous retrouver les bras ballants devant votre frigo quasiment vide ne sachant pas quoi faire des deux oeufs et de l'aubergine qui restent dans celui-ci ? Si vous aussi vous avez vécu cette situation de désarroi, vous apprécierez de découvrir comment créer un chatbot capable de générer une recette de cuisine à partir d'ingrédients en utilisant OpenAI !

Parution le 

24/9/2021

, par 

Kévin MEGE

Introduction


Ne vous est-il pas déjà arrivé de vous retrouver les bras ballants devant votre frigo quasiment vide ne sachant pas quoi faire des deux oeufs et de l'aubergine qui restent dans celui-ci ? Non ? Il n'y a que moi ? D'accord, très bien, tant pis.

Aujourd'hui, je vais quand même vous proposer de créer un assistant permettant de vous donner un coup de pouce dans ces cas-là ! Nous allons créer, sur la plateforme Prisme.AI et grâce à l'API d'OpenAI un assistant qui nous générera une recette à partir de cette liste d'ingrédients !

‍

J'ai récemment reçu un accès à l'API d'OpenAI !
Pour les non-initiés : il s'agit d'une société spécialisée dans la recherche et le déploiement autour de l'intelligence artificielle. Ils proposent un accès fermé à leur API qui propose déjà de nombreux cas d'usages et peut être utilisée pour découvrir leurs différents modèles d'intelligence artificielle.

Petit détail qui a son importance : pour l'instant, les modèles d'OpenAI sont entraînés en anglais, c'est pourquoi l'assistant que nous créerons sera en anglais.
‍
Aujourd'hui, nous allons voir en quelques étapes comment :

  • Utiliser OpenAI dans un workflow.
  • Créer le parcours associé.

‍

Utiliser OpenAI dans un workflow


Utiliser OpenAI dans Prisme.ai est très simple. En effet, leur API est assez simple à utiliser et leur exemples sont très parlants, de plus un clé d'API suffit. Dans Prisme.ai une API peut-être appelée directement à travers une fonction et l'utilisation du fameux module "fetch".

Pour mon cas particulier j'ai donc créé une fonction permettant d'appeler l'API d'OpenAI.
Cette fonction sert strictement à demander au moteur d'intelligence artificielle "davinci-instruct-beta" d'écrire une recette basée sur les ingrédients donnés.

Code de "Recipe Generator function"

‍

Cette fonction prend en paramètres d'entrée :

  • OPENAI_API_KEY: Une clé d'API OpenAI permettant d'accéder au modèle "davinci-instruct-beta".
  • title: Le nom de votre plat, car tout chef en herbe se doit de nommer son plat.
  • ingredients: La liste des ingrédients composant votre plat. Chaque ingrédient est séparé par une virgule. Ex: "Eggs, Eggplant"‍‍

‍
La fonction retourne alors directement la réponse de l'API qui est un texte décrivant une recette !

Ne vous inquiètez pas, si vous ne souhaitez pas rédiger la fonction, celle-ci est disponible dans le store public Prisme.ai.

‍

Créer le parcours associé

1. Récupérer/créer la fonction

Vous pouvez copier la fonction afin de l'utiliser dans votre workflow. Il suffit, depuis le store publique d'ouvrir le menu contextuel (trois petits points sur la carte de la fonction) et cliquer sur "Copier la ressource".

Copier la fonction.

Vous avez maintenant une copie de la fonction dans votre propre store, il est désormais possible de l'utiliser dans l'un de vos workflows.

2. Glisser-déposer puis configurer

A présent que vous avez enrichi votre propre store avec la fonction de génération de recette proposée par la communautée vous pouvez l'utiliser directement dans vos parcours.
Nous allons réaliser un parcours simple dont le seul but sera de proposer des recettes.
Ce parcours permettra à l'utilisateur final de donner le nom de sa recette, puis des ingrédients et d'obtenir sa réponse.

‍
Pour l'occasion, j'ai déjà créé mon assistant qui s'appelle "Recipe Generator". Oui, pas très original... Sur la console Prisme.ai, je me rends maintenant dans l'éditeur.

Premièrement je crée une nouvelle intention avec un nom me permettant de la retrouver facilement (par exemple : getRecipe).
Je souhaite rendre mon intention disponible dès l'intention de Bienvenue de mon assistant via un bouton. Je vais donc ajouter un label d'évènement à mon intention, ici "GET_RECIPE".
Dans les phrases utilisateurs de celle-ci j'en rajoute une afin que l'utilisateur puisse accéder à ce parcours en langage naturel également.

Enrichissement de l'intention.

‍
‍

Mon intention est créée, je vais maintenant y ajouter un workflow.
Pour ce faire, dans la carte de mon intention nouvellement créée je vais faire glisser-déposer les éléments nécessaires.

En premier lieu je souhaite demander à mes utilisateurs comment ils souhaitent nommer leur recette.
Je fais glisser-déposer une question depuis l'inventaire des éléments disponibles.
Je la configure en y ajoutant une question, le nom du paramètre (title) et le type d'entité (ggwg/any). ‍‍

Configuration de la première question.

Lorsque l'utilisateur recevra cette question, celui-ci pourra simplement y répondre en tapant dans le champ de texte principal.

Exactement de la même façon, je rajoute une seconde question, qui va nous permettre de récupérer la liste d'ingrédients de l'utilisateur.
Ici, je fais référence au titre qu'il vient de saisir grâce à "$title".
Je rajoute également une variante à ma question afin que le parcours ne soit pas trop "robotisé".
‍

Configuration de la seconde question.

‍
‍
A présent, je fais glisser une action fonction en tant que troisième étape de notre workflow et je choisis la fameuse fonction parmi la liste déroulante.
Les paramètres à renseigner vont alors s'afficher, il s'agit de ceux mentionnés dans la première partie de cet article.
‍
Tout d'abord, il est important de renseigner sa clé d'API de la beta d'OpenAI. Si vous n'en avez pas encore une je ne peux que vous conseiller d'être patient (en savoir plus).
Afin que les champs title et ingredients soient remplis dynamiquement, nous allons utiliser les paramètres issus des deux premières étapes du workflow grâce aux mots clés "$title" et "$ingredients".
N'oubliez pas de nommer un paramètre de sortie afin de réutiliser le résultat de la fonction plus tard (ici nommé "richResponse").

Configuration de l'action fonction.

‍

Ça y est, la fonction est parfaitement configurée. Il ne manque plus qu'à ajouter une réponse text afin d'afficher la recette à notre utilisateur affamé !

‍

3. Afficher la réponse de la fonction

‍

Très bien ! Votre fonction est configurée et prête à être utilisée dans votre workflow. Mais comment utiliser le retour de l'API pour effectuer des traitements ?
C'est très simple, le retour est disponible dans le paramètre de sortie déclaré juste avant.
‍
Vous pouvez alors utiliser ce paramètre de sortie comme n'importe quel paramètre d'intention, c'est-à-dire en mentionnant son nom après un signe "$".
‍
Dans notre cas, ça tombe bien car l'API nous retourne directement la réponse en texte riche à afficher !

Vous l'avez deviner, dans mon workflow, je vais donc simplement ajouter une réponse de type "Text riche", et simplement la remplir avec "$richResponse", on obtient en image :

Workflow complet à gauche, configuration du texte à droite.


4. Rediriger nos utilisateurs depuis l'intention de bienvenue
‍

Au début de cette partie j'ai ajouté un événement de déclenchement à mon intention. En effet, j'avais envie de permettre à mes utilisateurs d'y accéder en un seul clic depuis l'intention de bienvenue. Mon workflow semble prêt à être utilisé, je vais donc rajouter ce raccourci vers mon intention getRecipe.

Pour cela, c'est très simple :

  • Je retrouve mon intention "Départ".
  • Je rajoute dans le workflow de celle-ci un bouton de type évènement qui pointera vers l'évènement "GET_RECIPE". Configuré comme suit :


Pensez à sauvegarder, notre configuration est à présent terminée, vous pouvez tester le parcours utilisateur que nous venons de créer, le voici en image :

Une recette générée par de l'IA !

‍

Conclusion

En quelques minutes nous avons créé un assistant permettant de sauver la vie des êtres humains en manque d'inspiration pour leur prochain repas.

Maintenant que nous avons compris comment utiliser l'API d'OpenAI dans un workflow Prisme.ai des cas d'usages bien plus complexes s'ouvrent à nous !
‍
Vous pouvez d'ores et déjà construire des cas d'usages autour de la proposition d'une recette ou bien créer de nouveaux cas d'usages en vous inspirant de celui-ci !


Bon appétit et bonne création !

PlateformeCas d'usageTarifs
BlogDocumentationRecrutement
Se connecterBlagnac, France
CGUMentions LégalesPolitique de confidentialité

Tous droits réservés Prisme.ai - 2016-2022 - Gogowego SAS - Made In Francecréation de site internet polish_ studio