Personnalisation des Réponses avec des Paramètres

13.1 Introduction

L'API Chat GPT d'OpenAI offre plusieurs paramètres permettant de personnaliser les réponses générées en fonction des besoins spécifiques de votre application. Ce chapitre explore comment utiliser ces paramètres pour ajuster les comportements des réponses, améliorer la pertinence, et adapter les sorties à différents contextes.

13.2 Paramètres Principaux de Personnalisation

13.2.1 Model

Le paramètre model permet de spécifier la version du modèle GPT que vous souhaitez utiliser. Les modèles les plus couramment utilisés sont gpt-3.5-turbo et gpt-4.

13.2.2 Max Tokens

Le paramètre max_tokens définit le nombre maximal de tokens à générer dans la réponse. Ce paramètre contrôle la longueur de la réponse générée.

const response = await openai.createChatCompletion({
  model: "gpt-4",
  messages: [{ role: "user", content: prompt }],
  max_tokens: 150, // Augmentez pour des réponses plus longues
});

13.2.3 Temperature

Le paramètre temperature contrôle la diversité des réponses générées. Une valeur plus élevée (jusqu'à 1) rend les réponses plus variées et créatives, tandis qu'une valeur plus basse (proche de 0) rend les réponses plus cohérentes et déterministes.

const response = await openai.createChatCompletion({
  model: "gpt-4",
  messages: [{ role: "user", content: prompt }],
  temperature: 0.7, // Plus élevé pour des réponses plus créatives
});

13.2.4 Top-p

Le paramètre top_p utilise la technique de la sélection nucleus pour contrôler la diversité. Il représente la probabilité cumulative. Une valeur de 0.9 signifie que seuls les tokens formant les 90% de probabilité cumulée seront considérés.

const response = await openai.createChatCompletion({
  model: "gpt-4",
  messages: [{ role: "user", content: prompt }],
  top_p: 0.9, // Contrôle la diversité en utilisant la sélection nucleus
});

13.2.5 Frequency Penalty

Le paramètre frequency_penalty réduit la probabilité de répéter les mêmes lignes verbales. Une valeur positive décourage la répétition.

const response = await openai.createChatCompletion({
  model: "gpt-4",
  messages: [{ role: "user", content: prompt }],
  frequency_penalty: 0.5, // Décourage la répétition
});

13.2.6 Presence Penalty

Le paramètre presence_penalty augmente la probabilité de parler de nouveaux sujets. Une valeur positive encourage l'exploration de nouveaux sujets.

const response = await openai.createChatCompletion({
  model: "gpt-4",
  messages: [{ role: "user", content: prompt }],
  presence_penalty: 0.5, // Encourage l'exploration de nouveaux sujets
});

13.3 Exemple Complet de Personnalisation

Voici un exemple complet qui montre comment utiliser plusieurs de ces paramètres pour personnaliser une réponse générée par l'API :

async function generateCustomResponse(prompt) {
  try {
    const response = await openai.createChatCompletion({
      model: "gpt-4",
      messages: [{ role: "user", content: prompt }],
      max_tokens: 200, // Pour des réponses plus longues
      temperature: 0.8, // Pour des réponses plus créatives
      top_p: 0.9, // Utilisation de la sélection nucleus
      frequency_penalty: 0.5, // Réduction des répétitions
      presence_penalty: 0.5, // Exploration de nouveaux sujets
    });
    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
generateCustomResponse("Parlez-moi de l'importance de la biodiversité.");

13.4 Comparaison des Paramètres

13.4.1 Température et Top-p

La température et le top-p contrôlent la diversité de différentes manières. Il peut être utile de comparer les deux pour trouver les réglages optimaux pour votre application :

const responseTemperature = await openai.createChatCompletion({
  model: "gpt-4",
  messages: [{ role: "user", content: prompt }],
  temperature: 1.0, // Réponses très variées
});

const responseTopP = await openai.createChatCompletion({
  model: "gpt-4",
  messages: [{ role: "user", content: prompt }],
  top_p: 0.8, // Utilisation de la sélection nucleus pour la diversité
});

13.4.2 Frequency Penalty et Presence Penalty

Ces deux paramètres modifient la probabilité de répétition et d'exploration de nouveaux sujets. Les ajuster peut améliorer la pertinence des réponses générées :

const responseFrequencyPenalty = await openai.createChatCompletion({
  model: "gpt-4",
  messages: [{ role: "user", content: prompt }],
  frequency_penalty: 0.7, // Réduction des répétitions
});

const responsePresencePenalty = await openai.createChatCompletion({
  model: "gpt-4",
  messages: [{ role: "user", content: prompt }],
  presence_penalty: 0.7, // Encouragement de nouveaux sujets
});

13.5 Utilisation Avancée des Prompts

Les prompts bien conçus peuvent aussi inclure des instructions spécifiques pour guider le modèle :

const response = await openai.createChatCompletion({
  model: "gpt-4",
  messages: [{ role: "user", content: "Écrivez un poème sur les étoiles en utilisant des métaphores et des images visuelles." }],
  max_tokens: 150,
  temperature: 0.7,
});
console.log("Texte généré :", response.data.choices[0].message.content.trim());

Conclusion

La personnalisation des réponses de l'API Chat GPT est cruciale pour adapter les sorties à vos besoins spécifiques. En utilisant divers paramètres comme le modèle, la température, le top-p, la pénalité de fréquence et la pénalité de présence, vous pouvez affiner les réponses générées pour qu'elles soient plus pertinentes, créatives et utiles. Ce chapitre vous a montré comment configurer et utiliser ces paramètres pour obtenir les meilleurs résultats possibles de l'API.

Last modified: Monday, 1 July 2024, 5:49 AM