Analyse des réponses de l'API
Chapitre 12: Analyse des Réponses de l'API
12.1 Introduction
L'analyse des réponses de l'API Chat GPT est essentielle pour comprendre la performance du modèle, améliorer les interactions utilisateur et affiner les paramètres de requête. Ce chapitre vous guidera à travers les différentes techniques pour analyser et interpréter les réponses de l'API en utilisant des exemples en JavaScript (Node.js).
12.2 Structure des Réponses de l'API
Lorsqu'une requête est envoyée à l'API Chat GPT, la réponse contient plusieurs éléments clés :
- id : Identifiant unique de la requête.
- object : Type d'objet renvoyé (par exemple, "chat.completion").
- created : Horodatage de la réponse.
- model : Modèle utilisé pour générer la réponse.
- choices : Liste des réponses générées par le modèle.
- message : Contenu du message généré.
- finish_reason : Raison pour laquelle la génération s'est arrêtée (par exemple, "stop", "length").
- usage : Informations sur l'utilisation des tokens (prompt_tokens, completion_tokens, total_tokens).
12.3 Exemple de Réponse de l'API
Voici un exemple de réponse JSON de l'API Chat GPT :
{
"id": "cmpl-1v7oNcMtTpYg",
"object": "chat.completion",
"created": 1629478378,
"model": "gpt-4",
"choices": [
{
"message": {
"role": "assistant",
"content": "Les étoiles brillent dans le ciel nocturne, mystérieuses et éternelles..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 6,
"completion_tokens": 16,
"total_tokens": 22
}
}
12.4 Analyse des Réponses
12.4.1 Extraction des Informations Clés
Pour extraire et analyser les informations clés de la réponse de l'API, vous pouvez utiliser le code suivant :
async function analyzeResponse(prompt) {
try {
const response = await openai.createChatCompletion({
model: "gpt-4",
messages: [{ role: "user", content: prompt }],
max_tokens: 100,
temperature: 0.7,
});
const choice = response.data.choices[0];
const message = choice.message.content.trim();
const finishReason = choice.finish_reason;
const usage = response.data.usage;
console.log("Texte généré :", message);
console.log("Raison d'arrêt :", finishReason);
console.log("Utilisation des tokens :", usage);
} catch (error) {
console.error("Erreur lors de l'analyse de la réponse :", error);
}
}
// Exemple d'utilisation
analyzeResponse("Écrivez un poème sur les étoiles.");
12.4.2 Comprendre la Raison d'Arrêt
La propriété finish_reason indique pourquoi le modèle a arrêté la génération de texte. Les raisons courantes incluent :
- stop : La génération s'est arrêtée en atteignant un token de fin spécifié (par exemple, une nouvelle ligne).
- length : La génération s'est arrêtée parce que la limite de tokens maximale a été atteinte.
- content_filter : La génération a été arrêtée par le filtre de contenu de sécurité.
Analyser cette information peut aider à ajuster les paramètres de la requête pour des résultats plus précis.
12.4.3 Analyse de l'Utilisation des Tokens
Les informations sur l'utilisation des tokens (prompt_tokens, completion_tokens, total_tokens) sont essentielles pour optimiser les coûts et la performance. En surveillant ces valeurs, vous pouvez ajuster vos prompts pour être plus efficaces.
console.log(`Tokens utilisés : ${usage.total_tokens}`);
console.log(`Tokens du prompt : ${usage.prompt_tokens}`);
console.log(`Tokens de la complétion : ${usage.completion_tokens}`);
12.5 Amélioration des Prompts Basée sur l'Analyse
12.5.1 Ajuster les Paramètres de Température et de Max Tokens
En fonction des résultats obtenus, vous pouvez ajuster les paramètres de température et de max tokens pour améliorer les réponses :
const response = await openai.createChatCompletion({
model: "gpt-4",
messages: [{ role: "user", content: prompt }],
max_tokens: 150, // Augmenter pour des réponses plus longues
temperature: 0.5, // Réduire pour des réponses plus cohérentes
});
12.5.2 Améliorer les Prompts
Les prompts bien conçus peuvent améliorer la qualité des réponses. Fournissez un contexte clair et des instructions précises :
const improvedPrompt = "Imaginez que vous êtes un poète. Écrivez un poème sur les étoiles en utilisant des métaphores et des images visuelles.";
const response = await openai.createChatCompletion({
model: "gpt-4",
messages: [{ role: "user", content: improvedPrompt }],
max_tokens: 100,
temperature: 0.7,
});
12.6 Gestion des Erreurs et des Réponses Inappropriées
12.6.1 Gestion des Erreurs
Implémentez une gestion des erreurs robuste pour gérer les cas où l'API ne répond pas ou retourne des erreurs :
try {
// Code de requête à l'API
} catch (error) {
console.error("Erreur lors de la requête à l'API :", error);
// Logique de récupération ou de nouvel essai
}
12.6.2 Filtrage des Réponses Inappropriées
Utilisez des filtres de contenu ou des vérifications manuelles pour s'assurer que les réponses générées sont appropriées pour votre application :
if (message.includes("contenu inapproprié")) {
console.log("Réponse filtrée en raison de contenu inapproprié");
} else {
console.log("Texte généré :", message);
}
Conclusion
Analyser les réponses de l'API Chat GPT est crucial pour optimiser les interactions et obtenir des résultats de haute qualité. En comprenant la structure des réponses, en extrayant les informations clés et en ajustant les paramètres de requête, vous pouvez améliorer significativement les performances de vos applications utilisant l'API. Ce chapitre vous a fourni les outils et les techniques nécessaires pour effectuer une analyse approfondie des réponses de l'API et affiner vos prompts en conséquence.