Latenode

Paráfrasis breve de un documento de Google mediante ChatGPT

Una breve reformulación del documento de Google con traducción al idioma deseado

4 min de lectura
Documento de Google procesado para generar una paráfrasis traducida

¿Está cansado de copiar y pegar sus documentos en un software de traducción solo para comunicarse con sus clientes internacionales? O quizás está automatizando la colaboración en un trabajo de investigación con un socio que habla otro idioma. Sea cual sea el caso, ¡tenemos noticias emocionantes para usted! Gracias a la integración de Google Docs y OpenAI, y con la ayuda de Latenode.com, nos complace ofrecer un flujo optimizado que le permite proporcionar un enlace a su documento de Google y traducirlo al idioma deseado. ¡No pierda más tiempo en traducciones manuales: deje que la tecnología trabaje por usted!

Preparación

Primero, como siempre, asegúrese de tener todo lo necesario para crear un flujo: una cuenta en ChatGPT y una clave personal de esta, así como una cuenta de Google y el mismo token;

Hace no mucho tiempo, Latenode añadió integración con muchos servicios; sin embargo, los documentos específicos aún no se han implementado, aunque pronto deberían incorporarse también. Por ahora, obtendremos el token de la forma anterior siguiendo las instrucciones de nuestro artículo; solo debe elegir en la lista el alcance «Google Docs API v...» «https://www.googleapis.com/auth/documents»;

Puede consultar o crear una clave personal en ChatGPT aquí, en la configuración del perfil:

Creación de un flujo en Latenode

Lo primero que hacemos, como siempre, es crear un nodo: «+ Add Node» => «Http» => «Webhook»;

Copiemos su dirección de inmediato;

Guarde los cambios;

También prepararemos una solicitud preliminar para el cliente REST (Postman, Insomnia):

SOLICITUD para cliente 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'

Cambie el enlace del Webhook por el suyo;

A continuación, sustituya nuestra clave de ChatGPT en personalTokenChatGPT;

Después, introduzca su token de Google Doc en googleDocToken;

Cambie docID por el ID del documento deseado; puede obtenerlo de la barra de direcciones;

Si es necesario, puede cambiar el idioma de traducción en el parámetro language;

A continuación, añada el nodo «HTTP request» para obtener el contenido del documento: «+ Add Node» => «Http» => «HTTP request»;

Guarde;
Conecte los nodos;
Inicie y llame al flujo para transferir datos entre los nodos;

Configuremos el campo «Url»: comience con la dirección «https://docs.googleapis.com/v1/documents/», seguida del parámetro body.docID del nodo «Webhook»;

Compruebe que el método predeterminado sea «GET»;

En Headers, añada dos:

- Content-Type con el valor: application/json
- Authorization: en el valor, introduzca Bearer y luego seleccione el parámetro del nodo «Webhook» con el nombre: body.googleDocToken
Guarde los cambios;

Conecte los nodos;
Inicie y llame al flujo para transferir datos entre los nodos;

A continuación, añada un nodo «JavaScript» para obtener el contenido del documento: «+ Add Node» => «Code» => «JavaScript»;

Inserte en él el contenido del bloque siguiente:


  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":`Escribe una breve reformulación de la idea principal del texto en ${data["{{1.body.language}}"]}: ${docText}`,
    "temperature":0,
    "max_tokens":1400
  });
  return {
     resultRawJSON
  }

Guarde;
Conecte los nodos;
Inicie y llame al flujo para transferir datos entre los nodos;

Abra de nuevo la configuración del nodo «JavaScript»;

Compruebe en todas las construcciones como «data["{{2.body.body.content}}"]» y «data["{{2.body.body.content}}"]» que los números de los nodos correspondan a aquellos de los que recibe datos; si no es así, sustitúyalos por los necesarios (recuerde que 1 es el número del nodo que aparece inmediatamente debajo del nombre del nodo, encima del tipo de nodo; luego, si es una consulta, seleccione el campo de objeto responsable del tipo de datos enviados o recibidos: body para formularios o query para parámetros de consulta);

Si hubo cambios, guárdelos;

Ahora añada otra «Http request»: «+ Add node» => «Http» => «HTTP request»;

Guarde;
Conecte los nodos;
Inicie y llame al flujo para transferir datos entre los nodos;

Configuremos el campo «Url»: introduzca al principio la dirección «https://api.openai.com/v1/completions»;

Cambie el método de solicitud a «POST»;

En el body, en «raw», sustituya la variable resultRawJSON del nodo «JavaScript» anterior;

En Headers, añada dos:

- Content-Type con el valor: application/json
- Authorization con el valor: Bearer; después, seleccione el parámetro del nodo «Webhook» con el nombre: body.personalTokenChatGPT
Guarde los cambios;

Por último, para devolver el texto recibido de ChatGPT, añada el nodo «Webhook response»: «+ Add Node» => «Http» => «Webhook response»;

Guarde;
Conecte los nodos;
Ejecute y llame al flujo para transferir datos entre los nodos;

Complete la respuesta con la variante final si hubo una respuesta correcta de la solicitud anterior body.choices.[0].text:

Ejecute el flujo completo y llámelo;

Después de ello, la respuesta debería devolver una breve paráfrasis del documento en inglés;

El flujo terminado tendrá este aspecto al final;

¡Gracias por su atención, nos vemos en nuevos artículos!😉

Enlaces:

Básicos:

Latenode

ChatGPT

Clave API de ChatGPT

Información:

Documentación de la API de ChatGPT

Documentación de la API de Google

FAQ

Frequently Asked Questions

Acepta un ID de documento de Google Docs y un parámetro de idioma mediante un webhook, obtiene el contenido del documento a través de la API de Google Docs, extrae el texto con un nodo de JavaScript y lo envía a la API de completions de OpenAI para generar una paráfrasis breve en el idioma solicitado.

¿Te resultó útil? Compártelo →

Escrito por

Vasiliy Datsenko

Jefe de Soporte al Cliente

Vasiliy Datsenko es Jefe de Soporte al Cliente en Latenode y un escritor de automatización centrado en productos. Su trabajo conecta las conversaciones con los clientes, la investigación sobre automatización de flujos de trabajo, los casos de uso de IA y la educación práctica sobre productos para equipos que intentan automatizar procesos comerciales reales.

Perfil del autor →

Verificado por

Oleg Zankov

CEO Latenode, No-code Expert

Con una ética arraigada en la innovación, la resolución de problemas y la experiencia de usuario, me enfoco en capacitar a los equipos para crear integraciones personalizadas y automatizar flujos de trabajo con facilidad y eficiencia. Trayendo una gran experiencia en desarrollo empresarial, emprendimiento tecnológico y desarrollo de software, reconocí la necesidad de una solución de integración más accesible, escalable y adaptable. Así nació Latenode.com. Con nuestra plataforma, las empresas pueden aprovechar el poder de la tecnología sin necesidad de conocimientos extensos de codificación. Apasionado por fomentar un futuro donde la tecnología nos sirva, y no al revés, mi misión es simplificar procesos complejos. Creo en democratizar la tecnología y equipar a los equipos con las herramientas para innovar, crecer y tener éxito en un mundo cada vez más digital.

Perfil del autor →

Seguir leyendo