0%
Configuration de l'API ChatGPT

Configuration de l'API

Mise en place de l'API ChatGPT

10-15 min

Configuration de l’API ChatGPT

Obtenir une clé API

Pour utiliser l’API ChatGPT, vous devez d’abord obtenir une clé API :

  1. Créez un compte sur OpenAI
  2. Accédez à la section “API Keys” dans votre tableau de bord
  3. Générez une nouvelle clé API
  4. Conservez cette clé en lieu sûr (elle ne sera affichée qu’une seule fois)

Configuration de base

Voici comment configurer l’API ChatGPT dans votre application :

// Configuration de base
const OPENAI_API_KEY = 'votre-clé-api';
const API_URL = 'https://api.openai.com/v1/chat/completions';

// Fonction pour appeler l'API
async function callChatGPT(prompt) {
  try {
    const response = await fetch(API_URL, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${OPENAI_API_KEY}`
      },
      body: JSON.stringify({
        model: 'gpt-3.5-turbo',
        messages: [
          { role: 'user', content: prompt }
        ],
        temperature: 0.7,
        max_tokens: 1000
      })
    });

    const data = await response.json();
    return data.choices[0].message.content;
  } catch (error) {
    console.error('Erreur lors de l\'appel à l\'API:', error);
    throw error;
  }
}

Paramètres de l’API

L’API ChatGPT propose plusieurs paramètres pour personnaliser les réponses :

Modèles disponibles

  • gpt-3.5-turbo : Équilibre entre performance et coût
  • gpt-4 : Plus puissant mais plus coûteux
  • gpt-4-turbo : Version optimisée de GPT-4

Paramètres de génération

  • temperature : Contrôle la créativité (0 = déterministe, 1 = créatif)
  • max_tokens : Limite la longueur de la réponse
  • top_p : Contrôle la diversité des réponses
  • frequency_penalty : Réduit la répétition de tokens
  • presence_penalty : Encourage la diversité des sujets

Gestion des erreurs

Il est important de gérer correctement les erreurs lors de l’utilisation de l’API :

async function callChatGPTWithErrorHandling(prompt) {
  try {
    const response = await fetch(API_URL, {
      // Configuration de la requête...
    });

    if (!response.ok) {
      const errorData = await response.json();
      throw new Error(`Erreur API: ${errorData.error?.message || 'Erreur inconnue'}`);
    }

    const data = await response.json();
    return data.choices[0].message.content;
  } catch (error) {
    if (error.message.includes('429')) {
      console.error('Limite de taux dépassée. Veuillez réessayer plus tard.');
    } else if (error.message.includes('401')) {
      console.error('Clé API invalide ou expirée.');
    } else {
      console.error('Erreur lors de l\'appel à l\'API:', error);
    }
    throw error;
  }
}

Bonnes pratiques de sécurité

Pour sécuriser votre utilisation de l’API ChatGPT :

  1. Ne stockez jamais votre clé API dans le code source

    • Utilisez des variables d’environnement
    • Utilisez un service de gestion de secrets
  2. Limitez l’accès à votre clé API

    • Créez des clés API avec des permissions limitées
    • Surveillez l’utilisation de votre clé
  3. Implémentez des limites de taux

    • Limitez le nombre d’appels par utilisateur
    • Mettez en place un système de file d’attente
  4. Validez les entrées utilisateur

    • Nettoyez les prompts avant de les envoyer à l’API
    • Limitez la taille des prompts

Exemple d’implémentation sécurisée

// Utilisation de variables d'environnement
const OPENAI_API_KEY = process.env.OPENAI_API_KEY;

// Validation des entrées
function validatePrompt(prompt) {
  if (!prompt || typeof prompt !== 'string') {
    throw new Error('Le prompt doit être une chaîne de caractères non vide');
  }
  
  if (prompt.length > 4000) {
    throw new Error('Le prompt est trop long (maximum 4000 caractères)');
  }
  
  return prompt.trim();
}

// Fonction sécurisée pour appeler l'API
async function secureChatGPTCall(prompt) {
  // Valider le prompt
  const validatedPrompt = validatePrompt(prompt);
  
  // Vérifier la clé API
  if (!OPENAI_API_KEY) {
    throw new Error('Clé API non configurée');
  }
  
  // Appeler l'API avec gestion d'erreurs
  return callChatGPTWithErrorHandling(validatedPrompt);
}

Ressources supplémentaires

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !