首页AI 新闻
OpenAI推出了一个关于如何使用GPT-4和Whisper创建自动会议笔记工具的新教程。
11

OpenAI推出了一个关于如何使用GPT-4和Whisper创建自动会议笔记工具的新教程。

好说新闻
好说新闻
2023-07-28 04:08

使用Whisper和GPT-4创建自动化会议纪要生成器

在这个教程中,我们将利用OpenAI的Whisper和GPT-4模型来开发一个自动化会议纪要生成器。这个应用可以转录会议音频,提供讨论摘要,提取关键点和行动项目,并执行情绪分析。

准备开始

本教程假设您具有基本的Python和OpenAI API密钥的理解。您可以使用本教程提供的音频文件或您自己的音频文件。

另外,您需要安装python-docx和OpenAI库。您可以创建一个新的Python环境,并使用以下命令安装所需的软件包:

使用Whisper进行音频转录

转录会议音频的第一步是将会议的音频文件传递到我们的/v1/audio API中。Whisper是驱动音频API的模型,能够将口语转换为书面文本。我们将避免传递提示或温度(控制模型输出的可选参数),并保持默认值。

接下来,我们导入所需的包,并定义一个函数,该函数使用Whisper模型接收音频文件并进行转录:

在此函数中,audio_file_path是您想要转录的音频文件的路径。该函数打开此文件并将其传递给Whisper ASR模型(whisper-1)进行转录。结果以原始文本形式返回。需要注意的是,openai.Audio.transcribe函数需要传递实际的音频文件,而不仅仅是文件在本地或远程服务器上的路径。这意味着如果您在服务器上运行此代码,并且您可能不存储音频文件,您需要先进行预处理步骤,将音频文件下载到该设备上。

使用GPT-4对会议记录进行摘要和分析。

获得了会议记录后,我们通过ChatCompletions API将其传递给GPT-4。 GPT-4是OpenAI的最新大型语言模型,我们将使用它来生成摘要,提取关键点和行动项目,并执行情绪分析。

本教程使用不同的函数来执行我们希望GPT-4完成的每个任务。这并不是最高效的方法 - 你可以将这些指令放入一个函数中,但是将它们拆分可以提高摘要的质量。

为了拆分这些任务,我们定义了meeting_minutes函数,它将作为该应用程序的主要函数:

在这个函数中,transcription是我们从Whisper获取的文本。这个文本可以传递给其他四个函数,每个函数都设计用于执行特定的任务:abstract_summary_extraction生成会议的摘要,key_points_extraction提取主要要点,action_item_extraction识别行动项目,sentiment_analysis执行情绪分析。如果你想要其他功能,也可以使用上面展示的相同框架添加进来。

下面是每个函数的工作原理:

摘要提取函数

摘要提取函数会将转录的文本进行摘要,形成简洁的段落,目的是保留最重要的要点,避免不必要的细节或离题的内容。实现这一过程的主要机制是下面所示的系统消息。通过称为提示工程的过程,可以通过许多不同的方式实现类似的结果。您可以阅读我们的GPT最佳实践指南,其中提供了关于如何最有效地进行这项工作的深入建议。

要点提取

主要要点提取函数会确定并列出会议讨论的主要要点。这些要点应该代表讨论的核心内容中最重要的观点、发现或关键主题。同样,控制识别这些要点的主要机制是系统消息。您可能希望在此处提供一些额外的背景信息,例如关于您的项目或公司的运营方式,比如“我们是一家向消费者销售赛车的公司。我们以XYZ为目标进行XYZ操作”。这些额外的背景信息可以极大地提高模型提取相关信息的能力。

行动项目提取函数

行动项目提取函数识别会议中商定或提及的任务、指派或行动。这些行动项目可以是指派给特定人员的任务,也可以是团队决定采取的一般行动。虽然本教程没有涵盖这方面,但是 Chat Completions API 提供了函数调用功能,可以让你实现自动在任务管理软件中创建任务并分配给相关人员的能力。

情感分析

The sentiment_analysis function 分析了整个讨论的情感。它考虑了使用的语言的语气和传达的情感,以及单词和短语使用的上下文。对于较简单的任务,除了使用 gpt-4,还可以尝试使用 gpt-3.5-turbo,看是否可以获得类似的性能。另外,将 sentiment_analysis 函数的结果传递给其他函数进行实验,观察讨论的情感如何影响其他属性,可能也会有一定的帮助。

导出会议记录

生成了会议记录后,将其保存为可读格式以便于分发是非常有益的。Microsoft Word 是这类报告的常见格式之一。Python 的 docx 库是一个流行的开源库,用于创建 Word 文档。如果您想构建一个完整的会议纪要应用程序,可以考虑删除此导出步骤,改为将摘要作为电子邮件跟进内嵌发送。

为了处理导出过程,我们可以定义一个名为 save_as_docx 的函数,将原始文本转换为 Word 文档

在这个函数中,minutes 是一个包含会议的摘要、要点、行动事项和情感分析的字典。Filename 是要创建的 Word 文档文件的名称。该函数创建一个新的 Word 文档,为会议纪要的每个部分添加标题和内容,然后将文档保存到当前工作目录。

最后,您可以将所有步骤组合在一起,从音频文件中生成会议纪要:

这段代码会转录音频文件 Earningscall.wav,生成会议纪要,并将其打印出来,然后保存到名为 meeting_minutes.docx 的 Word 文档中。

现在您已经有了基本的会议纪要处理设置,可以尝试通过提示工程来优化性能,或者构建一个端到端系统,实现本地函数调用。

转载自查看原文

全部讨论

no data来都来了,坐下聊聊