Latenode

Brève paraphrase d’un document Google via ChatGPT

Une brève reformulation du document Google, traduite dans la langue souhaitée

5 min de lecture
Workflow de paraphrase et de traduction d’un document Google Docs avec ChatGPT

Vous en avez assez de copier-coller vos documents dans un logiciel de traduction simplement pour communiquer avec vos clients internationaux ? Ou peut-être automatisez-vous la collaboration sur un article de recherche avec un partenaire qui parle une autre langue. Quel que soit votre cas, nous avons une excellente nouvelle pour vous ! Grâce à l’intégration de Google Docs et OpenAI, et avec l’aide de Latenode.com, nous sommes fiers de proposer un workflow fluide qui vous permet de fournir un lien vers votre document Google et de le traduire dans la langue souhaitée. Ne perdez plus de temps avec les traductions manuelles : laissez la technologie travailler pour vous !

Préparation

Tout d’abord, comme toujours, assurez-vous de disposer de tout ce dont vous avez besoin pour créer une chaîne : un compte ChatGPT et sa clé personnelle, ainsi qu’un compte Google et le jeton correspondant ;

Latenode a récemment ajouté des intégrations avec de nombreux services. Les documents spécifiques ne sont pas encore disponibles, mais cela devrait bientôt être le cas. Pour l’instant, nous allons donc obtenir le jeton selon les instructions de notre article. Dans la liste, choisissez uniquement le périmètre « Google Docs API v... » : « https://www.googleapis.com/auth/documents » ;

Vous pouvez consulter ou créer votre clé personnelle dans ChatGPT via les paramètres de votre profil :

Création d’une chaîne dans Latenode

La première étape consiste, comme toujours, à créer un nœud : « + Add Node » => « Http » => « Webhook » ;

Copions immédiatement son adresse ;

Enregistrez les modifications ;

Nous allons également préparer une requête préliminaire pour le client REST (Postman, Insomnia) :

REQUÊTE pour le client REST :


  curl --request POST
  --url https://webhook.latenode.com/69/dev/8b8b0b68-df1f-45ab-b1a3-94baf3a0626d
  --header 'Content-Type: application/x-www-form-urlencoded'
  --data 'personalTokenChatGPT=Your ChatGPT token'
  --data 'googleDocToken=Your google token'
  --data 'docID=ID of desired google document'
  --data 'language=german'

Remplacez le lien Webhook par le vôtre ;

Ensuite, renseignez votre clé ChatGPT dans personalTokenChatGPT ;

Ajoutez ensuite votre jeton Google Doc dans googleDocToken ;

Remplacez docID par l’identifiant du document souhaité, que vous pouvez récupérer dans la barre d’adresse ;

Si nécessaire, vous pouvez modifier la langue de traduction dans le paramètre language ;

Ajoutez ensuite le nœud « HTTP request » pour récupérer le contenu du document : « + Add Node » => « Http » => « HTTP request » ;

Enregistrez ;
Reliez les nœuds entre eux ;
Lancez et appelez la chaîne afin de transférer les données entre les nœuds ;

Configurons le champ « Url » : commencez par l’adresse « https://docs.googleapis.com/v1/documents/ », suivie du paramètre body.docID du nœud « Webhook » ;

Vérifiez que la méthode par défaut est bien « GET » ;

Dans Headers, ajoutez deux éléments :

- Content-Type avec la valeur : application/json
- Authorization : saisissez Bearer comme valeur, puis sélectionnez le paramètre du nœud « Webhook » nommé body.googleDocToken
Enregistrez les modifications ;

Reliez les nœuds entre eux ;
Lancez et appelez la chaîne afin de transférer les données entre les nœuds ;

Ajoutez ensuite un nœud « JavaScript » pour récupérer le contenu du document : « + Add Node » => « Code » => « JavaScript » ;

Insérez-y le contenu du bloc ci-dessous :


  const responseResult = JSON.parse(data["{{2.body.body.content}}"]);
  let docText = "";

  function parseResponse(response) {
     const tempArray = [];
     if (typeof response !== String) {
        tempArray.push(...response);
     } else {
        tempArray.push(JSON.parse(...response));
     }
     Array.isArray(response)
          ? response.forEach(
              (arrayItem) => { 
                 if (arrayItem.paragraph) {
                    arrayItem.paragraph.elements.forEach(paragraphItem => {
                       docText += `${paragraphItem.textRun.content}`;
                    });
                 }
              }
           )
          : Object.fromEntries(
              Object.entries(response)
                  .map(([objectItemKey, objectItemValue]) => [objectItemKey, parseResponse(objectItemValue, s)]));
  }
  parseResponse(responseResult);
  const resultRawJSON = JSON.stringify({
    "model":"text-davinci-003",
    "prompt":`Write a brief retelling of the main point of the text on ${data["{{1.body.language}}"]}: ${docText}`,
    "temperature":0,
    "max_tokens":1400
  });
  return {
     resultRawJSON
  }

Enregistrez ;
Reliez les nœuds entre eux ;
Lancez et appelez la chaîne afin de transférer les données entre les nœuds ;

Ouvrez à nouveau les paramètres du nœud « JavaScript » ;

Vérifiez, dans toutes les constructions telles que « data["{{2.body.body.content}}"] » et « data["{{2.body.body.content}}"] », que les numéros des nœuds correspondent à ceux depuis lesquels vous recevez les données. Dans le cas contraire, remplacez-les par les numéros nécessaires. Pour rappel, 1 correspond au numéro du nœud indiqué directement sous son nom, au-dessus du type de nœud. S’il s’agit d’une requête, sélectionnez ensuite le champ d’objet correspondant au type de données envoyées ou reçues : body pour les formulaires ou query pour les paramètres de requête ;

S’il y a eu des modifications, enregistrez-les ;

Ajoutez maintenant une autre requête « Http request » : « + Add node » => « Http » => « HTTP request » ;

Enregistrez ;
Reliez les nœuds entre eux ;
Lancez et appelez la chaîne afin de transférer les données entre les nœuds ;

Configurons le champ « Url » : placez l’adresse « https://api.openai.com/v1/completions » au début ;

Remplacez la méthode de requête par « POST » ;

Dans le corps de la requête, dans « raw », insérez la variable resultRawJSON du nœud « JavaScript » précédent ;

Dans Headers, ajoutez deux éléments :

- Content-Type avec la valeur : application/json
- Authorization avec la valeur : Bearer, puis sélectionnez le paramètre du nœud « Webhook » nommé body.personalTokenChatGPT
Enregistrez les modifications ;

Enfin, pour renvoyer le texte reçu de ChatGPT, ajoutez le nœud « Webhook response » : « + Add Node » => « Http » => « Webhook response » ;

Enregistrez ;
Reliez les nœuds entre eux ;
Exécutez et appelez la chaîne afin de transférer les données entre les nœuds ;

Renseignez la réponse avec la variante prête à l’emploi si la requête précédente a renvoyé une réponse réussie : body.choices.[0].text :

Exécutons la chaîne complète et appelons-la ;

La réponse devrait ensuite renvoyer une brève reformulation du document en anglais ;

Voici à quoi ressemblera la chaîne terminée ;

Merci de votre attention, à bientôt dans de nouveaux articles ! 😉

Liens :

Essentiels :

Latenode

ChatGPT

Clé API ChatGPT

Infos :

Documentation de l’API ChatGPT

Documentation de l’API Google

FAQ

Frequently Asked Questions

Il reçoit l’identifiant d’un document Google Docs et un paramètre de langue via un webhook, récupère le contenu du document via l’API Google Docs, extrait le texte à l’aide d’un nœud JavaScript, puis l’envoie à l’API de complétions OpenAI afin de produire une brève paraphrase dans la langue demandée.

Cela vous a aidé ? Partagez-le →

Écrit par

Vasiliy Datsenko

Responsable du support client

Vasiliy Datsenko est responsable du support client chez Latenode et un rédacteur en automatisation axé sur les produits. Son travail relie les conversations clients, la recherche sur l'automatisation des flux de travail, les cas d'utilisation de l'IA et la formation pratique sur les produits pour les équipes cherchant à automatiser des processus métier réels.

Profil de l'auteur →

Vérifié par

Oleg Zankov

PDG de Latenode, expert en no-code

Avec une philosophie ancrée dans l'innovation, la résolution de problèmes et l'expérience utilisateur, je me consacre à donner aux équipes les moyens de créer des intégrations sur mesure et d'automatiser les workflows avec facilité et efficacité. Fort d'une riche expérience en développement commercial, entrepreneurship technologique et développement logiciel, j'ai reconnu le besoin d'une solution d'intégration plus accessible, évolutive et adaptable. Ainsi est né Latenode.com. Grâce à notre plateforme, les entreprises peuvent exploiter la puissance de la technologie sans nécessiter de compétences approfondies en codage. Passionné par la création d'un avenir où la technologie nous sert, et non l'inverse, ma mission est de simplifier les processus complexes. Je crois en la démocratisation de la technologie et en dotant les équipes des outils nécessaires pour innover, croître et réussir dans un monde de plus en plus numérique.

Profil de l'auteur →

Continuer la lecture