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 . . .đ