在Google Docs中创建即时摘要:使用OpenAI API和Google Apps Script的一步一步指南

ChatGPT中文站

欢迎!

在今天快节奏的数字世界中,有效地压缩冗长的内容已成为必须。无论你是正在处理研究论文的学生还是努力保持领先地位的专业人士,生成简洁的摘要可以节省时间并提高生产力。幸运的是,OpenAI APIs 和 Google Apps Script的强大组合为轻松地在 Google 文档中总结段落提供了无缝的解决方案。

在本博客中,我们将探讨如何集成OpenAI API和Google Apps Script,以在Google Docs中生成段落摘要。我将指导您完成设置过程,向您展示如何使用OpenAI API提取有意义的摘要,并无缝地将解决方案实施到您的Google Docs工作流程中。

示例谷歌文档

对于这篇博客,我们将使用一个非常简单的谷歌文档,其中包含一个我们想要生成摘要的段落。

ChatGPT中文站

如果你想和 Google Doc 一起工作,请点击这里。一旦你复制了Google Doc,你需要继续在 Google Apps 脚本代码中更改 API 密钥。

如果您想查看此博客的视频版本,可以在下面查看YouTube教程。

步骤1:获取API密钥

为获取OpenAI API密钥,请先登录他们网站上的您的OpenAI账户。登录后,转到仪表板页面的API密钥选项卡。

ChatGPT中文站

点击创建新的秘钥按钮。最后,点击“生成API秘钥”按钮生成新的秘钥,然后将其复制到剪贴板中。确保将其存储在安全的地方,因为它将不再可见。

ChatGPT中文站

拿到API密钥后,您现在可以使用它来认证您对OpenAI API的请求,并将ChatGPT与Google文档集成。只需将密钥添加到您的Google Apps脚本代码中,并使用适当的函数来向API发出请求。您现在已经准备好使用人工智能的力量来增强您的Google文档了!

步骤2:编写自动化脚本

在 Google Docs 中,让我们打开脚本编辑器来编写一些 Google Apps 脚本。要打开脚本编辑器,请按照以下步骤操作:

  1. 点击“扩展”,并打开脚本编辑器。
ChatGPT中文站

2. 这会弹出如下所示的脚本编辑器。

ChatGPT中文站

我们到达了脚本编辑器,让我们开始编码。

现在我们已经设置好了Google Docs并准备好了API密钥,让我们继续编写我们的Google Apps脚本,以获取Google Doc段落的摘要。

function onOpen(){

var ui = DocumentApp.getUi();
ui.createMenu('Summarise paragraph')
.addItem("Summarise Selected paragraph",'accessdoc')
.addToUi();
}

我们要开始创建自己的自定义菜单,使用它可以选择要摘要的段落并运行代码。

为了实现这一点,我们将首先打开一个名为onOpen()的新函数。在打开函数时,我们将使用createMenu()函数创建一个菜单,其中我们将传递菜单的名称。之后,我们将分配一些文本给名称,然后跟随当菜单被点击时您想要运行的函数。

//Replace with your API key
var API_key = "your_api_key";

创建自定义菜单后,我们将继续声明刚刚生成的 API 密钥。您必须用您自己的 API 密钥替换此内容。

function summarydoc(paragraph){

var model_ID = "text-davinci-002";
var maxtokens = 200;
var temperature = 0.7;

现在我们已经准备好API密钥,是时候开始编写生成摘要的函数了。我们将打开一个名为summarydoc(paragraph)的新函数,在其中将段落作为参数传递。

在打开功能时,我们将声明要使用的模型,接着是响应的最大标记和温度。

了解更多关于Open AI API的模型,请查看以下链接。

  var payload = {

'model':model_ID,
'prompt': "Please generate a short summary for :\n"+paragraph,
'temperature': temperature,
'max_tokens': maxtokens,
"presence_penalty": 0.5,
"frequency_penalty": 0.5

}

这部分代码设置了Open AI API请求的参数。我们首先声明先前声明的所需模型。在声明模型后,我们继续声明要使用的提示。在提示中,我们添加了我们想要摘要的段落。

一旦我们声明提示,我们就声明温度以控制响应的随机性。随后我们声明要生成响应的标记数。

  var options = {

"method": "post",
"headers":{
"Content-Type": "application/json",
"Authorization" : "Bearer " + API_key
},
"payload": JSON.stringify(payload)
};

选项变量用于设计将发送到Open AI API的HTTP请求的参数。我们首先声明方法参数为post,这表示请求将向API发送数据。

标题指定了将在请求中发送的数据类型,本例中为“application/json”,这是一种常用的用于在互联网上发送结构化数据的格式。此外,“Authorization”标题设置为包括我们之前生成的API密钥。

最后,“payload”参数用于指定将发送的数据。在这种情况下,它是一个包含模型ID、提示、温度和API请求的最大标记数的JSON对象。

  var response = UrlFetchApp.fetch("https://api.openai.com/v1/completions",options);

这些选项现在作为参数传递给“UrlFetchApp.fetch”函数,该函数将请求发送到Open AI终端,并返回包含API生成文本的响应。

在这种情况下,API 终点是“https://api.openai.com/v1/completions",这是由 OpenAI 提供的 ChatGPT API 的终点。

我们定义的options变量作为参数传递给fetch函数,提供了请求的附加参数。fetch函数然后将请求发送到API端点,并等待服务器的响应。服务器的响应将包含AI生成的文本,该文本将存储在响应变量中。

var summary = JSON.parse(response.getContentText());
return summary.choices[0].text.trim();

}

现在我们已经向Open AI端点发送了请求,我们会获得回应。我们现在要解析这个回应。

The getContentText() function is used to extract the text content from the response object. Since the response is in JSON format, we use the JSON.parse function to convert the JSON string into an object.

getContentText()函数用于从响应对象中提取文本内容。由于响应以JSON格式呈现,我们使用JSON.parse函数将JSON字符串转换为对象。

然后解析的数据被存储在“summary”变量中,其中包含了一系列基于提示由AI模型为我们生成的选择。

由于我们仅对数组的第一个选择感兴趣,所以使用summary.choices [0] 来访问该选择。然后,我们使用.text从选择中提取文本,最后使用.trim函数从生成的文本中删除任何前导或尾随空格。在从数组中获取第一个选择时,我们返回摘要。

function accessdoc(){

var selection = DocumentApp.getActiveDocument().getSelection();
var text = selection.getRangeElements()[0].getElement().getText();
var summary = summarydoc(text);

现在我们已经准备好了摘要功能,可以继续打开与谷歌文档交互的函数。我们希望生成用户选择的段落摘要。

为了实现这个目标,我们需要使用getSelection()函数从Google Doc中获取所选文本。一旦我们获取了所选文本,我们可以使用.getText()函数获取文本。使用ChatGPT生成摘要时,我们将文本传递给summarydoc()函数。

  DocumentApp.getActiveDocument().getBody().appendParagraph("Summary");
DocumentApp.getActiveDocument().getBody().appendParagraph(summary);

}

现在我们已经有所选文本的摘要了,是时候将该段落附加回谷歌文档中了。为此,我们将使用appendParagraph()函数,在其中传递摘要变量。为了将摘要与原始段落分开,我们附加一行额外的文字,表示“摘要”。

我们的代码已经完整并且可以运行。

步骤3:检查输出

是时候检查输出并看看代码是否按照我们的预期工作了。为此,请保存您的代码并运行OnOpen()函数。这将创建我们可以选择并生成段落摘要的菜单。

ChatGPT中文站

运行代码后,您应该在执行日志中获得类似于这样的输出。

ChatGPT中文站

当运行 onOpen() 函数时,自定义菜单已经成功地在 Google 文档中创建了。

ChatGPT中文站

生成Google Doc的摘要,请按以下步骤操作。

  1. 选择您要生成摘要的段落。
ChatGPT中文站

2. 一旦选择了段落,请继续单击自定义菜单,然后单击“摘要所选段落”。

ChatGPT中文站

3. 点击该选项后,您将看到代码会为我们选择的段落生成一个摘要。

ChatGPT中文站

在这里,您可以看到Google Doc中的段落摘要已成功生成。

结论

总之,将OpenAI API与Google应用脚本集成,可以使用户轻松生成Google文档中段落的简明摘要。这种强大的组合彻底改变了信息处理方式,提高了生产力,并节省了宝贵的时间。今天就体验智能文本摘要的转变效益,并通过Google Docs中的有影响力的摘要来简化您的工作流程。通过这种卓越的集成,最大化效率和生产力。您可以从下面给出的GitHub链接获取代码。

如有任何问题/反馈,请随时通过aryanirani123@gmail.com联系我。

2023-10-20 16:49:04 AI中文站翻译自原文