Vous en avez assez de copier-coller vos documents dans un logiciel de traduction juste pour communiquer avec vos clients internationaux ? Ou peut-être que vous automatisez la collaboration sur un document de recherche avec un partenaire qui parle une autre langue. Quoi qu'il en soit, nous avons des nouvelles intéressantes 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 flux de travail simplifié qui vous permet de donner un lien vers votre document Google et de le traduire dans la langue souhaitée. Ne perdez plus de temps avec des traductions manuelles - laissez la technologie travailler pour vous !
Préparation
Tout d’abord, comme toujours, assurez-vous que nous avons tout ce dont nous avons besoin pour créer une chaîne : un compte sur ChatGPT et une clé personnelle, ainsi qu’un compte Google et le même jeton ;
Il n'y a pas si longtemps, Latenode a ajouté l'intégration avec de nombreux services, bien que les documents exacts n'aient pas encore été implémentés, mais devraient bientôt être renforcés également. Donc, pour l'instant, nous obtiendrons le jeton à l'ancienne selon le Des instructions dans notre article, choisissez uniquement dans la liste "Google Docs API v..." étendue "https://www.googleapis.com/auth/documents" ;
La clé personnelle dans ChatGPT peut être consultée ou créée ici dans le profil Paramétres:
Créer une chaîne dans Latenode
La première chose que nous faisons, comme toujours, est de créer un nœud : "+ Add Node" => "Http" => "Webhook";
Copions immédiatement son adresse ;
Enregistrer les modifications ;
Nous préparerons également une demande préliminaire pour le reste du client (Postman, Insomnia) :
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=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 ;
Remplaçons ensuite notre clé ChatGPT par Jeton personnelChatGPT;
Ensuite, placez votre jeton Google Doc dans jeton de googledoc;
changer IDdoc à l'ID du document souhaité, il peut être récupéré depuis la barre d'adresse ;
Si nécessaire, vous pouvez modifier la langue de traduction dans le langue paramètre;
Ajoutez ensuite le nœud « Requête HTTP » pour obtenir le contenu du document : « + Ajouter un nœud » => « Http » => « Requête HTTP » ;
Sauvegarder; Reliez les nœuds ensemble ; Démarrer et appeler la chaîne pour transférer des données entre les nœuds ;
Formons le champ « Url » : commençons par «https://docs.googleapis.com/v1/documents/" adresse, suivie du paramètre corps.docID à partir du nœud « Webhook » ;
Vérifions que la méthode par défaut est « GET » ;
Dans les en-têtes, ajoutons-en deux :
- Content-Type avec valeur : application / json - Autorisation dans la valeur entrez porteur, puis sélectionnez le paramètre du nœud « Webhook » portant le nom : corps.googleDocToken Enregistrons les modifications ;
Reliez les nœuds ensemble ; Démarrer et appeler la chaîne pour transférer des données entre les nœuds ;
Ajoutez ensuite un nœud « JavaScript » pour obtenir le contenu du document : « + Ajouter un nœud » => « 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
}
Sauvegarder; Reliez les nœuds ensemble ; Démarrer et appeler la chaîne pour transférer des données entre les nœuds ;
Ouvrez à nouveau les paramètres du nœud « JavaScript » ;
Vérifions toutes les constructions comme «données["{{2.body.body.content}}"]" et "données["{{2.body.body.content}}"]" que les numéros de nœud correspondent à ceux dont nous recevons les données, sinon nous les remplaçons par ceux nécessaires (rappelons que 1 est le numéro de nœud qui est écrit immédiatement en dessous du nom du nœud au-dessus du type de nœud, puis s'il s'agit d'une requête alors nous sélectionnons le champ objet responsable du type de données envoyées/reçues - corps pour les formulaires ou requête pour les paramètres de requête) ;
S'il y a eu des changements, sauvegardons-les ;
Ajoutons maintenant une autre « requête HTTP » : « + Ajouter un nœud » => « Http » => « Requête HTTP » ;
Sauvegarder; Reliez les nœuds ensemble ; Démarrer et appeler la chaîne pour transférer des données entre les nœuds ;
Formons le champ « Url » : mettons «https://api.openai.com/v1/completions" adresse au début;
Modifiez la méthode de requête en « POST » ;
Au niveau du corps en "raw" : substituons la variable résultatRawJSON à partir du nœud « JavaScript » précédent ;
Dans les en-têtes, ajoutons-en deux :
- Content-Type avec valeur : application / json - Autorisation avec la valeur : porteur, puis sélectionnez le paramètre du nœud « Webhook » portant le nom : corps.personalTokenChatGPT Enregistrons les modifications ;
A la fin, pour renvoyer le texte reçu de ChatGPT, ajoutons le nœud "Réponse Webhook" : "+ Add Node" => "Http" => "Réponse Webhook";
Sauvegarder; Reliez les nœuds ensemble ; Exécutez et appelez la chaîne pour transférer des données entre les nœuds ;
Remplissez la réponse avec la variante prête s'il y a eu une réponse réussie à la demande précédente corps.choix.[0].texte:
Exécutons la chaîne complète et appelons-la ;
Après cela, la réponse devrait renvoyer une brève paraphrase du document en anglais ;
La chaîne finie ressemblera à ceci à la fin ;
Merci pour votre attention, à bientôt pour de nouveaux articles !😉