Como usar o ChatGPT no Google Docs

Uma solução que vai te ajudar no dia a dia.

Como usar o ChatGPT no Google Docs
Photo by Solen Feyissa / Unsplash

Neste guia, você aprenderá como criar seu próprio plug-in AI para uso com o Google Docs. Para fazer isso, usaremos os modelos de linguagem do OpenAI, GPT-3.5 ou GPT-4, que estão alimentando o ChatGPT. Vamos mergulhar de cabeça.

Etapa 1: criar um novo documento e nomeá-lo

Crie um novo documento do Google ou use um atalho: digite “docs.new” na barra de endereços do navegador.

O plug-in AI que estamos prestes a criar funcionará apenas neste documento, então nomeie-o para poder encontrá-lo novamente mais tarde (neste demo, chamei o meu de “Assistente AI”).

Etapa 2: criar um novo Apps Script e nomeá-lo

Navegue até “Extensões” > “Apps Scripts” e, no canto superior esquerdo, dê um nome ao seu novo Apps Script.

Apps Script é uma linguagem de script que nos permite automatizar tarefas em Documentos ou Planilhas.

Etapa 3: adicionar chaves de API OpenAI

Para usar o GPT 3.5 ou GPT 4 da OpenAI (os modelos que alimentam sua interface ChatGPT), precisamos adicionar uma chave de API ao nosso Google App Script.

Você pode usar uma chave de API OpenAI existente ou criar uma nova em sua conta OpenAI navegando até “platform.openai.com”, clicando em “Chaves de API” ou “Exibir chaves de API” no menu da sua conta e criando uma nova API chave.

Depois de ter sua chave de API OpenAI pronta, navegue até “Configurações do projeto” em seu App Script…

… e role até “Propriedades do script” e clique em “Adicionar propriedade do script”

Nomeie a nova propriedade “OPENAI_API_KEY” e copie/cole sua chave de API OpenAI no campo “Valor”.

Passo 4: Adicionando o script

Por fim, volte ao editor de código do App Script (o símbolo “<>” no menu à esquerda) e clique em “Code.gs”, o arquivo do script principal que vamos editar agora:

Substitua as 3 linhas de código em Code.gs por isto:const  MODEL_TYPE = "gpt-3.5-turbo" ;
const  OPENAI_API_KEY = Serviço de propriedades . getScriptProperties (). getProperty ( 'OPENAI_API_KEY' );

função  onOpen ( ) {
 DocumentApp . getUi (). createMenu ( "Ferramentas de IA" )
     . addItem ( "Criar sugestões de título/legenda" , "generateTitles" )
     . addItem ( "Criar história em quadrinhos de 4 painéis" , ")
     . addItem ( "Usar texto realçado como prompt" , "textAsPrompt" )
     . adicionarToUi ();
}

function  generateTitles ( ) {
 const doc = DocumentApp . getActiveDocument ();
 const userText = doc. obterSeleção (). getRangeElements ()[ 0 ]. getElement (). asText (). getText ();
 const prompt = `Crie vários títulos e subtítulos para o seguinte tópico: " ${userText}"` ;
 callOpenAiAPI (prompt, doc);
}

function  fourPanelStory ( ) {
 const doc = DocumentApp . getActiveDocument ();
 const userText = doc. getSelection (). getRangeElements ()[ 0 ]. getElement (). asText (). getText ();
 const prompt = `Use esta ideia para criar uma história em quadrinhos composta por quatro imagens, mas responda apenas com breves legendas de imagem para as quatro imagens: ${userText} \n` ;
 callOpenAiAPI (prompt, doc);
}

function  textAsPrompt ( ) {
 const doc = DocumentApp . getActiveDocument ();
 const userText = doc. obterSeleção (). getRangeElements ()[ 0 ]. getElement (). asText (). getText ();
 const prompt = ` ${userText} ` ;
 callOpenAiAPI (prompt, doc);
}

function  callOpenAiAPI ( prompt, doc ) { corpo
 const = doc. getCorpo ();
 consttemperatura = 0,83 ;
 const maxTokens = 2060 ;
 const requestBody = {
   modelo : MODEL_TYPE ,
   mensagens : [{ função : "usuário" , conteúdo : prompt}],
   temperatura,
   max_tokens : maxTokens,
 };

 const options = {
   method : "POST" ,
   headers : {
     "Content-Type" : "application/json" ,
     Authorization : "Bearer " + OPENAI_API_KEY ,
   },
   carga útil : JSON . stringify (requestBody),
 }; resposta

 const = UrlFetchApp . fetch ( "https://api.openai.com/v1/chat/completions" , opções);
 const respostaTexto = resposta. getContentText ();
 constjson = JSON . parse (responseText);
 const geradoTexto = json[ 'escolhas' ][ 0 ][ 'mensagem' ][ 'conteúdo' ];

 Registrador . log (generatedText);
 corpo.appendParagraph (generatedText. toString ());
}

Seu arquivo Code.gs agora deve se parecer com o seguinte:

Passo 5: Salve o script e execute-o

É hora de salvar seu trabalho e testar o script. Clique no pequeno item 💾 no menu superior para salvar o App Script.

Isso ativará o botão "Executar". Certifique-se de que diz “onOpen” ao lado (esta é a função que queremos executar quando o script for iniciado). Clique em “Executar”.

Agora você será solicitado a revisar as permissões do script. Como chamaremos um serviço externo (o servidor OpenAI), o Google nos pergunta se confiamos nesse script e em seu serviço externo.

Já que o fazemos, clique em “Avançado” e depois em “Ir para [nome do seu script] (inseguro)”. Faça login com sua conta e clique em “Permitir”.

A tag “insegura” é a suposição padrão do Google aqui, é segura de usar (bem, lembre-se de que você pagará pelas gerações de texto com base em tokens: 1.000 tokens gerados pelo GPT 3.5 custarão $ 0,002, se você mudar para o GPT 4 então você terá que pagar $ 0,06 pela mesma quantidade de tokens)

Etapa 6: testar o script e personalizá-lo

Depois de recarregar seu Google Doc inicial, você verá um novo menu chamado “AI Tools”.

Três itens de menu mostram algumas das possibilidades que você tem agora dentro do seu Google Doc. Se você destacar algo e clicar em um dos itens, o texto destacado será processado de acordo.

Costumização

Agora, é hora de alterar o script de acordo com suas necessidades. Então, vamos dar uma olhada rápida no código (navegue de volta para “Extensions” > “App Scripts” e escolha o arquivo com o qual acabamos de trabalhar: “Code.gs”)

Você encontrará uma função chamada “onOpen” que é responsável por criar o novo menu e os três itens de menu.função  onOpen ( ) {
 DocumentApp . getUi (). createMenu ( "Ferramentas de IA" )
     . addItem ( "Criar sugestões de título/legenda" , "generateTitles" )
     . addItem ( "Criar história em quadrinhos de 4 painéis" , "fourPanelStory" )
     . addItem ( "Usar texto realçado como prompt" , "textAsPrompt" )
     . adicionarToUi ();
}

Cada item de menu tem uma função correspondente listada ao lado do nome do item de menu. Por exemplo, o item de menu

“Criar sugestões de título/legenda”

vem com uma função chamada

“gerar títulos”

Se você rolar um pouco para baixo, verá esta função e como o prompt subjacente é definido.function  generateTitles ( ) {
 const doc = DocumentApp . getActiveDocument ();
 const userText = doc. obterSeleção (). getRangeElements ()[ 0 ]. getElement (). asText (). getText ();
 const prompt = `Crie vários títulos e subtítulos para o seguinte tópico: " ${userText} "` ;
 callOpenAiAPI (prompt, doc);
}

Nesse caso, sempre que o item de menu “Criar sugestões de título/legenda” for clicado, a área de texto destacada momentaneamente será combinada com esse prompt e enviada para o modelo de complementação de texto GPT 3.5 do OpenAI.

Aqui está o prompt sozinho:Crie vários títulos e subtítulos para o seguinte tópico: "${userText}"

A parte ${userText} é o espaço reservado para o texto realçado do seu Documento Google.

Agora você pode alterar o nome do menu, seus itens e os prompts correspondentes.

Alteração de tokens máximos e temperatura

Você também pode alterar as configurações para sua chamada API OpenAI aqui:function  callOpenAiAPI ( prompt, doc ) { corpo
 const = doc. getCorpo (); temperatura
 constante = 0,83 ;
 const maxTokens = 2060 ;
 const requestBody = {
   modelo : MODEL_TYPE ,
   mensagens : [{ função : "usuário" , conteúdo : prompt}],
   temperatura,
   max_tokens : maxTokens,
 };

É isso.

Via

Novidad.es no Google News

Adicione o Novidad.es em seu feed do Google News.

Mastodon