Chapitre 11: Envoi de Requêtes Simples

11.1 Introduction

L'API Chat GPT d'OpenAI permet d'interagir avec des modèles de traitement du langage naturel pour générer du texte, répondre à des questions, et bien plus encore. Ce chapitre vous guidera à travers l'envoi de requêtes simples à l'API, en utilisant des exemples en JavaScript (Node.js).

11.2 Pré-requis

Avant de commencer, assurez-vous que :

  • Votre environnement de développement est configuré (voir chapitre 10).
  • Vous avez une clé API valide et configurée dans votre projet.

11.3 Structure des Requêtes à l'API

Pour envoyer des requêtes à l'API, vous devez comprendre la structure de base d'une requête et les paramètres clés utilisés. Voici les principaux éléments d'une requête de complétion de texte :

  • model : Le modèle GPT spécifique que vous souhaitez utiliser (par exemple, "text-davinci-003").
  • prompt : Le texte d'entrée sur lequel le modèle doit générer une réponse.
  • max_tokens : Le nombre maximal de tokens à générer dans la réponse.
  • temperature : Un paramètre de contrôle de la diversité des réponses. Une valeur plus élevée (jusqu'à 1) rend les réponses plus variées.
  • top_p : Utilisé pour la sélection nucleus, un autre paramètre de contrôle de la diversité.
  • n : Le nombre de réponses à générer.
  • stop : Une séquence de caractères qui arrête la génération de texte.

11.4 Exemple de Requêtes Simples

11.4.1 Configuration de Base

Assurez-vous que vous avez un fichier index.js avec la configuration de base de l'API OpenAI. Voici un rappel de la configuration de base :

// Charger les variables d'environnement
require('dotenv').config();

const { Configuration, OpenAIApi } = require("openai");

// Configuration de l'API avec la clé API
const configuration = new Configuration({
  apiKey: process.env.OPENAI_API_KEY,
});

const openai = new OpenAIApi(configuration);

11.4.2 Envoi d'une Requête de Complétion de Texte

Ajoutez la fonction suivante dans votre fichier index.js pour envoyer une requête de complétion de texte :

async function generateText(messages) {
  try {
    const response = await openai.createChatCompletion({
      model: "gpt-4",
      messages: messages,
      max_tokens: 100,
      temperature: 0.7,
    });
    console.log("Texte généré :", response.data.choices[0].message.content.trim());
  } catch (error) {
    console.error("Erreur lors de la génération de texte :", error);
  }
}

// Exemple d'utilisation
generateText([{ role: "user", content: "Écrivez un poème sur les étoiles." }]);

11.5 Paramètres de Requête

Vous pouvez ajuster les paramètres de la requête pour obtenir des résultats différents. Voici quelques exemples de modifications :

11.5.1 Changer le Modèle

Pour utiliser un autre modèle GPT, modifiez le paramètre model :

const response = await openai.createChatCompletion({
  model: "gpt-3.5-turbo", // Utilisation d'un autre modèle
  messages: messages,
  max_tokens: 100,
  temperature: 0.7,
});

11.5.2 Ajuster le Nombre de Tokens

Pour générer un texte plus long ou plus court, ajustez le paramètre max_tokens :

const response = await openai.createChatCompletion({
  model: "gpt-4",
  messages: messages,
  max_tokens: 200, // Générer un texte plus long
  temperature: 0.7,
});

11.5.3 Modifier la Température

Pour rendre les réponses plus créatives ou plus cohérentes, ajustez le paramètre temperature :

const response = await openai.createChatCompletion({
  model: "gpt-4",
  messages: messages,
  max_tokens: 100,
  temperature: 1.0, // Réponses plus variées
});

11.6 Requête de Réponse à des Questions

Les modèles GPT peuvent également répondre à des questions. Voici un exemple de requête pour poser une question :

async function askQuestion(question) {
  try {
    const response = await openai.createChatCompletion({
      model: "gpt-4",
      messages: [{ role: "user", content: `Q: ${question}\nA:` }],
      max_tokens: 50,
      temperature: 0.5,
      stop: ["\n", "Q:"],
    });
    console.log("Réponse :", response.data.choices[0].message.content.trim());
  } catch (error) {
    console.error("Erreur lors de la réponse à la question :", error);
  }
}

// Exemple d'utilisation
askQuestion("Quelle est la capitale de la France?");

11.7 Requête de Traduction de Texte

Bien que ce ne soit pas la fonction principale des modèles GPT, ils peuvent également être utilisés pour la traduction de texte. Voici un exemple :

async function translateText(text, targetLanguage) {
  try {
    const response = await openai.createChatCompletion({
      model: "gpt-4",
      messages: [{ role: "user", content: `Translate the following text to ${targetLanguage}: ${text}` }],
      max_tokens: 100,
      temperature: 0.5,
    });
    console.log("Texte traduit :", response.data.choices[0].message.content.trim());
  } catch (error) {
    console.error("Erreur lors de la traduction du texte :", error);
  }
}

// Exemple d'utilisation
translateText("Bonjour, comment allez-vous?", "English");

Conclusion

L'envoi de requêtes simples à l'API Chat GPT d'OpenAI vous permet de tirer parti des capacités avancées de génération et de compréhension de texte. En ajustant les paramètres de requête, vous pouvez obtenir des résultats personnalisés et adaptés à vos besoins spécifiques. Ce chapitre vous a montré comment configurer et envoyer des requêtes de base, vous préparant ainsi à explorer des fonctionnalités plus avancées de l'API.

Modifié le: lundi 1 juillet 2024, 05:35