Création d'un assistant vocal avec OpenAI

Nous découvrirons les fondement de l'API d'OpenAI pour vous aussi, créer vos propres projets d'intelligence artificielle.

Niveau Débutant
10 minutes de lecture
Utiliser l'API d'OpenAI en Python

Création d'un assistant vocal

Description Lors des deux précedents cours, nous avons découvert l'utilisation de l'API d'OpenAI afin de créer, ensemble, un traducteur de langue grâce à l'IA. Aujourd'hui, nous allons, grâce aux notions apprises lors des précedents cours, créer un assistant vocal spécialisé dans le domaine de votre choix. Cet assistant sera capable d'écouter et d'assimiler une question humaine, de traiter la question et d'y répondre a l'oral en fonction de l'entrainement et du contexte qu'elle a reçu. De plus, il sera capable de conserver les anciennes questions / réponses afin d'améliorer son entrainement.

Disclaimer Pour poursuivre ce tutoriel, je vous invite fortement à voir mes deux derniers cours sur le sujet afin de ne pas être perdu

Créer la base de notre IA

Pour commencer nous allons importer la bibliothèque d'OpenAI, ainsi qu'indiquer notre Api Key, puis, contrairement aux autres cours, nous introduirons notre rôle "system" (qui sera spécialisé en mini plantes pour ce cas là) dans une variable.

Bien désormais nous allons faire en sorte que notre IA apprenne d'elle même en fonction des questions / réponses (ce que l'ont appel RLHF). Nous incluons donc notre variables contenant le rôle system dans une liste qui nous servira par la suite a stocker ces données.

Une fois que nous avons ceci, nous allons créer une boucle infini afin de permettre à l'utilisateur et a l'IA d'alimenter cette liste au fur et a mesure de notre échange avec celle ci. Dans cette boucle, nous placerons la variable d'entré de l'utilisateur que nous initialiserons dans le rôle "user", que nous placerons dans la liste "add_rlhf".

Une fois que nous avons défini le rôle "user", nous allons ajouter notre completion comme vu lors du précédent cours. Celui-ci prendra pour "message" la fameuse liste RLHF et la réponse de l'IA sera ajoutée a la liste.

Bien, nous avons donc notre base d'assistant qui fonctionne pour l'instant uniquement à l'écrit. Testons cela en lui posant deux questions:

  • Comment arroser un cactus
  • De quoi parlons nous ? (Afin de vérifier si l'IA a bien sauvegardé les dernières questions / réponses comme prévu)

Nous voyons donc que notre base d'IA fonctionne, elle répond à nos questions en enregistrant nos précédents échanges.

Attention ! Nous avons précédemment vu que la tarification d'OpenAI fonctionnait par token, le fait d'effectuer une boucle infini peut être dangereux si vous faites une erreur. Pour plus de renseignements, veuillez consulter le premier cours

Permettre l'Input Oral et l'Output Vocal

Nous allons commencer par créer l'entrée vocale de l'utilisateur permettant a celui-ci de transmettre son prompt directement à l'oral. Ce prompt sera stocké dans la variable "user_text" créee précédemment. Pour ce faire, nous utiliserons la bibliothèque "speech_recognition". Importons donc cette bibliothèque et initialisons la.

Une fois l'initialisation effectué, nous entrons dans notre boucle infini, ouvrons le microphone par defaut de l'ordinateur et attribuons la variable "user_text" à l'entrée vocale de l'utilisateur.

Maintenant la reconnaissance vocale effectuée, nous allons programmer la réponse vocale de l'IA. Pour ce faire, comme lors du précédent cours, nous utiliserons la bibliothèque "pyttsx3" que nous initialiserons comme précédement:

Et nous démarrerons l'écoute de la varibale "response" générée par l'IA:

Tout cela assemblé avec notre code de chatbot créé précédemment nous donne le code fonctionnel suivant:

Vous pouvez le tester, votre code est désormais fonctionnel ! Vous pouvez poser des questions à votre chatbot a l'oral et il vous répondra en vocal tout en enregistrant et prenant en compte les échanges passés. Le code source est disponible sur le github du projet

Rejoindre la communauté de développeurs

Rejoins notre communauté de développeurs pour progresser et t'améliorer