How to Integrate ChatGPT with Google Sheets Using Google Apps Script(chatgpt google sheets)
使用ChatGPT向您的Slack和Google Sheet发送消息的功能
在本篇文章中,我们将介绍怎么将ChatGPT与Slack和Google Sheets集成,以便向它们发送消息。ChatGPT是一种强大的自然语言处理AI模型,可用于文本生成和对话处理。同时,Google Sheets是一款功能强大的工具,用于数据分析和报告生成。通过将ChatGPT与Slack和Google Sheets集成,您可以提高工作效力,并实现自动化数据处理和报告生成。
I. 介绍ChatGPT和Google Sheets集成
A. ChatGPT简介
ChatGPT是OpenAI开发的一种自然语言处理AI模型,它可以通过GPT API接口与用户进行实时对话。这意味着您可以通过ChatGPT来生成文本、回答问题和提供见解。
B. Google Sheets集成和功能
ChatGPT在Google Sheets中的集成是一个功能强大的工具,可以自动化数据分析和流程。它可以生成自动见解、建议和下一步操作,帮助简化数据处理和生成报告。其主要功能包括:
- AI驱动的见解和建议:使用ChatGPT在Google Sheets中生成自动见解、建议和下一步操作,帮助用户更轻松地进行数据分析和报告生成。
- 自动化文本生成:ChatGPT可以帮助用户在Google Sheets中自动生成与各种主题相关的文本内容,节省文本编写的时间。
C. ChatGPT和Google Sheets集成的步骤
要将ChatGPT集成到Google Sheets中,您需要依照以下步骤操作:
- 在Google Cloud控制台获得包括身份验证信息的JSON文件,以访问Google Sheets。
- 在搜索栏中搜索并安装名为”GPT for Google Sheets and Docs”的ChatGPT扩大程序。
- 启用ChatGPT集成到Google Sheets中。
II. 在Google Sheets中使用ChatGPT发送消息
A. 编写费用报告到Google Sheets
通过在Google Sheets中使用ChatGPT,您可以自动写入费用报告的数据。以下是具体步骤:
- 创建一个带有指令的Google表格,包括标题和描写标签文本。
- 在GitHub中复制编写费用报告的脚本。
- 使用脚本可以自动将费用数据写入Google Sheets。
B. 使用ChatGPT简化文本编写
在Google Sheets中使用ChatGPT,可以为各种文本主题提供生成的内容。通过在对话框中输入相关主题,ChatGPT可以快速生成与之相关的文本内容。这对快速编写各种文本内容非常有帮助。
III. ChatGPT和Slack集成
A. 使用ChatGPT发送消息到Slack
通过创建一个Slack利用并获得API令牌,您可使用ChatGPT将消息发送到Slack的频道中。以下是具体步骤:
- 为ChatGPT创建一个Slack利用,并取得API令牌。
- 使用API令牌和ChatGPT的对话函数,将消息发送到Slack频道。
B. ChatGPT在Slack中的利用
ChatGPT可以用于Slack的自动回复功能,对用户的消息做出回应。它可以用于自动化任务、提供信息和与用户进行对话。
IV. ChatGPT在业务中的利用
A. 提高工作效力
通过使用ChatGPT,用户可以取得关于怎么提高工作效力的建议和指点。ChatGPT可以自动生成与工作效力提升相关的文本内容,减少文本编写时间。
B. 数据分析和报告生成
在Google Sheets中使用ChatGPT可以生成自动见解、建议和报告。ChatGPT可以简化数据分析进程,提供即时的数据见解和操作建议。
总结
ChatGPT和Google Sheets的集成为用户提供了一个简单而强大的工具,可以自动化数据分析和文本生成任务。用户可以通过在Google Sheets中使用ChatGPT发送消息,和在Slack中与ChatGPT对话,提高工作效力和简化业务流程。另外,ChatGPT还可以生成自动见解、建议和下一步操作,帮助用户在数据分析和报告生成方面更加轻松和高效。
chatgpt google sheets的进一步展开说明
介绍
欢迎来到本教程,教你怎样使用GPT API和Google Apps Script将ChatGPT与Google表格集成。
我们将创建两个自定义公式,GPT_SUMMARY和GPT_SIMPLIFY。您可使用GPT_SUMMARY将大段或文本摘要成几个简单的要点以便浏览。您还可使用GPT_SIMPLIFY将英语简化为易读的英语。
我们还将创建菜单,并提供与公式相同功能的函数。然后我们将讨论使用公式与菜单的优势和劣势。
通过本教程,您将了解怎样使用ChatGPT在Google表格中使用Google Apps Script。您还将能够修改公式和菜单以满足您自己的需求,例如创建简历、社交媒体帖子或求职信。
您可以在GitHub仓库中找到此项目的源代码。
先决条件
此教程不适用于Google Apps Script或JavaScript的初学者。我不会解释代码中使用的每一个方法或类。本教程也不是关于怎样使用和优化ChatGPT的教程,而是专注于怎么将GPT集成到Google表格中。
此教程适用于具有基本Apps Script和JavaScript理解的中级和高级用户。如果您对这二者都不熟习,我建议您先参考初学者教程,然后再尝试本教程。
第一步 – 获得ChatGPT API密钥
首先,如果您还没有OpenAI帐户,您需要创建一个。创建帐户后,您可以在“用户”选项卡下的“API密钥”部份创建一个新的API密钥。
单击“创建新的秘密密钥”按钮,并在创建后将密钥复制一份。您将没法再次查看此API密钥,请务势必其复制到安全的位置。
第二步 – 使用Apps Script从ChatGpt API获得数据
我已为我的表格命名为GPT_Integration,并具有三列:Passage(段落)、Simplified Passage(简化的段落)和Summarized Text(摘要文本)。
让我们打开此表格的利用脚本,将其重命名为GPT_integration,并将现有文件utils.gs重命名为utils.gs。我们在这里创建一个名为fetchData的函数。
const CHAT_GPT_API_KEY = "paste your API key here";
const BASE_URL = "https://api.openai.com/v1/chat/completions";
function fetchData(systemContent, userContent) {
try {
const headers = {
"Content-Type": "application/json",
"Authorization": `Bearer ${CHAT_GPT_API_KEY}`
};
const options = {
headers,
method: "GET",
muteHttpExceptions: true,
payload: JSON.stringify({
"model": "gpt⑶.5-turbo",
"messages": [
{
"role": "system",
"content": systemContent,
},
{
"role": "user",
"content": userContent
},
],
"temperature": 0.7
})
};
const response = JSON.parse(UrlFetchApp.fetch(BASE_URL, options));
return response.choices[0].message.content;
} catch (e) {
console.log(e)
SpreadsheetApp.getActiveSpreadsheet().toast("Some Error Occured Please check your formula or try again later.");
return "Some Error Occured Please check your formula or try again later.";
}
}
请注意以上代码中的一些关键点:
- 将之前创建的API密钥粘贴在引号中。我们将使用Chat Completions API。您可以在这里找到更多详细信息。ChatGPT模型具有区别的角色,例如系统(system)、用户(user)和助手(assistant)。systemContent参数用于向GPT系统提供角色扮演。例如,您可以说“您是一位专业的代数教师”或“您是一位专业的简历撰写者”。userContent参数用于提供要为模型履行的任务。在我们的例子中,我们将提供来自电子表格的长段落以进行摘要和简化。我们将使用GPT 3.5 Turbo模型。我们将使HTTP异常静音,以便我们可以在catch块中使用自己的毛病消息。当我们遇到限制速率超过的毛病时,毛病字符串非常有用。
- 我们返回来自GPT响应对象的内容,稍后会在公式中处理。
- ChatGPT的响应对象具有以下结构:
{
"id": "chatcmpl⑴23",
"object": "chat.completion",
"created": 1677652288,
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello there, how may I assist you today?",
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 12,
"total_tokens": 21
}
}
有关怎样使用URLFetchApp的更多信息,请浏览这里。
第三步 – 将ChatGpt集成为表格公式
再说自定义公式之前,我们创建一个名为formula的新文件,然后创建一个名为GPT_SIMPLIFY的函数。
/**
* Simplifies the given paragraph in layman's term.
* @param {String} input The value to simplify.
* @return Simplified Text.
* @customfunction
*/
function GPT_SIMPLIFY(input) {
console.log(input)
const systemContent = "Simplify the given text in layman's term. Remember reader is not an expert in english.";
return Array.isArray(input) ? input.flat().map(text => fetchData(systemContent, text)) : fetchData(systemContent, input);
}
GPT_SIMPLIFY公式将输入的任何文本简化。此函数的输入是来自电子表格的数据。当您选择范围、单元格或多个单元格时,电子表格将自动将范围中的数据提供给此公式。将systemContent定义为传递给fetchData(systemContent,userContent)函数的第一个参数。我们检查输入会不会为Array,由于传递给此函数的数据可以是嵌套数组,也能够是电子表格中的多个单元格或单个单元格的字符串。
现在请在您的电子表格中利用此公式。我从我正在浏览的一本书中复制了一些文本到第一列,并在第二列中利用了公式“Simplify Passage”,如此例:=GPT_SIMPLIFY(A2),第二个单元格。
注意:确保在利用公式之前刷新电子表格,以便与脚本中的最新更改同步。
我们也会复制简化函数和其他文件,以下所示。
/**
* Summarizes the given paragraph. It provides from 3⑸ bullet points
*
* @param {String} input The value to summarize.
* @return summarize Text.
* @customfunction
*/
function GPT_SUMMARY(input) {
console.log(input)
const systemContent = "Summarize the given text. Provide atleast 3 and atmost 5 bullet points.";
return Array.isArray(input) ? input.flat().map(text => fetchData(systemContent, text)) : fetchData(systemContent, input);
}
这里需要注意的是区别的系统内容。
对自由用户,使用API的速率限制为每分钟3次。当您在多个单元格中利用这些公式时,将遇到毛病。荣幸的是,该脚本不会停止履行,由于我们从fetch data函数中返回了一个毛病字符串,它将保存在这些单元格中。
另外,公式的自动刷新功能可能会致使在源单元格更新时强行重新利用公式到已有满意值的单元格上,即电子表格中列“A”中的单元格。
当我们在自动刷新之前添加速率限制时,可能会引发一个困难。从技术上讲,您可以更改自定义函数中的代码以适应此类情况,但是我喜欢保持公式的简洁高效。因此,我建议我们改而创建自定义菜单,并手动利用这些函数。
第四步 – 将GPT Chat API集成到电子表格菜单功能中
首先,我们创建另外一个名为menu的文件。然后,我们将创建gptSimplifyMenu函数,该函数将作为GPT_SIMPLIFY公式的替换。
/**
* Simplifies the given paragraph in layman's term.
* @customfunction
*/
function gptSimplifyMenu() {
try {
// get sheets and data
const ss = SpreadsheetApp.getActiveSheet();
const data = ss.getDataRange().getValues();
const lastRow = data.length;
const lastCol = data[0].length;
// define gpt's role play
const systemContent = "Simplify the given text in layman's term. Remember reader is not an expert in english.";
for (let i = 1; i < data.length; i++) { // only simplify if not already simplified or error occured previously if (data[i][1] === "" || data[i][1] === "Some Error Occured Please check your formula or try again later.") { data[i][1] = fetchData(systemContent, data[i][0]); console.log(data[i][1]); } } ss.getRange(1, 1, lastRow, lastCol).setValues(data); } catch (e) { console.log(e) SpreadsheetApp.getActiveSpreadsheet().toast("Some Error Occured Please check your formula or try again later."); } }
需要注意代码中的一些区别的地方:
- 将数据源硬编码,例如data[i][1]是指对应第二列(即“Simplified Passage”)的数据,如上所示的电子表格图象。这意味着如果您使用其他列来保存来自ChatGPT的数据,则需要根据实际情况进行修改。仅当目标单元格为空或以毛病消息填充时,才获得数据。这有助于避免没必要要的API调用。
为了将此函数添加到菜单中,我将这个决定留给您。
修改代码的提示
要创建自己的公式,如=GPT_COVER_LETTER_CREATOR(),只需要进行以下修改:
对FetchData
您可以更改System Content Description的描写以满足您的需求,例如“您要写一封针对软件开发人员的专业求职信”。
在message数组中添加一项指令:
// from this
[
{
"role": "system",
"content": systemContent,
},
{
"role": "user",
"content": userContent
},
],
// to this
[
{
"role": "system",
"content": "You write an expert cover letter for software developers",
},
{
"role": "user",
"content": "Write me a cover letter for this given job advertisement"
},
{
"role": "user",
"content": userContent // this is job ad from spreadsheet
},
],
您还可以添加另外一个列表项,包括您的技能和经验。
其他函数
请确保您的源单元格/字段和目标单元格/字段的索引正确(例如,如果您未将第一列用作源单元格/字段,并用第二列保存数据)。
总结
在本教程中,您将学习怎样使用Google Apps Script从API获得ChatGPT的响应,并使用自定义公式和自定义菜单将其保存到电子表格中。
我们首先创建了一个新的Google Apps Script项目,并添加了ChatGPT API。然后,我们编写了一个脚本,用于为给定的提示获得ChatGPT的响应。我们使用自定义公式将响应保存到电子表格单元格中。
我们还创建了一个自定义菜单项,允许我们从电子表格中的任何单元格获得ChatGPT的响应。这个菜单项将打开一个按钮,用于获得响应。
最后一步是与他人共享电子表格,以便他们可使用自定义公式和菜单获得ChatGPT的响应。
希望您喜欢本文并发现它有用。如果您有任何问题,请随时告知我。
我是Nibesh Khadka,一位自由职业者,善于使用Apps Script自动化Google产品。如果您需要我的服务,请通过[email protected]与我联系。
chatgpt google sheets的常见问答Q&A
问题1:ChatGPT in Google Sheets 是甚么?
答案:ChatGPT in Google Sheets 是一种功能强大的工具,可以将 ChatGPT 集成到 Google Sheets 中,从而实现在电子表格中使用 ChatGPT 进行自动化任务和数据分析。下面是关于 ChatGPT in Google Sheets 的一些重要信息:
- 通过在 Google Sheets 中使用 ChatGPT,您可以利用 ChatGPT 的自然语言处理和生成能力,以编写代码或履行各种任务。
- ChatGPT in Google Sheets 可以自动生成文本、生成报告、提供见解和建议等。它可以成为数据分析师、研究员和其他业务专业人员的强大工具,帮助他们加快分析进程和自动化流程。
- 通过与 Google Sheets 结合使用,您可以在电子表格中调用 ChatGPT,使用预设的指令或提示与 ChatGPT 进行交互,并获得 ChatGPT 提供的自动生成文本。
问题2:怎么将 ChatGPT 集成到 Google Sheets?
答案:要将 ChatGPT 集成到 Google Sheets 中,可以依照以下步骤操作:
- 在 Google Sheets 的顶部菜单中,选择 "Add-ons"。
- 从下拉菜单当选择 "Get Add-ons"。
- 在搜索框中输入 "GPT for Sheets and Docs"。
- 点击 "Install" 安装 ChatGPT 的 Google Sheets 扩大。
- 安装完成后,您就能够在 Google Sheets 中使用 ChatGPT 了。
问题3:怎样在 Google Sheets 中使用 ChatGPT?
答案:在 Google Sheets 中使用 ChatGPT 非常简单,只需依照以下步骤操作:
- 选择一个单元格,进入编辑模式。
- 在编辑模式下,输入 ChatGPT 的指令或提示。
- 按下回车键,ChatGPT 将生成与您的指令或提示相关的文本。
- 您可以重复上述步骤,使用区别的指令或提示与 ChatGPT 进行交互,获得更多的自动生成文本。
通过在指定的单元格中与 ChatGPT 进行交互,您可以实现在 Google Sheets 中自动生成文本和完成各种任务的功能。