Name of code : Correcteur API GPT

Categorie : API

Correcteur API GPT

Demo : Correcteur API GPT

Javascript

HTML

Visual Sstudio Code

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Correction de texte avec ChatGPT</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
  <textarea id="inputText" rows="10" cols="50"></textarea><br>
  <button onclick="correctText()">Corriger</button><br>
  <div id="loadingText"></div>
  <div id="outputText"></div>
  <div id="correctionPercentage"></div>

  <script>
    function correctText() {
      const inputText = document.getElementById('inputText').value;
      const loadingTextElement = document.getElementById('loadingText');
      loadingTextElement.textContent = 'En attente de réponse...';

      const data = {
        prompt: inputText,
        max_tokens: 100,
        temperature: 0.8
      };

      const xhr = new XMLHttpRequest();
      xhr.open('POST', 'https://api.openai.com/v1/engines/davinci-codex/completions');
      xhr.setRequestHeader('Authorization', 'Bearer YOUR_API_KEY');
      xhr.setRequestHeader('Content-Type', 'application/json');
      xhr.onload = function() {
        if (xhr.status === 200) {
          const response = JSON.parse(xhr.responseText);
          const correctedText = response.choices[0].text.trim();
          const outputTextElement = document.getElementById('outputText');
          outputTextElement.textContent = 'Texte corrigé : ' + correctedText;

          const originalWords = inputText.split(' ');
          const correctedWords = correctedText.split(' ');
          const numWords = originalWords.length;
          let numCorrectedWords = 0;
          for (let i = 0; i < numWords; i++) {
            if (originalWords[i] !== correctedWords[i]) {
              numCorrectedWords++;
            }
          }

          const correctionPercentage = (numCorrectedWords / numWords) * 100;
          const correctionPercentageElement = document.getElementById('correctionPercentage');
          correctionPercentageElement.textContent = 'Pourcentage de mots corrigés : ' + correctionPercentage.toFixed(2) + '%';

          loadingTextElement.textContent = ''; // Supprime le texte "En attente de réponse..."
        } else {
          alert('Erreur lors de l\'appel à l\'API : ' + xhr.statusText);
          loadingTextElement.textContent = 'Erreur lors de l\'appel à l\'API.';
        }
      };
      xhr.onerror = function() {
        alert('Erreur lors de l\'appel à l\'API.');
        loadingTextElement.textContent = 'Erreur lors de l\'appel à l\'API.';
      };
      xhr.send(JSON.stringify(data));
    }
  </script>
</body>
</html>