Herramientas de desarrollo
Avetis Grigoryan
Desarrollador Senior
19 de octubre de 2023
Una plataforma de código bajo que combina la simplicidad del código cero con la potencia del código completo 🚀.
Empieza gratis
19 de octubre de 2023
-
6m
min leer

Un breve resumen del documento de google con una traducción a la lengua deseada

Avetis Grigoryan
Desarrollador Senior
Índice
¿Estás cansado de copiar y pegar tus documentos en programas de traducción para comunicarte con tus clientes internacionales? O quizá estés automatizando la colaboración en un trabajo de investigación con un compañero que habla una lengua diferente. Sea cual sea el caso, ¡tenemos noticias emocionantes para ti! Gracias a la integración de Google Docs y OpenAI, y con la ayuda de Latenode.com, estamos orgullosos de ofrecer un flujo de trabajo optimizado que te permite dar un enlace a tu documento de Google y traducirlo al idioma deseado. Se acabó perder el tiempo con traducciones manuales: ¡deja que la tecnología trabaje por ti!

Preparando

En primer lugar, como siempre, asegúrate de que tenemos todo lo necesario para crear una cadena: una cuenta en ChatGPT y la clave personal de la misma, así como una cuenta de Google y el mismo token;

En Latenode no hace mucho se ha añadido la integración con muchos servicios, mientras que los documentos exactos aún no se han implementado, pero pronto deberían reforzarlo también. Así que por ahora obtendremos el token de la forma antigua según las instrucciones de nuestro artículo, sólo que en la lista elige "Google Docs API v..." alcance "https://www.googleapis.com/auth/documents";

La clave personal en ChatGPT se puede ver o crear aquí, en la configuración del perfil:

Crear una cadena en Latenode

Lo primero que hacemos, como siempre, es crear un nodo: "+ Añadir Nodo" => "Http" => "Webhook";

Copiemos su dirección de una vez;

Guarda los cambios;

También prepararemos una solicitud preliminar para el cliente de descanso (Cartero, Insomnio):

REQ para cliente de descanso:


  curl --request POST
  --url https://webhook.latenode.com/69/dev/8b8b0b68-df1f-45ab-b1a3-94baf3a0626d
  --header 'Tipo de contenido: application/x-www-form-urlencoded'
  --data 'personalTokenChatGPT=Tu token ChatGPT'
  --data 'googleDocToken=Tu token de Google'.
  --data 'docID=ID del documento google deseado'
  --data 'language=alemán'

Cambia el enlace Webhook por el tuyo;

A continuación, sustituyamos nuestra clave ChatGPT por personalTokenChatGPT;

A continuación, introduce tu token de Google Doc en googleDocToken;

Cambia docID por el ID del documento deseado, puede tomarse de la barra de direcciones;

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

A continuación añade el nodo "Solicitud HTTP" para obtener el contenido del documento: "+ Añadir Nodo" => "Http" => "Petición HTTP";

Guardar;
Unir los nodos;
Iniciar y llamar a la cadena para transferir datos entre los nodos;

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

Comprobemos que el método por defecto es "GET";

En Cabeceras vamos a añadir dos:

- Content-Type con valor: application/json
- Authorization en el valor introduce Bearer, luego selecciona el parámetro del nodo "Webhook" con el nombre: body.googleDocToken
Guardemos los cambios;

Une los nodos;
Inicia y llama a la cadena para transferir datos entre los nodos;

A continuación añade un nodo "JavaScript" para obtener el contenido del documento: "+ Añadir Nodo" => "Código" => "JavaScript";

Inserta en él el contenido del bloque de abajo:


  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
  }

Guardar;
Unir los nodos;
Iniciar y llamar a la cadena para transferir datos entre los nodos;

Abre de nuevo la configuración del nodo "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);

Si hubo cambios, guardémoslos;

Ahora vamos a añadir otra "petición Http": "+ Añadir nodo" => "Http" => "Petición HTTP";

Guardar;
Unir los nodos;
Iniciar y llamar a la cadena para transferir datos entre los nodos;

Formemos el campo "Url": pongamos al principio la dirección"https://api.openai.com/v1/completions";

Cambia el método de solicitud a "POST";

En el cuerpo en "crudo": sustituyamos la variable resultRawJSON del nodo "JavaScript" anterior;

En Cabeceras vamos a añadir dos:

- Content-Type con el valor: application/json
- Authorization con el valor: Bearer, luego selecciona el parámetro del nodo "Webhook" con el nombre: body.personalTokenChatGPT
Guardemos los cambios;

Al final, para devolver el texto recibido de ChatGPT vamos a añadir el nodo "Webhook response": "+ Añadir Nodo" => "Http" => "Respuesta Webhook";

Guardar;
Unir los nodos;
Ejecutar y llamar a la cadena para transferir datos entre los nodos;

Rellena la respuesta con la variante lista si hubo una respuesta satisfactoria del cuerpo de la solicitud anterior .opciones.[0].texto:

Vamos a ejecutar la cadena completa y a llamarla;

Después, la respuesta debe devolver una breve paráfrasis del documento en inglés;

La cadena terminada tendrá este aspecto al final;

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

Enlaces:


Básico:

Latenode

ChatGPT

Clave API ChatGPT

Info:

Documentación de la API ChatGPT

Documentación de la API de Google

Blogs relacionados

Caso práctico

Respaldado por