Qu'est-ce qu'une API ?
Une API est ce qui va permettre l’échange et la communication entre deux applications.
A chaque fois que vous utilisez une application connectée à internet, vous utilisez sans le savoir, une API.
Quand vous utilisez une application, celle-ci envoie une demande sous forme de données qu’on appelle requête à un serveur qui quant à lui va les interpréter et effectuer les actions demandés par l’utilisateur avant de lui renvoyer le résultat.
Pour mieux comprendre le fonctionnement, nous analyserons un exemple que j’ai bien aimé.
Imaginez que vous soyez dans un restaurant, vous avez le menu des plats devant vous et devez faire un choix. Le serveur du restaurant prend votre commande et va la communiquer en cuisine. Une fois votre commande entre les mains du cuisinier, celui-ci va préparer le plat que vous avez demandé avant de le donner au serveur qui va vous le rapporter afin que vous le consommiez.
Dans cet exemple, la carte du restaurant est votre application, vous effectuez votre commande auprès du serveur du restaurant que nous pouvons identifier comme étant la requête. Ce serveur du restaurant (donc cette requête que vous envoyez) va directement en cuisine que nous pouvons interpréter comme étant le serveur de l’API qui va traiter votre commande et préparer votre plat. Le cuisinier donne donc votre plat préparé au serveur du restaurant qui va vous le rapporter, nous identifions cela comme étant la réponse du serveur API.
Qu'est-ce que OpenAI ?
OpenAI est une entreprise de recherche en intelligence artificielle fondée en 2015 par Elon Musk et Sam Altman. Elle a réalisé des avancées importantes, notamment avec ses modèles de langage GPT-2 et GPT-3, qui sont parmi les plus puissants jamais créés. OpenAI a d'abord publié activement ses recherches, mais a ensuite adopté une approche de "publication limitée" pour éviter les risques potentiels.
L'entreprise propose également des API pour permettre aux développeurs d'utiliser ses modèles d'IA dans diverses applications, ce que nous voyons dans ce cours.
Qu'est-ce qu'un modèle de langage ?
Un modèle de langage est un algorithme créé pour traiter et générer du texte de la même manière que les humains. Pour ce faire, il est entrainé avec une immense quantité de données humaines lui permettant de comprendre et d'assimilier le fonctionnement de notre langage, notre façon de penser, d'écrire et nous de exprimer.
Les modèles de langages existent depuis très longtemps et ont souvent été utilisés dans de nombreux domaines que nous connaissons tous sans réellement savoir comment cela fonctionne, prenons par exemple Siri, Alexa ou encore Google Traduction, toutes ses applications utilises un modèle de langage. Tout cela fonctionne grâce à une forme de machine learning basé sur un algorithme reproduisant un réseau de neurones humain qui apprend à partir de données injectées et peut donc effectuer des tâches de manière totalement autonomne.
Dans ce cours, nous traitons de la technologie GPT qui est basé sur des modèles dit LLM (Large Language Models). Ces modèles de langages sont entrainés non pas sur un domaine précis, mais sur des corpus très importants basés sur des millions, voir des milliards de données et utilisent une architecture de réseau neuronale extrêmement complexe.
Mais alors comment fonctionne GPT ?
La technologie GPT a été entrainée avec ce que l'on appelle RLHF (Reinforcement Learning from Human Feedbacks = Apprentisage par Renforcement des Retours Humains). C'est le principe d'instruire une IA via questions / réponses attendues.
Des humains ont fourni des conversations dans lesquelles ils jouaient les deux rôles, l’utilisateur et le rôle du système afin d'entrainer l'IA et collecter des données. Et voyez vous, c'est exactement comme ça que nous entrainerons notre IA dans les exercices qui suivront ce cours.
Découvrons l'API d'OpenAI
Bon, passons au vif du sujet, la présentation de l'API d'OpenAI.
L'API d'OpenAI est un service qui permet aux développeurs d'intégrer des fonctionnalités d'intelligence artificielle dans leurs applications. L'une des principales fonctionnalités proposées par l'API est l'accès à GPT-3.5, un modèle de langage puissant et fortement utile. Au lieu de créer notre propre intelligence artificielle nous utiliserons donc celle d'OpenAI pour nos applications, pratique non ? D'autant plus que, vous verrez, leur API est extrêmement simple à utiliser.
Commençons d'abord par la base, les prérequis. et oui, rien n'est gratuit dans la vie, mais attendez ! L'usage de l'API d'OpenAI n'est certes pas gratuite, néanmoins elle ne coûte quasiment rien (enfin tout dépend de votre usage). L'utilisation de l'API d'OpenAI pour le modèle GPT 3.5 Turbo coûte environ $0.0015 / 1K tokens.
Mais alors qu'est-ce qu'un token ?
Un token chez OpenAI peu être un caractère, un mot ou même une ponctuation. Néanmoins, en moyenne considérons que un mot = 1 token.
Donc si on en suis notre logique, milles mots générées nous coûtes 0.0015$ ? C'est super rentable non ?
Oui et Non, tout dépend de la demande que nous ferons à l'IA et comment nous l'avons entrainée. Car comme nous l'avons vu précedemment, nous utiliserons le RLHF pour entrainer la notre, par conséquent OpenAI va prendre en compte toutes les requêtes et réponses précedemment enregistrées pour nous facturer.
Concrêtement, plus nous entrainons notre IA, plus cela nous coutera cher par requêtes et réponses.
Utiliser l'API d'OpenAI
Chers amis developpeur, je ne vous apprend rien en disant que pour utiliser une quelconque API, vous devez obtenir une clée API. Je vous invite donc a créer un compte sur OpenAI afin de récupérer votre clée API qui vous servira par la suite. Une fois votre clée en poche, rendons nous sur la documentation d'OpenAI qui nous explique comment fonctionne leur API. Lors de nos exercices, nous utiliserons principalement la fonctionnalité Chat de celle-ci: Documentation API OpenAI. Voici comment se constitue cette documentation:
Cette fonctionnalité nous permet d'assigner des rôles et de créer un échange RLHF sur le sujet de notre choix.
Il existe donc trois rôles bien distinct:
- system
- user
- assistant System correspond au contexte que nous allons donner à notre ChatBot, nous allons lui indiquer qui il est et à quoi il sert, par exemple: Tu es un developpeur python qui aide les developpeurs a corriger leurs erreurs. Cette mise en contexte permet à l'IA de savoir quel rôle elle doit jouer et les informations qu'elle doit donner. User correspond au prompt (la requête ou question) que l'utilisateur pose a l'IA afin que celle ci y réponde. Assistant correspond à la réponse attendu de l'IA Prenons en exemple pour concrétiser cela, un chatbot qui génèrerait du python System Tu es un developpeur python User Génère moi un script affichant "Hello World !" Assistant print("Hello World !") Nous utiliserons pour cela le code suivant:
Nous pouvons donc générer plusieurs requêtes de ce genre afin de créer un chat bot spécialisé en python. Lors de ce tutoriel nous avons vu ce qu'est une API, comment s'en servir et notamment celle d'OpenAI. Dans les prochains tutoriels nous verrons comment créer un traducteur de langues et nous créerons un assistant vocal virtuel sur un domaine spécifique.
Rejoindre la communauté de développeurs
Rejoins notre communauté de développeurs pour progresser et t'améliorer
Passer au chapitre suivant :
