Outils de développement
Avetis Grigoryan
Développeur principal
19 octobre 2023
Une plateforme low-code mêlant la simplicité du no-code à la puissance du full-code 🚀
Commence gratuitement
19 octobre 2023
-
6m
min lire

Un bref rappel du document google avec une traduction dans la langue souhaitée.

Avetis Grigoryan
Développeur principal
Table des matières
Tu en as assez de copier-coller tes documents dans un logiciel de traduction juste pour communiquer avec tes clients internationaux ? Ou peut-être que tu veux automatiser la collaboration sur un travail de recherche avec un partenaire qui parle une autre langue. Quoi qu'il en soit, nous avons de bonnes nouvelles pour toi ! Grâce à l'intégration de Google Docs et d'OpenAI, et avec l'aide de Latenode.com, nous sommes fiers de proposer un flux de travail rationalisé qui te permet de donner un lien vers ton document Google et de le traduire dans la langue souhaitée. Plus besoin de perdre du temps avec des traductions manuelles - laisse la technologie travailler pour toi !

Préparation

Tout d'abord, comme toujours, assure-toi que nous avons tout ce qu'il faut pour créer une chaîne : un compte sur ChatGPT et la clé personnelle qui en provient, ainsi qu'un compte Google et le même jeton ;

Dans Latenode il n'y a pas si longtemps ajouté l'intégration avec de nombreux services, tandis que les documents exacts n'ont pas encore été mis en œuvre, mais bientôt devrait le resserrer aussi bien. Pour l'instant, nous allons donc obtenir le jeton à l'ancienne, en suivant les instructions de notre article, mais dans la liste, choisis "Google Docs API v..." dans le champ d'application "https://www.googleapis.com/auth/documents" ;

La clé personnelle dans ChatGPT peut être consultée ou créée ici dans les paramètres du profil :

Créer une chaîne dans Latenode

La première chose à faire, comme toujours, est de créer un nœud : "+ Ajouter un nœud" => "Http" => "Webhook" ;

Copions tout de suite son adresse ;

Enregistre les modifications ;

Nous préparerons également une demande préliminaire pour le client de repos (Postman, Insomnie) :

REQ pour le client de repos:


  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=Votre jeton ChatGPT'
  --data 'googleDocToken=Votre jeton google'
  --data 'docID=ID du document google souhaité'
  --data 'language=german'

Remplace le lien Webhook par le tien ;

Remplaçons ensuite notre clé ChatGPT par personalTokenChatGPT;

Ensuite, place ton jeton Google Doc dans googleDocToken;

Remplace docID par l'ID du document souhaité, il peut être pris dans la barre d'adresse ;

Si nécessaire, tu peux modifier la langue de traduction dans le paramètre de la langue ;

Ajoute ensuite le nœud "requête HTTP" pour obtenir le contenu du document : "+ Ajouter un nœud" => "Http" => "requête HTTP" ;

Sauvegarde ;
Lie les nœuds entre eux ;
Démarre et appelle la chaîne pour transférer les données entre les nœuds ;

Formons le champ "Url" : commençons par l'adresse"https://docs.googleapis.com/v1/documents/", suivie du paramètre body.docID du nœud "Webhook" ;

Vérifions que la méthode par défaut est bien "GET" ;

Dans la rubrique En-têtes, ajoutons-en deux :

- Content-Type with value : application/json
- Authorization in the value enter Bearer, then select the parameter from the "Webhook" node with the name : body.googleDocToken
Sauvegardons les modifications ;

Lie les nœuds entre eux ;
Démarre et appelle la chaîne pour transférer les données entre les nœuds ;

Ajoute ensuite un nœud "JavaScript" pour obtenir le contenu du document : "+ Ajouter un nœud" => "Code" => "JavaScript" ;

Insère-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
  }

Sauvegarde ;
Lie les nœuds entre eux ;
Démarre et appelle la chaîne pour transférer les données entre les nœuds ;

Ouvre à nouveau les paramètres du nœud "JavaScript" ;

Let's check in all constructions like "data["{{2.body.body.content}}"]" and "data["{{2.body.body.content}}"]" that the node numbers correspond to those from which we receive data, if not we replace them with the necessary ones (remind that 1 is the node number which is written immediately below the node name above the node type, then if it is a query then we select the object field responsible for the type of data sent/received - body for forms or query for query parameters);

S'il y a eu des changements, sauvegardons-les ;

Ajoutons maintenant une autre "requête Http" : "+ Ajouter un nœud" => "Http" => "Requête HTTP" ;

Sauvegarde ;
Lie les nœuds entre eux ;
Démarre et appelle la chaîne pour transférer les données entre les nœuds ;

Formons le champ "Url" : mettons l'adresse"https://api.openai.com/v1/completions" au début ;

Change la méthode de requête en "POST" ;

Au niveau du corps en "raw" : substituons la variable resultRawJSON du nœud "JavaScript" précédent ;

Dans la rubrique En-têtes, ajoutons-en deux :

- Content-Type avec la valeur : application/json
- Authorization avec la valeur : Bearer, puis sélectionne le paramètre du nœud "Webhook" avec le nom : body.personalTokenChatGPT
Sauvegardons les modifications ;

À la fin, pour renvoyer le texte reçu de ChatGPT, ajoutons le nœud "Webhook response" : "+ Ajouter un nœud" => "Http" => "Webhook response" ;

Sauvegarde ;
Relie les nœuds entre eux ;
Exécute et appelle la chaîne pour transférer les données entre les nœuds ;

Remplir la réponse avec la variante ready s'il y a eu une réponse réussie du corps de la demande précédente .choices.[0].text:

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

Ensuite, la réponse doit renvoyer une brève paraphrase du document en anglais ;

La chaîne terminée ressemblera à ceci à la fin ;

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

Liens :


Basic :

Latenode

ChatGPT

Clé API ChatGPT

Info :

Documentation de l'API ChatGPT

Documentation de l'API Google

Blogs associés

Cas d'utilisation

Soutenu par