使用ChatGPT 4 API、Google Meet、Google Drive和Docs API生成会议纪要

录制会议后,使用ChatGPT自动生成会议纪要文档
1. 发挥ChatGPT的功能(做有用的事情)
在本技术文章中,我们将探讨如何利用ChatGPT 4 API以及Google Meet,Google Drive和Google Docs API自动生成会议纪要。
在会议期间记录会议纪要可能是一项耗时的任务,并且往往难以记录所有讨论的内容。通过使用人工智能,可以简化该过程,以确保不会遗漏任何内容。
像Microsoft Teams或Zoom一样,Google Meet具有记录会议的功能。一旦激活录音功能,会议的转录将以Google文档格式生成并存储在定义的Google Drive共享文件夹中。本文使用了Google Meet转录文件,但也可以使用Teams或Zoom录音进行类似的文本提取。
为此,将使用一个简单的Web应用程序作为管理用户交互以及不同API调用的中心点。目的是显示存储在预定义Google Drive文件夹中的这些会议转录文档列表。用户将能够选择其中一个,然后按下按钮生成会议纪要以及带有截止日期的行动项。此外,这两个新部分将插入相同的Google文档中,其中包含来自ChatGPT API的结果。
本文将引导您完成设置所需配置和了解用于管理ChatGPT、Google Drive和Docs API的Dash/Python应用程序代码的步骤。
下面还提供了包含完整Python/Dash源代码的GitLab链接。
本文结束时,我还将分享一些关于此应用程序可能存在的限制和改进的想法。我希望它能让您找到新的想法,以便集中精力处理比记录会议纪要更有价值的任务。
那么,让我们开始吧!

2. Web应用程序功能概述
Web应用程序如下图所示。上部分显示用户共享的Google Drive文件夹中存在的转录文档列表。当用户触发Google Meet录制按钮时,此类文档将自动生成在“Meet Recordings”文件夹中。
用户可以在列表中选择文档。所选文档显示在中央部分。最后,用户可以按下按钮生成会议纪要。
按钮按下后,会议纪要将自动插入两个新部分:
“会议摘要”部分是基于会议转录的简短描述。无论会议持续多长时间,它都会保持简洁。
“会议行动项”部分是一个带有编号的行动项复选框列表,也基于转录。如果已知,还会插入到期日期。
每个编号的会议行动项都包含一个原生支持的 Google Docs 复选框。您的团队可以在后续使用它们来跟进行动清单,并在完成后将其勾选。
3. 快速入门
以下内容将允许您编辑并运行我在 GitLab 上的代码。在此之前,您需要在 OpenAI 注册以获取 API 密钥。同时,还需要在 Google 控制台上激活 Google Drive 和 Docs API,以及创建 Google 服务帐户。
- 进入 OpenAI 网站并注册以获取 API 密钥
- 进入我的名为“通过 ChatGPT 生成会议记录”的 GitLab 项目
- 使用 Google Colab 编辑 Jupyter Python 笔记本并将其保存在您自己的 Colab 文件夹中
- 将代码中的“OPENAI_API_KEY”值替换为您自己的 API 密钥
- 使用以下链接激活 Google Drive 和 Google Doc API
- 使用以下链接创建 Google 服务帐户
- 下载并保存 Google 服务帐户密钥(JSon 文件)到您的 Colab 文件夹中。将其命名为“credentials_serviceaccount.json”(或更改代码中的值)
- 使用“编辑器”权限向先前创建的 Google 服务帐户分享您的“会议记录”Google Drive 文件夹
- 参加 Google Meet 会议。使用记录功能进行记录。视频文件和转录文档将自动在您的“会议记录”Google Drive 文件夹中生成
- 在代码中,将“GOOGLE_MEET_RECORDING_FOLDER”值替换为先前共享的“会议记录”Google Drive 文件夹的 ID
- 在“执行”菜单中选择“全部运行”
- 几秒钟后,WebApp 应该会启动。单击 Colab 笔记本底部生成的 URL 以显示它
应用程序应该像先前部分的第一张截图一样。
4. 理解代码的主要部分
截至今天,ChatGPT 4 API 仍处于测试阶段。代码中使用的版本是“gpt-4-0314”快照。也可以切换到当前版本“gpt-3.5-turbo”。
我将只关注代码中最重要的部分。
4.1. Google Drive 集成 / API
代码的前两行用于挂载您的 Google Drive 根文件夹。主要用途是检索在快速入门部分中生成的 Google 服务帐户凭据密钥(JSon 文件)。
接下来的代码部分检索存储在 Google Meet 录音文件夹中的所有转录文档的文件列表。稍后将使用该列表在 web 应用程序上显示这些文档。
4.2. Google Meet 转录文档文本提取
这些函数用于从定义的 Google 文档 ID 中提取文本元素。Google Meet 生成名为“Transcript”的段落。将使用“Transcript”部分的位置稍后作为插入会议纪要的起点。应用程序插入的两个部分将位于此“Transcript”部分之前。(以及“Attendees”部分之后)
4.3. ChatGPT 准备工作:将转录文本拆分成多个块
ChatGPT API 模型每次请求的标记数量有限。为了与“gpt-3.5-turbo”模型兼容,代码中使用的最大值为每次请求 4096 个标记。但请记住,“gpt-4”模型可以处理更多。8k 或 32k 模型也可用,它们可用于显著提高长时间会议的会议记录质量。
因此,需要将 Google Meet 转录文档文本拆分为 4000 个标记的块,并具有 100 个标记的重叠。
这些函数将准备并返回一系列块,这些块稍后将由ChatGPT API使用。
4.4. ChatGPT API使用
此函数将以几个步骤生成会议纪要和行动项。对于每一项,都会调用ChatGPT API:
- 步骤1:总结会议记录文本。该函数遍历之前生成的块列表。发送到ChatGPT的内容基于与与会者之间的记录对话。对于每个块,使用以下请求调用ChatGPT API:“总结这个会议记录:<chunk>”
- 步骤2:整理步骤1的响应(会议纪要)。使用以下请求调用ChatGPT API:“整理这些会议纪要:<步骤1的ChatGPT响应>”
- 步骤3:从记录中获取带有截止日期的行动项。该函数遍历之前生成的块列表。对于每个块,使用以下请求调用ChatGPT API:“从提供的会议记录文本中提供带有截止日期的行动项列表:<chunk>”
- 步骤4:以简洁的编号列表整理步骤3中的会议行动项。使用以下请求调用ChatGPT API:“以简洁的编号列表整理这些会议行动项:<步骤3的ChatGPT响应>”
每个ChatGPT API使用的参数(即“温度”)都在代码中有文档记录。
4.5. 使用Google Docs API管理以插入最终会议纪要
此函数的目的是将会议纪要插入用户选择的Google Doc中。文本将插入“记录”段落之前。在前面的函数中识别的起始索引用作起始点。
这里插入了两个部分:“会议纪要”和“会议行动项”。
每个部分的插入都有以下步骤:
- 插入部分的标题(作为文本,即“会议纪要”)
- 将其样式设置为“HEADING_1”,将其文本样式设置为“粗体”,将其字体大小设置为“14”
- 插入部分的内容(这来自ChatGPT API的结果)
- 将其样式设置为“NORMAL”。对于“Meeting Summary”部分,还插入了一个箭头的项目符号,对于“Meeting Action items”部分,则插入了一个复选框。
还插入了一些“制表符”和“换行符”以更正从ChatGPT API返回的文本。
提示:请注意,“ar”表是以相反的方式迭代的,以确保每个文本插入后起始索引位置始终保持最新。
4.6. 主要的Python Dash Web应用程序
此部分用于构建一个简单的Web应用程序,用户可以与之交互。基本上,它显示存储在Google Drive共享文件夹中的文档列表。用户可以选择其中一个文档,该文档将显示在屏幕中央的位置。按下按钮后,会议纪要将插入此文档。更新后的文档会刷新结果。
此代码构建在Dash框架之上。它甚至可以在Google Colab笔记本中运行。
每个文档都在专用iFrame中显示。文档的链接基于之前通过Google Drive API检索的“embedLink”值。
此外,在ChatGPT API调用和插入Google Doc会议纪要的步骤期间显示了进度条。
5. 可能的改进
在公司内部使用ChatGPT的主要挑战是泄露公司正在研究的敏感信息。最近,在三星公司,员工们在使用ChatGPT时意外泄露了公司机密。
这个代码的一个改进是在调用ChatGPT API之前执行数据屏蔽。至少参会者姓名和包含敏感信息的其他标记字段应该被屏蔽。会议名称也可以包含一些用于数据屏蔽的标记。例如 “与<Microsoft> 会面”,其中 “Microsoft” 将在整个记录文档数据提取中被屏蔽。一旦从ChatGPT API收到响应,就需要进行反向操作。每个屏蔽的信息在调用Google Docs API之前都需要被取消屏蔽。
为此,需要使用参考表来存储每个字段ID及其清晰和屏蔽值。因此,这些字段在调用ChatGPT API之前可以被屏蔽,然后在使用Google Docs API插入会议记录的部分时被取消屏蔽。
6. 最后的话
感谢您阅读完我的文章,希望您喜欢它!
正如您所看到的,ChatGPT 4 API与Google Drive/Docs API相结合非常强大,可以显著提高您的日常工作效率。
您可以在我的GitLab上找到整个源代码:使用ChatGPT生成会议记录
