Comment utiliser l’API ChatGPT



Points Essentiels à Retenir

  • OpenAI a lancé l’API ChatGPT, permettant aux développeurs d’intégrer les capacités de ChatGPT directement dans leurs applications.
  • Pour commencer, vous aurez besoin d’une clé API OpenAI ainsi que d’un environnement de développement configuré avec les bibliothèques nécessaires.
  • L’API ChatGPT offre des fonctionnalités pour les tâches de complétion de conversation et de texte, ouvrant un large éventail de possibilités pour diverses applications.

Avec la publication de son API, OpenAI rend les puissantes fonctionnalités de ChatGPT accessibles à tous. Il est désormais possible d’intégrer facilement ChatGPT dans vos projets applicatifs.

Suivez ces étapes pour démarrer, que vous envisagiez d’incorporer ChatGPT dans une application existante ou de développer de nouvelles solutions innovantes.

1. Acquisition d’une Clé API OpenAI

L’utilisation de l’API ChatGPT nécessite l’obtention d’une clé API.

  • Inscrivez-vous ou connectez-vous sur la plateforme officielle OpenAI.
  • Une fois connecté, localisez et cliquez sur l’onglet « Clés API » dans le menu latéral.
  • Ensuite, cliquez sur le bouton « Créer une nouvelle clé secrète » pour générer votre clé API.
  • La clé API ne sera visible qu’une seule fois, veillez donc à la copier et à la sauvegarder dans un endroit sûr.
  • Le code source de ce projet est disponible dans un
    Dépôt GitHub
    et est mis à disposition gratuitement sous licence MIT.

    2. Configuration de l’Environnement de Développement

    Vous pouvez interagir directement avec le point de terminaison de l’API ou utiliser les bibliothèques Python/JavaScript d’OpenAI pour développer vos applications basées sur l’API ChatGPT. Ce guide se concentre sur Python et la bibliothèque openai-python.

    Pour commencer:

  • Créez un environnement virtuel Python.
  • Installez les bibliothèques « openai » et « python-dotenv » via pip :
    pip install openai python-dotenv 
  • Créez un fichier « .env » à la racine de votre projet pour stocker votre clé API de manière sécurisée.
  • Définissez ensuite la variable « OPENAI_API_KEY » dans ce même fichier, en y insérant la valeur de votre clé API précédemment copiée :
    OPENAI_API_KEY="VOTRE_CLE_API" 
  • Assurez-vous de ne pas divulguer accidentellement votre clé API via le contrôle de version.
    Créez un fichier « .gitignore »
    à la racine de votre projet, et ajoutez-y « .env » pour ignorer ce fichier lors de l’envoi de votre code.

    3. Effectuer des Requêtes à l’API ChatGPT

    Les modèles GPT-3.5 Turbo, GPT-4 et GPT-4 Turbo disponibles via l’API OpenAI sont identiques à ceux utilisés par ChatGPT. Ces modèles performants excellent dans la compréhension et la génération de textes et de code en langage naturel. Le GPT-4 Turbo peut même traiter les images en entrée, ce qui ouvre la voie à de nombreuses applications telles que l’analyse d’images, l’analyse de documents comportant des figures, et la transcription de texte à partir d’images.

    Il est important de noter que l’expression « API ChatGPT » englobe les APIs d’OpenAI qui utilisent les modèles basés sur GPT, notamment les modèles gpt-3.5-turbo, gpt-4, et gpt-4-turbo.

    Bien que l’API ChatGPT soit principalement optimisée pour le dialogue, elle fonctionne également très bien pour les tâches de complétion de texte. Que vous ayez besoin de générer du code, de traduire des langues ou de rédiger des documents, cette API s’adapte à vos besoins.

    Pour accéder à l’API GPT-4, vous devez avoir effectué un paiement de 1 $ ou plus. Sans cela, vous pourriez obtenir une erreur indiquant que le modèle « gpt-4 » n’est pas accessible ou n’existe pas.

    Utilisation de l’API pour la Complétion de Conversation

    Vous devez configurer le modèle de conversation afin de préparer l’appel à l’API. Voici un exemple concret :

    from openai import OpenAI
    from dotenv import load_dotenv

    load_dotenv()
    client = OpenAI()

    response = client.chat.completions.create(
      model = "gpt-3.5-turbo-0125",
      temperature = 0.8,
      max_tokens = 3000,
      response_format={ "type": "json_object" },
      messages = [
        {"role": "system", "content": "Tu es un comédien humoristique qui raconte des blagues de papa. La sortie doit être au format JSON."},
        {"role": "user", "content": "Écris une blague de papa sur les nombres."},
        {"role": "assistant", "content": "Q: Comment rendre 7 pair ? A: Retire le s."},
        {"role": "user", "content": "Écris-en une sur les programmeurs."}
      ]
    )

    L’API ChatGPT renvoie une réponse avec le format suivant :

    Vous pouvez extraire le contenu de la réponse, sous forme d’une chaîne JSON, grâce à ce code :

    print(response.choices[0].message.content) 

    L’exécution de ce code génère le résultat suivant :

    Ce code illustre comment effectuer un appel à l’API ChatGPT en utilisant Python. Notez que le modèle a compris le contexte (« blague de papa ») et le type de réponse (forme de questions-réponses) que nous attendions, grâce aux instructions qui lui ont été données.

    La partie la plus importante de la configuration est le paramètre « messages », qui accepte un tableau d’objets « message ». Chaque objet « message » contient un « rôle » et un « contenu ». Vous pouvez utiliser trois types de rôles :

    • « système » qui définit le contexte et le comportement de l’assistant.
    • « utilisateur » qui donne des instructions à l’assistant. L’utilisateur final le fournira généralement, mais vous pouvez également pré-définir certaines requêtes utilisateur par défaut.
    • « assistant » qui peut inclure des exemples de réponses.

    Vous pouvez personnaliser davantage les paramètres « température » et « max_tokens » du modèle afin d’obtenir un résultat qui réponde précisément à vos besoins.

    Plus la température est élevée, plus la sortie sera aléatoire, et inversement. Si vous souhaitez que vos réponses soient plus ciblées et déterministes, optez pour une valeur de température plus basse. Si vous voulez des réponses plus créatives, optez pour une valeur plus élevée. La température est une valeur comprise entre 0 et 2.

    Comme ChatGPT, l’API a également une limite de mots. Vous pouvez limiter la longueur des réponses en utilisant le paramètre « max_tokens ». Soyez conscient que si vous définissez une valeur de « max_tokens » trop basse, cela peut entrainer des problèmes car la réponse pourrait être coupée en cours de route.

    Au moment de la rédaction de cet article, le modèle gpt-3.5-turbo a une limite de 4 096 jetons, tandis que le gpt-4 possède une limite de 8 192 jetons. Les modèles plus récents, gpt-3.5-turbo-0125 et gpt-4-turbo-preview, ont respectivement des limites de 16 385 et 128 000 jetons.

    Suite à de nombreuses demandes des développeurs, OpenAI a introduit le mode JSON, qui demande au modèle de toujours renvoyer un objet JSON. Vous pouvez activer le mode JSON en configurant le paramètre « response_format » sur { « type »: « json_object » }. Actuellement, cette fonctionnalité est uniquement disponible sur les modèles les plus récents : gpt-3.5-turbo-0125 et gpt-4-turbo-preview.

    Vous pouvez personnaliser davantage le modèle en utilisant les autres paramètres mis à disposition par OpenAI.

    Utilisation de l’API ChatGPT pour la Complétion de Texte

    En plus des tâches de conversation à plusieurs tours, l’API Chat Completions (API ChatGPT) est également très efficace pour la complétion de texte. L’exemple qui suit montre comment configurer l’API ChatGPT pour la complétion de texte :


    from openai import OpenAI
    from dotenv import load_dotenv

    load_dotenv()
    client = OpenAI()

    response = client.chat.completions.create(
      model = "gpt-3.5-turbo",
      temperature = 0.8,
      max_tokens = 3000,
      messages = [
        {"role": "system", "content": "Tu es un poète qui crée des poèmes qui évoquent des émotions."},
        {"role": "user", "content": "Écris un court poème pour les programmeurs."}
      ]
    )

    print(response.choices[0].message.content)

    Vous n’avez même pas besoin de spécifier le rôle système et son contenu. Le fait de fournir uniquement la requête de l’utilisateur suffit à obtenir un résultat.

    messages = [
      {"role": "user", "content": "Écris un court poème pour les programmeurs."}
    ]

    L’exécution du code ci-dessus génèrera un poème pour les programmeurs, par exemple :

    Tarifs de l’API ChatGPT

    La tarification de l’API ChatGPT est basée sur un modèle de « prix par 1000 jetons ». Pour les requêtes de complétion de conversation, le coût est calculé en fonction du nombre de jetons en entrée, auquel s’ajoute le nombre de jetons de sortie retournés par l’API. En termes simples, les jetons sont équivalents à des fragments de mots, où 1000 jetons équivalent approximativement à 750 mots.

    Modèle

    Entrée

    Sortie

    gpt-4-0125-aperçu

    0,01 $ / 1 000 jetons

    0,03 $ / 1 000 jetons

    gpt-4-1106-aperçu

    0,01 $ / 1 000 jetons

    0,03 $ / 1 000 jetons

    gpt-4-1106-vision-aperçu

    0,01 $ / 1 000 jetons

    0,03 $ / 1 000 jetons

    gpt-4

    0,03 $ / 1 000 jetons

    0,06 $ / 1 000 jetons

    gpt-4-32k

    0,06 $ / 1 000 jetons

    0,12 $ / 1 000 jetons

    gpt-3.5-turbo-0125

    0,0005 $ / 1 000 jetons

    0,0015 $ / 1 000 jetons

    gpt-3.5-turbo-instruct

    0,0015 $ / 1 000 jetons

    0,0020 $ / 1 000 jetons

    Il est important de noter que les tarifs peuvent évoluer au fil du temps en raison d’améliorations apportées aux modèles.

    Créez des Applications de Nouvelle Génération Grâce à l’API ChatGPT

    L’API ChatGPT a ouvert une voie nouvelle pour les développeurs du monde entier en leur permettant de concevoir des produits innovants basés sur la puissance de l’IA.

    Vous pouvez exploiter cet outil pour créer une grande variété d’applications, comme des générateurs d’histoires, des traducteurs de code, des outils de création de contenu marketing, ou encore des résumeurs de textes. Votre seule limite est votre imagination pour créer des applications qui exploitent le potentiel de cette technologie.