Comment utiliser l'API de ChatGPT ? Le tutoriel complet
Comment utiliser l'API de ChatGPT ? Le tutoriel complet
L’API de ChatGPT est devenue accessible le 1er mars 2023. Elle permet d’effectuer des requĂȘtes comme on le fait depuis le site de ChatGPT mais de maniĂšre programmatique.
đĄ Vous voulez en apprendre plus sur ChatGPT ? Alors vous aimerez sĂ»rement mon guide complet comment utiliser ChatGPT en francais.
Vous pouvez aussi suivre ce tutoriel en vidéo :
Pour commencer Ă utiliser l’API ChatGPT on doit suivre les Ă©tapes suivantes :
- Obtenir une clĂ© API : pour pouvoir utiliser l’API ChatGPT, vous devez vous inscrire pour obtenir une clĂ© API (API Key)
- Choisir un langage de programmation : vous devez choisir un langage de programmation pour interagir avec l’API d’OpenAI
- Installer ce dont vous avez besoin : si vous dĂ©cidez d’utiliser un projet pour interagir avec l’API de ChatGPT
- Coder votre premiĂšre requĂȘte vers l’API de ChatGPT : voyons comment Ă©crire du code pour interagir avec l’API
- Utiliser la rĂ©ponse de ChatGPT : l’API de ChatGPT rĂ©pond quelque chose, comment allez-vous l’utiliser ?
Commençons Ă apprendre Ă utiliser l’API de ChatGPT ensemble avec ce tutoriel.
Vous cherchez des informations sur la nouvelle Assistants API d’Open AI ? Alors c’est cet article que vous devriez lire.
Qu’est-ce qu’une API ?
API veut dire Application Programming Interface ou interface de programmation d’application en français. C’est une sĂ©rie de protocoles et d;outils qu’on peut utiliser pour construire d’autres applications en communicant avec ce qu’expose l’API.
Les APIs dĂ©finissent comment on peut interagir avec, combien de requĂȘtes peuvent ĂȘtre faites, le format de la requĂȘte et des rĂ©ponses et bien plus.
Les dĂ©veloppeurs peuvent se “brancher” sur une API pour interagir avec une autre application sans comprendre exactement comment l’application fonctionne sous le capot. Il faudra juste connaĂźtre les diffĂ©rents “end-points” de l’API, ce sur quoi on peut se connecter comme des URLs.
Avec ChatGPT, ça veut donc dire qu’on peut se brancher Ă un point d’accĂšs qui donne plus ou moins de fonctionnalitĂ©s que le site de ChatGPT. On peut donc crĂ©er des applications complĂštes ou ajouter des fonctionnalitĂ©s Ă une application dĂ©jĂ existante grĂące Ă cette API comme on utiliserait un service cloud.
Combien coĂ»te l’API de ChatGPT ?
Le coĂ»t d’utilisation de l’API de ChatGPT est d’environ un centime de dollars amĂ©ricains (USD) pour 5000 tokens. OpenAI offre 5 dollars de crĂ©dits gratuits pendant 30 jours quand vous ouvrez un nouveau compte. C’est plus qu’assez pour faire toutes les requĂȘtes que vous voulez pendant un mois.
Ensuite, il faudra rentrer ses informations bancaires dans l’onglet “Billing” du site d’OpenAI.
Comment avoir sa clĂ© d’API ChatGPT ?
Pour obtenir votre clĂ© d’API (API Key) OpenAI et acceder Ă l’API de ChatGPT, rendez-vous sur le site officiel d’OpenAI.
Une fois connectĂ©, rendez-vous dans l’onglet “View API Keys”.
Une fois sur la page API keys, appuyez sur le bouton “Create new secret key” et vous obtiendrez votre clĂ© d’API ! đ
C’est cette clĂ© qui vous permettra d’interagir avec l’API de ChatGPT et les autres API d’OpenAI dans vos diffĂ©rents projets.
⚠️ Ne publiez pas votre clĂ©, conservez lĂ de maniĂšre sĂ©curisĂ©e comment en la mettant en variable d’environnement. Une clĂ© API donne accĂšs Ă votre compte OpenAI, quelqu’un de mal intentionnĂ© pourrait utiliser cette clĂ© et c’est vous qui payerez les coĂ»ts d’utilisation.
Quel langage de programmation pour l’API ChatGPT ?
Les points d’accĂšs de l’API de ChatGPT ne nĂ©cessitent pas l’utilisation d’un langage de programmation en particulier.
Vous pouvez faire vos requĂȘtes avec cURL ou dans n’importe quel langage de programmation.
PrĂ©requis pour interagir avec l’API ChatGPT
Bien qu’on n’ait pas besoin d’installer quoi que ce soit pour interagir avec les endpoints de ChatGPT, OpenAI propose deux bibliothĂšques officielles en Python et en JavaScript.
Vous pouvez installer openai
pour Python avec la commande pip :
pip install openai
Et pour node.js, une librairie existe Ă©galement et on peut l’installer avec npm :
npm install openai
Coder une requĂȘte vers l’API ChatGPT
Pour coder une requĂȘte vers l’API ChatGPT, il vous faudra :
VOTRE_CLE_API_OPENAI
qui est la clef API récupérée plus tÎt dans ce tutoriel.VOTRE_REQUETE_CHATGPT
qui est le prompt que vous Ă©cririez normalement sur le site de l’outil ChatGPT.
đĄ Vous souhaitez poser de meilleures questions Ă ChatGPT ? Alors dĂ©couvrez mon article 11+ des meilleurs prompts ChatGPT.
Exemple en de code pour interagir avec l’API Chat GPT avec curl
:
curl https://api.openai.com/v1/chat/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer VOTRE_CLE_API_OPENAI' \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "VOTRE_REQUETE_CHATGPT"}]
}'
Exemple en de code pour interagir avec l’API Chat GPT en Python :
import os
import openai
openai.api_key = "VOTRE_CLE_API_OPENAI"
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "VOTRE_REQUETE_CHATGPT"}
]
)
print(completion.choices[0].message)
đĄ Vous voulez en apprendre plus sur la fonction print en Python ? Alors mon article complet sur la fonction print vous intĂ©ressera sĂ»rement !
Exemple en de code pour interagir avec l’API Chat GPT en JavaScript :
const { Configuration, OpenAIApi } = require("openai")
const configuration = new Configuration({
apiKey: VOTRE_CLE_API_OPENAI, // Idéalement, vous aurez mis votre clé api dans l'env
})
const openai = new OpenAIApi(configuration)
const completion = await openai.createChatCompletion({
model: "gpt-3.5-turbo",
messages: [{ role: "user", content: "VOTRE_REQUETE_CHATGPT" }],
})
console.log(completion.data.choices[0].message)
ChatGPT fonctionne avec le modĂšle GPT-3.5. C’est pour ça qu’on fournit le modĂšle "gpt-3.5-turbo"
dans nos diffĂ©rentes requĂȘtes.
Les modĂšles gpt-4
et gpt-4-32k
sont accessibles en s’inscrivant Ă une liste d’attente sur le site d’OpenAI. Si vous voulez en apprendre plus, j’ai Ă©crit un guide complet sur GPT-4.
️ ⚠️ Si vous obtenez une rĂ©ponse disant que vous avez atteint le maximum de votre usage avec l’API, vous pouvez vous crĂ©er un nouveau compte pour profiter de crĂ©dit gratuit. Vous pouvez Ă©galement decider de lier une carte de crĂ©dit, l’API d’OpenAI ne coĂ»te vraiment pas grand chose.
Utiliser la rĂ©ponse de l’API ChatGPT
Si votre requĂȘte s’est bien passĂ©e, vous obtiendrez une rĂ©ponse de l’API ChatGPT similaire Ă une rĂ©ponse que vous obtenez quand vous utilisez le site web de ChatGPT.
Avec curl
, vous verrez la réponse dans choices.message.content
:
{
...
"choices": [{
...
"message": {
...
"content": "LA_REPONSE_A_VOTRE_REQUETE",
},
...
}],
...
}
En Python, vous pouvez y accéder avec :
completion.choices[0].message.content
Et en JavaScript, c’est lĂ que vous trouverez votre rĂ©ponse :
completion.data.choices[0].message.content
Comment garder l’historique de la conversation avec ChatGPT quand on utilise l’API ?
Comme on l’a vu, l’API de ChatGPT n’est qu’un seul point d’accĂšs. Contrairement au site de ChatGPT qui garde vos prompts en mĂ©moire pour avoir une vraie conversation avec l’IA, l’API ne gardera pas en mĂ©moire vos requĂȘtes prĂ©cĂ©dentes.
C’est donc Ă nous de gĂ©rer le contexte de la conversation en utilisant un rĂŽle different dans nos requĂȘtes : celui d’assistant.
Les plus attentifs d’entre vous auront remarquĂ©e qu’en plus du contenu (content
), on passe un role
dans le message de nos requĂȘtes :
messages=[
{"role": "user", "content": "Le prompt qu'on envoie Ă l'API de ChatGPT"}
]
Le contenu de ce role peut ĂȘtre :
user
pour vos prompts que vous envoyez Ă l’API de ChatGPT avec les instructions Ă fournir Ă l’assistant. Ces messages peuvent ĂȘtre gĂ©nĂ©rĂ©s par un utilisateur ou bien en dur par un dĂ©veloppeur dans une applicationassistant
est l’intelligence artificielle, c’est le role qu’ont les messages de vos rĂ©ponses. Ce sera important de fournir ces messages venant de ChatGPT si vous souhaitez avoir une conversation.system
permet de dĂ©finir le comportement de l’assistant. C’est une fonction peu utilisĂ©e par le modĂšle actuel (gpt-3.5-turbo-0301
) mais qui sera de plus en plus importante avec les prochaines version du modĂšle de l’IA.
On aura souvent une structure qui commence par dĂ©finir le comportement de l’IA et puis une conversation entre l’utilisateur et l’IA.
- Message
system
- Message
user
- Message
assistant
- Message
user
- Message
assistant
- …
Comme c’est Ă nous de gĂ©rer l’historique de la conversation avec ChatGPT, on va crĂ©er un tableau ou une liste et conserver chaque message dedans.
Voyons un exemple complet en Python :
import os
import openai
openai.api_key = os.getenv("...")
# On déclare une liste pour conserver l'historique de tous nos messages avec ChatGPT
messages = []
# optionnel, permet de définir le comportement que l'assistant doit adopter
messages.append({"role": "system", "content": "Tu es un développeur Python"})
# Une question classique qu'on pourrait poser Ă ChatGPT
messages.append({"role": "user", "content": "Explique moi comment faire une opération ternaire en Python"})
# Je crĂ©e ma requĂȘte en choisissant le modĂšle et en envoyant mes messages
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages
)
# La réponse fournie par ChatGPT
response_chatgpt = completion.choices[0].message.content
print(response_chatgpt)
ChatGPT nous explique que La construction conditionnelle if-else n’existe pas en Python et qu’elle est diffĂ©rente des autres langages.
đĄ D’ailleurs si vous souhaitez en apprendre plus sur les expressions ternaires en Python, j’ai Ă©crit un article pour apprendre comment utiliser if else sur une ligne en python.
Continuons notre conversation en ajoutant la rĂ©ponse de l’API Ă notre liste de messages :
# On inclut la réponse dans l'historique des messages
messages.append({"role": "assistant", "content": response_chatgpt})
# Je pose une nouvelle question
messages.append({"role": "user", "content": "La construction conditionnelle if-else n'existe donc pas ?"})
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages
)
response_chatgpt = completion.choices[0].message.content
print(response_chatgpt)
En posant ma deuxiĂšme question “La construction conditionnelle if-else n’existe donc pas ?”, ChatGPT comprend que je parle des conditions ternaires en Python et pas juste des conditions if-else en gĂ©nĂ©ral.
J’aurais eu une rĂ©ponse Ă cette question totalement diffĂ©rente si je l’avais posĂ©e sans fournir l’historique des messages en contexte Ă l’API de ChatGPT.
Quelle est la limite de taille d’une requĂȘte avec l’API de ChatGPT ?
On a vu que l’API de ChatGPT coĂ»tait 1 centime pour environ 5000 tokens. Vous pouvez voir dans l’objet de rĂ©ponse que vous obtenez de l’API que vous avez un "usage
” qui vous donne le nombre total de tokens "total_tokens"
utilisĂ©s dans l’appel API.
{
...
"usage": {
"completion_tokens": ...,
"prompt_tokens": ...,
"total_tokens": ...,
}
}
Plus le tableau ou la liste contenant l’historique de vos messages sera long, plus ce nombre total de tokens va grandir et il faut savoir que ce nombre ne peut pas dĂ©passer 4096.
Si vous avez une longue conversation avec l’API de ChatGPT, c’est peut-ĂȘtre une bonne idĂ©e de rĂ©sumer vos messages.
Vous pouvez faire ça en le demandant Ă l’API de ChatGPT elle-mĂȘme ! đŠŸ
Aller plus loin avec l’API de ChatGPT !
Et voilĂ , c’est tout ce dont vous avez besoin de savoir pour interagir avec le point d’accĂšs de l’API de ChatGPT.
Maintenant que vous savez comment l’utiliser, c’est Ă vous de crĂ©er des scripts pour automatiser certaines taches ou carrĂ©ment crĂ©er une application comme un SaaS qui utilise la puissance de ChatGPT.
Le ciel est la limite ici, tout reste Ă ĂȘtre inventĂ© au niveau des produits et services qui utilisent l’intelligence artificielle !
Certains liens dans cet article sont affiliés, sans coût supplémentaire pour vous en cas de clic. Merci pour votre soutien !
D’ailleurs si vous voulez en apprendre plus sur les APIs d’OpenAI, je vous recommande l’excellent cours en anglais “Mastering OpenAI Python APIs: Unleash the Power of GPT4” sur Udemy !
Commentaires
Enregistrer un commentaire
đ Hello,
N'hĂ©sitez pas Ă commenter ou vous exprimer si vous avez des trucs Ă dire . . .đ