Création d'un traducteur de langue
Comme nous avons pu le voir lors du précédent chapitre, nous utiliserons l'API d'OpenAI pour créer un traducteur de langue en Python.
Cela peut paraître complexe lorsqu'on pense aux grands noms tels que Google Traduction ou encore Deepl. Mais vous allez voir que l'API d'OpenAI va nous simplifier la vie.
Dans ce chapitre nous aborderons deux traducteurs, le premier sera très simpliste, nous permettant de traduire un texte en une seule langue, mais le second sera quand a lui un peut plus complexe, nous permettant de choisir une traduction entre plusieurs langues avec une réponse de l'IA Ecrite et Orale.
Coder la base du programme
Nous allons nous référer a la partie "Chat Completion" de la documentation de l'API (Si vous ne voyez pas de quoi je parle, merci de vous référer au chapitre précédent). Dans un premier temps, nous importons la bibliothèque d'openai puis nous créons une variable avec comme valeur notre APIKey d'OpenAI comme ceci:
Une fois cela fait, nous nous référons à la documentation pour créer notre completion, nous créeons une varible qui contiendra le modèle de language que nous utiliserons ainsi que les rôles et ses exemples afin de donner un contexte a GPT.
Bien, pour l'instant nous ne lui donnons pas de contexte, on verra cela un peu plus tard dans ce chapitre. Pour finir, nous devrons afficher le résultat de cette opération (donc la réponse de GPT), pour ce faire, nous utilisons simplement la fonction print.
Alors, observons cette ligne, c'est quoi ce charabia me diriez vous ? Je vais vous l'expliquer mais avant, voyez de vous même la réponse de GPT si je lui demande uniquement de m'afficher le résultat du calcul:
Nous n'obtenons pas directement la réponse attendu mais un tas d'autres informations utiles, sauf que cela ne nous intéresse pas. Donc le
correspond à afficher uniquement le message de réponse qui nous intéresse (content).
Coder un traducteur de langue Français - Anglais simple
Bien, passons au vif du sujet, nous allons reprendre la base de code que nous avons écrite précedemment et ajouter un contexte afin que l'AI sache comment se comporter face à nos questions. Pour ce faire nous allons lui assigner des rôles et créer un échange RLHF comme vu au précedent chapitre, rappelez vous de:
- system
- user
- assistant Pour ce faire, nous allons demander au système de se comporter en tant que traducteur de langue Français - Anglais. Le code pourrait ressembler à cela:
Maintenant, nous allons lui donner un exemple afin de renforcer cette mise en contexte.
Nous avons donc donné un contexte a GPT en lui indiquant qu'il est un traducteur de langue Français - Anglais et nous lui avons donné un exemple "GCA est le meilleur serveur destiné aux développeurs." auquel il devrait répondre "GCA is the best server for developers." Bien, nous allons désormais faire en sorte que l'utilisateur puisse demander une traduction au chatbot que nous avons créé. Pour ce faire nous créerons une variable avec un input stockant le texte de l'utilisateur a traduire. Une fois cette variable crée, nous ajoutons un nouveau rôle "user" contenant cette demande afin qu'elle soit traitée par l'IA.
Bien, maintenant que notre programme est prêt, testons le avec
Nous voyons que notre traducteur de langue assez simpliste fonctionne grâce à l'IA. Passons désormais a un traducteur de langue un peu plus complexe.
Coder un traducteur de langues vocal
Nous avons vu précedemment comment coder un traducteur de langues simple Français - Anglais. Maintenant, a partir du même code, nous allons créer un traducteur de langue similaire qui prendrait en compte plusieurs langues en permettant à l'utilisateur de choisir celle qu'il souhaite. De plus, ce traducteur permettra de répondre à l'utilisateur directement en vocal. Reprenons notre code initial
Vous voyez que dans le rôle System nous avons indiqué à GPT qu'il doit traduire en anglais, remplaçons cela par une variable afin de plus tard, laisser la possibilité à l'utilisateur de choisir une langue.
Dans un premier temps, nous allons nous concentrer sur la sortie vocale de l'IA. Pour ce faire nous utiliserons la bibliothèque "pyttsx3". Cette bibliothèque permet de convertir du text en speech. Pour l'installation, nous importerons cette bibliothèque et nous initialiserons le text to speech de la réponse de l'IA.
Bien, nous avons donc notre réponse qui ressort en text to speech. Désormais nous allons créer un petit input contenu dans la variable "langue" afin de permettre à l'utilisateur de choisir une langue.
Et nous voilà avec un traducteur de langue text to speech fonctionnel. 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
Passer au chapitre suivant :
