2. Premiers Pas
Envoi de requêtes et gestion des réponses
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
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion