0%
Premiers Pas avec l'API ChatGPT : Envoi de Requêtes et Gestion des Réponses

2. Premiers Pas

Envoi de requêtes et gestion des réponses

10-15 min

Premiers Pas avec l’API ChatGPT : Envoi de Requêtes et Gestion des Réponses

Introduction

Dans ce module, nous allons explorer comment envoyer des requêtes à l’API ChatGPT et gérer les réponses. Nous verrons également comment personnaliser le comportement du modèle pour répondre à vos besoins spécifiques.

Envoi de Requêtes Simples

Structure de Base d’une Requête

Une requête à l’API ChatGPT se compose généralement des éléments suivants :

  • model : Le modèle à utiliser (par exemple, “gpt-3.5-turbo”)
  • messages : Un tableau de messages qui forment la conversation
  • temperature : Un paramètre qui contrôle la créativité des réponses (entre 0 et 1)
  • max_tokens : Le nombre maximum de tokens à générer

Exemple de Code

Voici un exemple de code pour envoyer une requête simple :

import OpenAI from 'openai';
import dotenv from 'dotenv';

dotenv.config();

const openai = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY
});

async function sendRequest(message) {
  try {
    const completion = await openai.chat.completions.create({
      model: "gpt-3.5-turbo",
      messages: [
        { role: "system", content: "Vous êtes un assistant utile." },
        { role: "user", content: message }
      ],
      temperature: 0.7,
      max_tokens: 150
    });

    return completion.choices[0].message.content;
  } catch (error) {
    console.error("Erreur lors de l'appel à l'API:", error);
    throw error;
  }
}

Gestion des Réponses

Extraction de la Réponse

La réponse de l’API est contenue dans l’objet completion.choices[0].message.content. Vous pouvez extraire cette valeur pour l’utiliser dans votre application.

Gestion des Erreurs

Il est important de gérer les erreurs potentielles lors de l’appel à l’API. Voici quelques erreurs courantes et comment les gérer :

  • Erreurs de réseau : Vérifiez votre connexion Internet
  • Erreurs d’authentification : Vérifiez votre clé API
  • Erreurs de quota : Vérifiez votre limite de quota

Personnalisation du Comportement

Utilisation du Rôle “system”

Le rôle “system” permet de définir le comportement général du modèle. Par exemple :

messages: [
  { role: "system", content: "Vous êtes un expert en programmation. Répondez de manière concise et technique." },
  { role: "user", content: "Comment fonctionne une boucle for en JavaScript ?" }
]

Ajustement de la Température

La température contrôle la créativité des réponses :

  • 0.0 : Réponses très déterministes et cohérentes
  • 0.7 : Un bon équilibre entre créativité et cohérence
  • 1.0 : Réponses très créatives mais potentiellement moins cohérentes

Exemple Pratique : Création d’un Assistant de Programmation

Voici un exemple complet d’un assistant de programmation utilisant l’API ChatGPT :

import OpenAI from 'openai';
import dotenv from 'dotenv';

dotenv.config();

const openai = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY
});

class ProgrammingAssistant {
  constructor() {
    this.conversationHistory = [];
  }

  async askQuestion(question) {
    this.conversationHistory.push({ role: "user", content: question });

    try {
      const completion = await openai.chat.completions.create({
        model: "gpt-3.5-turbo",
        messages: [
          { role: "system", content: "Vous êtes un expert en programmation. Répondez de manière concise et technique." },
          ...this.conversationHistory
        ],
        temperature: 0.7,
        max_tokens: 150
      });

      const answer = completion.choices[0].message.content;
      this.conversationHistory.push({ role: "assistant", content: answer });

      return answer;
    } catch (error) {
      console.error("Erreur lors de l'appel à l'API:", error);
      throw error;
    }
  }
}

// Utilisation
const assistant = new ProgrammingAssistant();
assistant.askQuestion("Comment fonctionne une boucle for en JavaScript ?")
  .then(answer => console.log(answer))
  .catch(error => console.error(error));

Prochaines Étapes

Dans le prochain module, nous aborderons :

  • La création d’une interface utilisateur pour interagir avec l’API
  • La gestion de l’état de la conversation
  • L’affichage des messages dans une interface chat

Ressources Supplémentaires

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !