Como integrar a API ChatGPT com o Google Docs
ChatGPT está agora em toda parte. Você pode integrá-lo a quaisquer aplicativos e serviços.
Em 1º de março, a OpenAI fez um grande anúncio de que seu produto gigante ChatGPT estará disponível por meio de sua API. O modelo mais recente, “GPT-3.5-turbo” é muito mais potente que os modelos GPT-3 anteriores, e o grande fator é que é 10x mais rápido e mais barato que o modelo davinci, o que é realmente insano. Empresas e indivíduos estão correndo para incorporar esse novo recurso em suas ofertas de produtos e serviços.
Uma integração interessante a considerar é o ChatGPT no Google Docs. Esse recurso permite que os usuários gerem texto para prompts selecionados, agora ainda mais poderosos com o mais recente modelo GPT-3.5-turbo. Neste artigo, forneceremos um guia direto com o código-fonte sobre como integrar o ChatGPT no Google Docs.
Etapa 1: Inscreva-se para acesso à API OpenAI
Para aproveitar o ChatGPT, primeiro você deve se inscrever para acesso à API OpenAI. Ao se inscrever, você receberá uma chave de API no menu “Exibir chave de API”, que usará para acessar a API OpenAI. Isso deve ser mantido privado e seguro, pois é sua porta de entrada para acessar os imensos recursos de rede neural do OpenAI.
Etapa 2: Escreva o código no menu de extensões do Google Docs
Assim que tiver sua chave de API, a próxima etapa é abrir o Google Docs e clicar na opção “Apps Script” no menu Extensões.
Você será redirecionado para a página onde deverá escrever seu código javascript.
Primeiro insira sua chave de API e o mecanismo necessário, que é “ gpt-3.5-turbo ” como constantes.
/ Constants
const OPENAI_API_KEY = <API KEY HERE>;
const ENGINE_TYPE = "gpt-3.5-turbo";
//gpt-3.5-turbo is the ChatGPT API model
// A custom menu in Google Docs interface
function onOpen() {
DocumentApp.getUi().createMenu("ChadGPT")
.addItem("Generate study notes", "generateNotes")
.addItem("Generate a fiction story", "generateStory")
.addToUi();
}
// Generates story based on the selected text and adds it to the document
function generateStory() {
const doc = DocumentApp.getActiveDocument();
const selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText();
const body = doc.getBody();
const prompt = "Act as a fiction writer. Write a 1000 words story on the topic" + selectedText;
const temperature = 0;
const maxTokens = 1500;
const requestBody = {
model: ENGINE_TYPE,
messages: [{role: "user", content: prompt}],
temperature,
max_tokens: maxTokens,
};
const requestOptions = {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer " + OPENAI_API_KEY,
},
payload: JSON.stringify(requestBody),
};
const response = UrlFetchApp.fetch("https://api.openai.com/v1/chat/completions", requestOptions);
const responseText = response.getContentText();
const json = JSON.parse(responseText);
const generatedText = json['choices'][0]['message']['content'];
Logger.log(generatedText);
body.appendParagraph(generatedText.toString());
}
// Generates responses based on the selected text and adds it to the document using ChatGPT API
function generateNotes() {
const doc = DocumentApp.getActiveDocument();
const selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText();
const body = doc.getBody();
const prompt = "Generate a study notes on " + selectedText;
const temperature = 0;
const maxTokens = 1500;
const requestBody = {
model: ENGINE_TYPE,
messages: [{role: "user", content: prompt}],
temperature,
max_tokens: maxTokens,
};
const requestOptions = {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer " + OPENAI_API_KEY,
},
payload: JSON.stringify(requestBody),
};
const response = UrlFetchApp.fetch("https://api.openai.com/v1/chat/completions", requestOptions);
const responseText = response.getContentText();
const json = JSON.parse(responseText);
const generatedText = json['choices'][0]['message']['content'];
Logger.log(generatedText);
body.appendParagraph(generatedText.toString());
}
Este é o resultado:
Em conclusão , o anúncio da OpenAI do modelo GPT-3.5-turbo ampliou ainda mais os limites da tecnologia AI. Com a integração do ChatGPT no Google Docs, os usuários podem aproveitar essa nova tecnologia inovadora para gerar saídas de texto poderosas e de alta qualidade.
Aqui está o código completo:
// Constants
const OPENAI_API_KEY = <API KEY HERE>;
const ENGINE_TYPE = "gpt-3.5-turbo";
//gpt-3.5-turbo is the ChatGPT API model
// A custom menu in Google Docs interface
function onOpen() {
DocumentApp.getUi().createMenu("ChadGPT")
.addItem("Generate study notes", "generateNotes")
.addItem("Generate a fiction story", "generateStory")
.addToUi();
}
// Generates story based on the selected text and adds it to the document
function generateStory() {
const doc = DocumentApp.getActiveDocument();
const selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText();
const body = doc.getBody();
const prompt = "Act as a fiction writer. Write a 1000 words story on the topic" + selectedText;
const temperature = 0;
const maxTokens = 1500;
const requestBody = {
model: ENGINE_TYPE,
messages: [{role: "user", content: prompt}],
temperature,
max_tokens: maxTokens,
};
const requestOptions = {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer " + OPENAI_API_KEY,
},
payload: JSON.stringify(requestBody),
};
const response = UrlFetchApp.fetch("https://api.openai.com/v1/chat/completions", requestOptions);
const responseText = response.getContentText();
const json = JSON.parse(responseText);
const generatedText = json['choices'][0]['message']['content'];
Logger.log(generatedText);
body.appendParagraph(generatedText.toString());
}
// Generates responses based on the selected text and adds it to the document using ChatGPT API
function generateNotes() {
const doc = DocumentApp.getActiveDocument();
const selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText();
const body = doc.getBody();
const prompt = "Generate a study notes on " + selectedText;
const temperature = 0;
const maxTokens = 1500;
const requestBody = {
model: ENGINE_TYPE,
messages: [{role: "user", content: prompt}],
temperature,
max_tokens: maxTokens,
};
const requestOptions = {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer " + OPENAI_API_KEY,
},
payload: JSON.stringify(requestBody),
};
const response = UrlFetchApp.fetch("https://api.openai.com/v1/chat/completions", requestOptions);
const responseText = response.getContentText();
const json = JSON.parse(responseText);
const generatedText = json['choices'][0]['message']['content'];
Logger.log(generatedText);
body.appendParagraph(generatedText.toString());
}
Assine nosso boletim informativo semanal gratuito . Siga-nos no Twitter , LinkedIn , YouTube e Discord .
Interessado em dimensionar sua inicialização de software ? Conheça o Circuito .





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)