L’API ChatGPT offre la possibilité d’accéder à la puissance de ce moteur d’intelligence artificielle via une application que vous pouvez développer en JavaScript, Python ou tout autre langage de programmation. Si vous souhaitez en savoir plus en détail sur le fonctionnement de l’API ChatGPT, nous vous recommandons de consulter notre autre article dédié à ce sujet. Dans cet article, nous allons mettre en pratique les bases de son utilisation.
Obtenir une clé d’accès OpenAI
La première étape consiste à obtenir une clé d’accès secrète à l’API. Il va de soi que cette clé ne doit jamais être partagée avec qui que ce soit. Voici comment procéder :
- Connectez-vous à votre compte ChatGPT en utilisant votre adresse e-mail et votre mot de passe habituels.
- Une fois sur la plateforme, vous verrez la mention “Personal” à côté de votre avatar, en haut à droite de l’écran.
- Ouvrez ce menu et cliquez sur “View API Keys”.
- Dans l’écran qui s’affiche, repérez le bouton “Create new secret key” et cliquez dessus. Vous pouvez attribuer un nom à votre clé secrète, puis cliquez à nouveau sur “Create new secret key”.
- OpenAI va générer une clé secrète. Assurez-vous de la copier et de la stocker dans un endroit sûr. Une fois générée, vous ne pourrez plus y avoir accès.
Maîtriser certains paramètres
Avant de pouvoir pleinement profiter de l’API ChatGPT, il est important de comprendre et de prendre en compte certains paramètres.
Quel modèle/assistant utiliser ?
ChatGPT peut fonctionner avec différents modèles d’intelligence artificielle :
- En mai 2020, OpenAI a publié le modèle GPT-3.
- Lors du lancement de ChatGPT fin novembre 2022, il s’appuyait (et s’appuie toujours par défaut) sur le modèle GPT-3.5.
- En mars 2023, OpenAI a dévoilé le modèle GPT-4.
Chaque modèle est plus puissant que le précédent.
Dans les exemples suivants, nous utiliserons le modèle “GPT-3.5 turbo”, qui est la version de base gratuite de ChatGPT. Il est possible d’affiner ce modèle en choisissant des options telles que “davinci”, “curie”, “ada”… Cependant, nous n’aborderons pas ces options dans cet article.
Système, utilisateur et assistant
Lorsque nous utilisons l’API de ChatGPT, nous envoyons une série de messages pour interagir avec le modèle. Chaque message comprend deux éléments principaux : un “rôle” et un “contenu”.
Le “rôle” indique qui parle dans la conversation et peut être de trois types :
- “système” : définit le comportement attendu.
- “utilisateur” : indique l’instruction de l’utilisateur.
- “assistant” : facultatif. Il peut être utilisé pour fournir un contexte supplémentaire dans une conversation à plusieurs échanges ou pour fournir une réponse prédéfinie. Dans les exemples qui suivent, nous n’utiliserons pas ce rôle.
Un exemple très simple de code avec appel à l’API ChatGPT
Dans cet exemple, nous utiliserons l’interface Colab de Google pour créer un programme très simple qui fait appel à l’API de OpenAI. Ce programme affichera le nom du groupe de musique qui a eu le plus grand succès au cours de la première décennie du siècle. Voici le code :
!pip install openai
import openai
openai.api_key = "VOTRE CLÉ SECRÈTE"
reponse = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "Tu es un super assistant."},
{"role": "user", "content": "Quel groupe a battu les records d'audience de 2000 à 2010 ?"}
]
)
print(reponse["choices"][0]["message"]["content"])
Lorsque vous exécutez ce code, vous obtiendrez la réponse suivante : le groupe qui a battu les records d’audience au cours de cette période est U2. Ils ont réalisé les tournées les plus lucratives de cette décennie avec “Vertigo Tour” en 2005-2006 et “U2 360° Tour” en 2009-2011.
Le code expliqué
Examinons chaque ligne de ce code.
- Nous installons d’abord la bibliothèque OpenAI dans Colab.
- La bibliothèque OpenAI est ensuite importée dans le notebook Colab.
- Nous spécifions notre clé secrète (si vous créez d’autres programmes pendant la même session Colab, il ne sera pas nécessaire de répéter ces trois lignes).
- Nous créons une variable “reponse” qui fait appel à l’API de ChatGPT via la commande “openai.ChatCompletion.create”.
- Nous spécifions le modèle utilisé, c’est-à-dire “gpt-3.5-turbo”, comme indiqué précédemment.
- Nous transmettons des messages à l’API de ChatGPT.
- Pour le rôle “système”, nous demandons à l’assistant (le chatbot) de se comporter comme un “super assistant”.
- Dans le rôle “utilisateur”, nous posons la question, exactement comme si nous la posions directement à ChatGPT.
- L’instruction “print” affiche la réponse à la question.
Note : Si Colab ne reconnaît pas Markdown, ajoutez simplement cette ligne après la ligne 1 : from IPython.display import display, Markdown
Si vous rencontrez une erreur de quota
Si vous exécutez ce code et que vous obtenez un message indiquant que votre quota est épuisé, cela signifie que votre quota d’utilisation gratuite de l’API OpenAI n’est plus disponible. Dans ce cas, vous pouvez souscrire à un abonnement de base à 5 dollars qui ne vous sera facturé qu’en fonction de votre utilisation. Vous pouvez gérer votre abonnement et les détails de paiement sur cette page : https://platform.openai.com/account/billing/overview
Si vous souhaitez éviter de dépenser plus qu’un certain montant par mois pour l’utilisation de l’API, vous pouvez cliquer sur “Usage Limits” et définir une limite “Hard Limit” afin de ne pas dépasser ce montant.
Deux autres paramètres à prendre en compte
Lorsque vous écrivez vos applications, il peut être utile de considérer deux autres paramètres : la température et max_tokens.
1. Température
La température est un paramètre couramment utilisé dans les chatbots, et vous pouvez notamment en tester l’effet dans l’interface Playground d’OpenAI (qui était utilisée avant ChatGPT). Voici ce que vous devez savoir :
- Plus la température est élevée (proche de 2), plus la réponse sera imprévisible et créative.
- Plus la température est basse (proche de 0), plus la réponse devrait être prévisible et peu aléatoire.
Vous pouvez tester l’effet de la température dans le programme suivant.
2. Max_tokens
Dans les chatbots, l’unité de mesure est le “token”. Pour simplifier, un token est plus ou moins équivalent à un mot. Comme l’API de ChatGPT d’OpenAI facture le coût d’utilisation en fonction du nombre de tokens utilisés, vous pouvez limiter vos dépenses en réduisant le nombre de tokens générés à l’aide du paramètre max_tokens.
Un exemple de code : un générateur de blagues geek
Voici un exemple de code qui utilise ces deux paramètres. Nous pourrions l’appeler “Générateur de blagues geek”.
!pip install openai
from IPython.display import display, Markdown
import openai
openai.api_key = "VOTRE CLE SECRETE OPENAI"
blague = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
temperature=1.6,
max_tokens=2000,
messages=[
{"role": "system", "content": "Tu es un humoriste qui raconte des blagues très drôles"},
{"role": "user", "content": "Ecris une blague à propos des geeks"}
]
)
display(Markdown(f"{blague['choices'][0]['message']['content']}"))
Chaque fois que vous exécutez ce code, vous obtenez une nouvelle blague. Nous vous encourageons à modifier le paramètre de température. Si la valeur est inférieure à 1, les blagues seront assez banales, mais si elle se rapproche de 2 comme dans cet exemple, vous constaterez que ChatGPT fait preuve de plus d’imagination.
N’hésitez pas à demander conseil à ChatGPT
Si vous avez besoin de conseils sur du code comme celui présenté ici, n’hésitez pas à les soumettre à ChatGPT. Après tout, il est spécialiste de lui-même et du langage Python. Vous pouvez également lui demander de vous suggérer d’autres exemples de codes simples utilisant l’API d’OpenAI.