Ferramentas de desenvolvimento
Avetis Grigoryan
Desenvolvedor sênior
19 de outubro de 2023
Uma plataforma de baixo código que combina simplicidade sem código com potência de código completo 🚀 Você pode usar a plataforma de baixo código para obter mais informações.
Comece a usar gratuitamente
19 de outubro de 2023
-
6m
leitura mínima

Uma breve descrição do documento do Google com uma tradução para o idioma desejado

Avetis Grigoryan
Desenvolvedor sênior
Tabela de conteúdo
Você está cansado de copiar e colar seus documentos em um software de tradução apenas para se comunicar com seus clientes internacionais? Ou talvez você esteja automatizando a colaboração em um trabalho de pesquisa com um parceiro que fala um idioma diferente. Seja qual for o caso, temos uma ótima notícia para você! Graças à integração do Google Docs e do OpenAI, e com a ajuda do Latenode.com, temos o orgulho de oferecer um fluxo de trabalho simplificado que permite que você forneça um link para o seu documento do Google e o traduza para o idioma desejado. Não perca mais tempo com traduções manuais - deixe a tecnologia trabalhar para você!

Preparação

Primeiro, como sempre, certifique-se de que temos tudo o que precisamos para criar uma cadeia: uma conta no ChatGPT e a chave pessoal dela, bem como uma conta do Google e o mesmo token;

Em Latenode , não faz muito tempo, foi adicionada a integração com muitos serviços, embora os documentos exatos ainda não tenham sido implementados, mas em breve isso também deverá ser reforçado. Portanto, por enquanto, obteremos o token da maneira antiga, de acordo com as instruções em nosso artigo, apenas na lista, escolha o escopo "Google Docs API v..." "https://www.googleapis.com/auth/documents";

A chave pessoal no ChatGPT pode ser visualizada ou criada aqui nas configurações do perfil:

Criando uma cadeia em Latenode

A primeira coisa que fazemos, como sempre, é criar um nó: "+ Add Node" => "Http" => "Webhook";

Vamos copiar seu endereço imediatamente;

Salve as alterações;

Também prepararemos uma solicitação preliminar para o cliente restante (Postman, Insomnia):

REQ para cliente de repouso:


  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=Seu token ChatGPT'
  --data 'googleDocToken=Seu token do Google'
  --data 'docID=ID do documento do google desejado'
  --data 'language=german' (idioma=alemão)

Altere o link do Webhook para o seu;

Em seguida, vamos substituir nossa chave ChatGPT em personalTokenChatGPT;

Em seguida, coloque seu token do Google Doc no googleDocToken;

Altere docID para o ID do documento desejado, que pode ser obtido na barra de endereços;

Se necessário, você pode alterar o idioma de tradução no parâmetro de idioma;

Em seguida, adicione o nó "HTTP request" para obter o conteúdo do documento: "+ Adicionar nó" => "Http" => "Solicitação HTTP";

Salvar;
Vincular os nós;
Iniciar e chamar a cadeia para transferir dados entre os nós;

Vamos formar o campo "Url": vamos começar com o endereço"https://docs.googleapis.com/v1/documents/", seguido pelo parâmetro body.docID do nó "Webhook";

Vamos verificar se o método padrão é "GET";

Em Headers, vamos adicionar dois:

- Content-Type com o valor: application/json
- Authorization no valor insira Bearer e, em seguida, selecione o parâmetro do nó "Webhook" com o nome: body.googleDocToken
Vamos salvar as alterações;

Vincule os nós;
Inicie e chame a cadeia para transferir dados entre os nós;

Em seguida, adicione um nó "JavaScript" para obter o conteúdo do documento: "+ Adicionar nó" => "Código" => "JavaScript";

Insira o conteúdo do bloco abaixo nele:


  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
  }

Salvar;
Vincular os nós;
Iniciar e chamar a cadeia para transferir dados entre os nós;

Abra novamente as configurações do nó "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);

Se houve alterações, vamos salvá-las;

Agora vamos adicionar outra "solicitação Http": "+ Adicionar nó" => "Http" => "Solicitação HTTP";

Salvar;
Vincular os nós;
Iniciar e chamar a cadeia para transferir dados entre os nós;

Vamos formar o campo "Url": vamos colocar o endereço"https://api.openai.com/v1/completions" no início;

Altere o método de solicitação para "POST";

No corpo em "raw": vamos substituir a variável resultRawJSON do nó "JavaScript" anterior;

Em Headers, vamos adicionar dois:

- Content-Type com o valor: application/json
- Authorization com o valor: Bearer e, em seguida, selecione o parâmetro do nó "Webhook" com o nome: body.personalTokenChatGPT
Vamos salvar as alterações;

No final, para retornar o texto recebido do ChatGPT, vamos adicionar o nó "Webhook response": "+ Add Node" => "Http" => "Webhook response";

Salvar;
Vincular os nós;
Executar e chamar a cadeia para transferir dados entre os nós;

Preencha a resposta com a variante pronta se houver uma resposta bem-sucedida do corpo da solicitação anterior .choices.[0].text:

Vamos executar a cadeia completa e chamá-la;

Depois disso, a resposta deve retornar uma breve paráfrase do documento em inglês;

A corrente acabada terá a seguinte aparência no final;

Obrigado por sua atenção, vejo você em novos artigos!

Links:


Basic:

Latenode

ChatGPT

Chave da API do ChatGPT

Informações:

Documentação da API do ChatGPT

Documentação da API do Google

Blogs relacionados

Caso de uso

Com o apoio de