Comment utiliser l'API de ChatGPT ? Le tutoriel complet

Comment utiliser l'API de ChatGPT ? Le tutoriel complet


Comment utiliser l'API de ChatGPT ? Le tutoriel complet

Article publiĂ© le vendredi 10 mars 2023 et mis Ă  jour le samedi 20 janvier 2024.

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 :

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

View API Keys site OpenAI

Une fois sur la page API keys, appuyez sur le bouton “Create new secret key” et vous obtiendrez votre clĂ© d’API ! 🗝

Create new secret key site OpenAI

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 :

💡 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 application
  • assistant 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

Posts les plus consultés de ce blog

TOP outils de rĂ©fĂ©rencement gratuits qui valent la peine d'ĂȘtre utilisĂ©s en 2023

Les outils de rĂ©fĂ©rencement gratuits qui valent vraiment la peine d'ĂȘtre utilisĂ©s

Changement de domaine en 2023 : tout ce que vous devez savoir

Chatbot Dialogflow : Tutoriel NoCode NLP pour les spĂ©cialistes du marketing | Landbot

Revenu passif : idées pour gagner de l'argent (en dormant)

Meilleurs outils de rĂ©fĂ©rencement 🛠 organisĂ©e par Saijo George

La toolbox du growth hacker 💎 - Outils - Growthhacking.fr | CommunautĂ© française de growth hacking

Comment signer avec une maison de disques ? Voici notre guide ultime pour 2024

100 outils pour lancer sa startup sans argent (mais pas sans talent)