Utilisez la macro ONLYOFFICE pour générer un essai avec ChatGPT

21 février 2023By Dasha

La technologie de l’IA s’est considérablement améliorée depuis plusieurs années et est devenue un élément essentiel de notre vie quotidienne. Aujourd’hui, nous allons intégrer cette fonctionnalité high-tech dans notre routine de rédaction de documents. Dans ce billet de blog, nous allons vous montrer comment construire une macro qui générera un essai entier avec l’API ChatGPT.
Use ONLYOFFICE macro to generate an essay with ChatGPT

À propos de ChatGPT

ChatGPT est un chatbot IA innovant développé par OpenAI qui peut converser naturellement. Sa conception du dialogue lui permet de répondre aux questions de suivi, de reconnaître ses erreurs, de générer du texte et de contester les déclarations incorrectes. Le modèle est entraîné à suivre les instructions d’une invite et à fournir une réponse détaillée.

OpenAI fournit une API d’essai gratuite qui facilite l’intégration dans diverses applications. Pour des raisons pratiques, nous allons accéder à l’API OpenAI par le biais de la plateforme RapidAPI. Pour vous connecter directement à l’API OpenAI, visitez la page de documentation officielle.

À propos de RapidAPI

RapidAPI est une plateforme complète permettant aux développeurs de découvrir, de se connecter et de gérer des API. Elle contient un répertoire de plus de 10 000 API, y compris des API populaires comme Google Maps, Twilio, Stripe et YouTube. Les utilisateurs peuvent rechercher des API, faire des essais gratuits et s’abonner à des API et des services. RapidAPI propose également un tableau de bord permettant de surveiller les abonnements, l’utilisation et les performances des API, ainsi que d’accéder au support. En outre, RapidAPI permet aux développeurs de créer leurs API et de les monétiser.

Formuler la demande d’API

Dans notre projet, nous avons incorporé l’API You Chat GPT de FB/florianbreut. Actuellement, elle propose un plan freemium qui commence par un forfait de base de 100 demandes par mois. Cela sera suffisant pour tester notre macro.

L’interface de la plateforme RapidAPI génère des extraits de code de demande dans différents langages. Dans notre cas, les choix seront JavaScriot et une fonction de récupération :

Use ONLYOFFICE macro to generate an essay with ChatGPT

Nous pouvons également modifier les paramètres de la demande. En particulier, nous pouvons modifier le corps de la demande. L’API offre 4 options de demande, en fonction du modèle OpenAI :

  1. Ecrire le code
  2. Expliquer tout
  3. Contrainte de temps de réponse
  4. Réponse mise en forme

L’option Réponse mise en forme est parfaitement adaptée à la génération de dissertations. Nous la choisissons donc et modifions le paramètre max_response_time à 20 secondes. Cela donnera à l’OpenAI plus de temps pour générer la réponse :

Use ONLYOFFICE macro to generate an essay with ChatGPT

Construire la macro

Maintenant, incorporons cette demande de récupération dans notre macro ! Tout d’abord, nous créons une variable globale qui stockera la réponse :

let essay;

Ensuite, nous ajoutons les options de la demande et définissons le sujet de la rédaction en modifiant le paramètre de la question dans le corps de la demande :

const options = {
  method: 'POST',
  headers: {
    'content-type': 'application/json',
    'X-RapidAPI-Key': '<yourRapidAPIkey>',
    'X-RapidAPI-Host': 'you-chat-gpt.p.rapidapi.com'
  },
  body: '{"question":"write an essay on the benefits of using ONLYOFFICE products","max_response_time":20}'
};

Après cela, nous définissons la fonction insertEssay. Cette fonction contient les méthodes de l’API ONLYOFFICE qui insèrent la rédaction générée dans le document. D’abord, nous ciblons le document actif et créons un paragraphe où le texte sera ajouté :

function insertEssay() {
  const oDocument = Api.GetDocument();
  const oParagraph = Api.CreateParagraph();
  
}

Ensuite, nous ajoutons la rédaction générée au paragraphe et l’insérons avec la méthode InsertContent. Nous passons également le paramètre “KeepTextOnly” pour éviter tout problème de mise en forme :

 function insertEssay() {
  const oDocument = Api.GetDocument();
  const oParagraph = Api.CreateParagraph();
  oParagraph.AddText(essay);
  oDocument.InsertContent([oParagraph], { "KeepTextOnly": true })
  

Nous incorporons également la fonction handleFetchResponse. Elle extrait la réponse de la réponse et lance la fonction insertEssay pour l’insérer dans le document :

function handleFetchResponse(response) {
  return response.json().then(json => {
    essay = json.answer;
    insertEssay();
  });
}

Et nous faisons une demande de récupération au serveur :

fetch('https://you-chat-gpt.p.rapidapi.com/', options)
  .then(handleFetchResponse);

Le code entier de la macro est le suivant :

(function()
{ 
let essay;
const options = {
  method: 'POST',
  headers: {
    'content-type': 'application/json',
    'X-RapidAPI-Key': '<yourRapidAPIkey>',
    'X-RapidAPI-Host': 'you-chat-gpt.p.rapidapi.com'
  },
  body: '{"question":"write an essay on the benefits of using ONLYOFFICE products","max_response_time":20}'
};

function insertEssay() {
    const oDocument = Api.GetDocument();
    const oParagraph = Api.CreateParagraph();
    oParagraph.AddText(essay);
    oDocument.InsertContent([oParagraph], { "KeepTextOnly": true });
}

function handleFetchResponse(response) {
  return response.json().then(json => {
    essay = json.answer;
    insertEssay();
  });
}

fetch('https://you-chat-gpt.p.rapidapi.com/', options)
  .then(handleFetchResponse);
})();

Maintenant, exécutons notre macro et voyons comment elle fonctionne !

Note !

  • Cette macro n’est opérationnelle que dans la version en ligne des éditeurs.
  • Pour obtenir 100 demandes gratuites, inscrivez-vous à l’API You Chat GPT et utilisez votre clé RapidAPI.
  • Il faut environ 30 secondes pour traiter la demande avant de l’insérer dans le document.
  • Appuyez sur l’espace pour insérer le texte.

Nous espérons que cette macro apportera de nouvelles technologies d’IA fascinantes dans votre flux de travail et soulagera les tâches de routine fastidieuses. Nous encourageons vivement les développeurs à tirer parti des possibilités offertes par les méthodes de notre API et à construire leurs macros. Nos macros sont écrites en JavaScript, ce qui les rend hautement fonctionnelles et adaptatives.

Si vous avez des questions ou des suggestions, n’hésitez pas à nous contacter. Nous sommes ouverts à vos idées et désireux de collaborer avec vous. Bonne chance dans vos projets d’exploration !