成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenAI手把手官方教學:如何用GPT-4創建會議紀要生成AI

人工智能 新聞
大型語言模型 GPT-4 發布已經有些時日了,基于其開發的應用也層出不窮,不斷涌現。這些應用的強大能力已經為許多用戶的大量任務場景提供了助力。這里我們要分享的是 OpenAI 的一份官方文檔,其中詳細介紹了使用其語音識別模型 Whisper 和大型語言模型 GPT-4 創建會議紀要生成器的全流程。

本教程將介紹如何使用 OpenAI 的 Whisper 和 GPT-4 模型開發一個自動會議紀要生成器。該應用的功能是轉錄會議音頻、總結討論的內容、提取要點和行動項目以及執行情緒分析。

基礎技能

本教程假定讀者已經對 Python 和 OpenAI API 密鑰有了基本了解。你可以使用本教程提供的音頻或你自己的音頻。

此外,你還需要安裝 python-docx 和 OpenAI 庫。你可以使用以下命令新建一個 Python 環境并安裝所需軟件包:

python -m venv env

source env/bin/activate

pip install openai
pip install python-docx

使用 Whisper 轉錄音頻

轉錄會議音頻的第一步是將會議的音頻文件傳遞給 OpenAI 的 /v1/audio API。Whisper 是支持該音頻 API 的模型,其可將口語轉換成文本。開始會避免傳遞 prompt 或溫度參數(用于控制模型輸出的可選參數),堅持使用默認值。

接下來,導入所需的軟件包并定義一個函數 —— 該函數的功能是使用 Whisper 讀取音頻文件并轉錄它:

import openai
from docx import Document

def transcribe_audio(audio_file_path):
    with open(audio_file_path, 'rb') as audio_file:
        transcription = openai.Audio.transcribe("whisper-1", audio_file)
    return transcription['text']

在該函數中,audio_file_path 是你想要轉錄的音頻文件的路徑。該函數會打開文件并將其傳遞給 Whisper ASR 模型(whisper-1)進行轉錄。其返回的結果是原始文本形式。需要著重指出,openai.Audio.transcribe 函數需要傳入實際的音頻文件,而不僅僅是本地或遠程服務器上文件的路徑。這意味著,如果你在一個可能沒有存儲音頻文件的服務器上運行代碼,那么你可能需要一個預處理步驟將音頻文件首先下載到該設備上。

使用 GPT-4 總結和分析轉錄文本

獲得轉錄文本后,使用 ChatCompletions API 將其傳遞給 GPT-4。GPT-4 是 OpenAI 推出的當前最佳的大型語言模型,將被用于生成摘要、提取要點和行動項目并執行情感分析。

對于我們想要 GPT-4 執行的每一項不同任務,本教程會使用不同的函數。這不是完成該任務的最高效的方法(你可以將這些指令放入一個函數內),但是將這些任務分開能讓摘要的質量更高。

為了分開這些任務,定義一個函數 meeting_minutes 并將其作為該應用的主函數:

def meeting_minutes(transcription):
    abstract_summary = abstract_summary_extraction(transcription)
    key_points = key_points_extraction(transcription)
    action_items = action_item_extraction(transcription)
    sentiment = sentiment_analysis(transcription)
    return {
        'abstract_summary': abstract_summary,
        'key_points': key_points,
        'action_items': action_items,
        'sentiment': sentiment
    }

在這個函數中,transcription 是從 Whisper 獲得的文本。transcription 可以轉遞給四個其它函數,其中每個函數都執行一個特定任務:abstract_summary_extraction 用于生成會議摘要、key_points_extraction 用于提取要點、action_item_extraction 用于識別行動項目、sentiment_analysis 用于執行情感分析。如果你還想添加其它功能,可以使用上面所示的相同框架。

下面要介紹的是每個函數的工作方式:

摘要提取

abstract_summary_extraction 函數的功能是將轉錄文本總結成一段簡潔的摘要,目的是保留最重要的要點,同時避免不必要的細節或離題內容。實現這一過程的主要機制是如下的系統消息。通過所謂的 prompt 工程設計,有許多不同的可能方式都能得到相近的結果。如果你想知道如何才能最有效地做到這一點,可以查看 OpenAI 提供的「GPT 最佳實踐指南」中提供的深度建議:https://platform.openai.com/docs/guides/gpt-best-practices

def abstract_summary_extraction(transcription):
    response = openai.ChatCompletion.create(
        model="gpt-4",
        temperature=0,
        messages=[
            {
                "role": "system",
                "content": "You are a highly skilled AI trained in language comprehension and summarization. I would like you to read the following text and summarize it into a concise abstract paragraph. Aim to retain the most important points, providing a coherent and readable summary that could help a person understand the main points of the discussion without needing to read the entire text. Please avoid unnecessary details or tangential points."
            },
            {
                "role": "user",
                "content": transcription
            }
        ]
    )
    return response['choices'][0]['message']['content']

要點提取

key_points_extraction 函數的功能是識別并羅列會議討論的重點。這些要點應該包括最重要的想法、發現或對會議討論的實質至關重要的話題。同樣,控制識別這些要點的主要機制是系統消息。這里你可能需要給出一些額外的信息來說明你的項目或公司的經營方式,比如:「我們是一家向消費者銷售賽車的公司。我們做的是什么,目標是什么。」這些額外信息可以極大提升模型提取相關信息的能力。

def key_points_extraction(transcription):
    response = openai.ChatCompletion.create(
        model="gpt-4",
        temperature=0,
        messages=[
            {
                "role": "system",
                "content": "You are a proficient AI with a specialty in distilling information into key points. Based on the following text, identify and list the main points that were discussed or brought up. These should be the most important ideas, findings, or topics that are crucial to the essence of the discussion. Your goal is to provide a list that someone could read to quickly understand what was talked about."
            },
            {
                "role": "user",
                "content": transcription
            }
        ]
    )
    return response['choices'][0]['message']['content']

行動項目提取

action_item_extraction 函數的功能是識別會議期間達成一致或被提及的任務、工作分配或行動。具體可能包括指派給特定個人的任務或集體決定采取的行動。盡管本教程不會詳細解釋,但 Chat Completions API 提供了一個函數,其功能是讓用戶在任務管理軟件中自動創建任務并將其指派給相關人員。

def action_item_extraction(transcription):
    response = openai.ChatCompletion.create(
        model="gpt-4",
        temperature=0,
        messages=[
            {
                "role": "system",
                "content": "You are an AI expert in analyzing conversations and extracting action items. Please review the text and identify any tasks, assignments, or actions that were agreed upon or mentioned as needing to be done. These could be tasks assigned to specific individuals, or general actions that the group has decided to take. Please list these action items clearly and concisely."
            },
            {
                "role": "user",
                "content": transcription
            }
        ]
    )
    return response['choices'][0]['message']['content']

情感分析

sentiment_analysis 函數的功能是分析會議討論的整體情感。它會考慮語氣、所用語言傳達的情緒、詞和短語所在的上下文。對于復雜度不高的任務,除了 gpt-4 之外,gpt-3.5-turbo 也值得一試,你可以看看是否能獲得相近的性能水平。你也可以將 sentiment_analysis 函數的結果傳遞給其它函數,看看對話的情感會對其它屬性產生何種影響,這可能也很有用。

def sentiment_analysis(transcription):
    response = openai.ChatCompletion.create(
        model="gpt-4",
        temperature=0,
        messages=[
            {
                "role": "system",
                "content": "As an AI with expertise in language and emotion analysis, your task is to analyze the sentiment of the following text. Please consider the overall tone of the discussion, the emotion conveyed by the language used, and the context in which words and phrases are used. Indicate whether the sentiment is generally positive, negative, or neutral, and provide brief explanations for your analysis where possible."
            },
            {
                "role": "user",
                "content": transcription
            }
        ]
    )
    return response['choices'][0]['message']['content']

導出會議紀要

生成會議紀要后,我們通常需要將其保存為人類可讀且易于分發的格式。此類報告的一種常見格式是 Microsoft Word。Python docx 軟件庫是一個用于創建 Word 文檔的常用開源軟件庫。如果你想構建一個端到端的會議紀要應用,你可能會考慮移除這個導出步驟,而是將摘要放在后續跟進的電子郵件中一并發送。

要實現這個導出過程,可以定義一個將原始文本轉換成 Word 文檔的函數 save_as_docx。

def save_as_docx(minutes, filename):
    doc = Document()
    for key, value in minutes.items():
        # Replace underscores with spaces and capitalize each word for the heading
        heading = ' '.join(word.capitalize() for word in key.split('_'))
        doc.add_heading(heading, level=1)
        doc.add_paragraph(value)
        # Add a line break between sections
        doc.add_paragraph()
    doc.save(filename)

在這個函數中,minutes 是一個詞典,包含會議的摘要、要點、行動項目和情感分析。filename 是要創建的 Word 文檔文件的名稱。這個函數會創建一個新 Word 文檔,并為該紀要的每個部分添加標題和內容,然后將該文檔保存到當前工作目錄。

最后,你可以將所有內容放在一起,從音頻文件生成會議紀要:

audio_file_path = "Earningscall.wav"
transcription = transcribe_audio(audio_file_path)
minutes = meeting_minutes(transcription)
print(minutes)

save_as_docx(minutes, 'meeting_minutes.docx')

這段代碼首先會轉錄音頻文件 Earningscall.wav,再生成會議紀要并輸出,然后將會議紀要保存為一個 Word 文檔并命名為 meeting_minutes.docx。

這就是基本的會議紀要處理步驟,請試試看通過 prompt 工程設計優化其性能或通過本地函數調用構建一個端到端系統。

責任編輯:張燕妮 來源: 機器之心
相關推薦

2023-04-13 15:10:58

AI模型

2009-03-18 11:36:21

代理服務器下載MyEclipse7.

2014-11-17 11:13:17

易維

2023-08-23 12:02:49

數據OpenAIGPT-3.5

2021-06-05 10:31:53

動態排序圖可視化

2023-12-09 13:24:40

OpenAIChatGPT人工智能

2023-04-09 16:17:05

ChatGPT人工智能

2023-07-04 07:37:20

AzureOpenAI操作手冊

2023-07-07 09:32:57

GPT-4OpenAI

2023-06-19 08:19:50

2023-10-28 08:51:35

Java多線程服務

2022-07-27 08:16:22

搜索引擎Lucene

2022-12-07 08:42:35

2023-12-17 22:04:04

微軟GPT-4

2023-03-16 17:28:59

技術AI

2024-05-28 14:40:00

2023-08-06 08:06:30

OpenAIChatGPTGPT-4

2025-04-16 09:35:03

2023-03-31 15:11:26

OpenAIAI

2023-03-16 08:13:56

人工智能?OpenAI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区在线视频 | 久久日韩粉嫩一区二区三区 | 欧美日韩国产一区二区三区 | 天天躁日日躁狠狠躁2018小说 | 成人在线免费看 | 久久鲁视频 | 亚洲精品一区二三区不卡 | jdav视频在线观看免费 | 一区二区国产精品 | 精品国产乱码久久久久久88av | 奇米超碰 | 国产视频精品视频 | 丝袜天堂 | 夜夜骑综合| 91精品国产一区二区三区 | 久久精品 | 国产精品一级在线观看 | 视频一区 亚洲 | 久久性色 | 国产精品久久国产精品久久 | 91佛爷在线观看 | www.国产精| 亚洲狠狠爱 | 一区二区三区四区在线播放 | 午夜视频在线观看网站 | 日韩精品一区二区三区高清免费 | 亚洲成人高清 | 夜夜精品浪潮av一区二区三区 | 色综合久 | 亚洲国产精品久久久久秋霞不卡 | 91亚洲精华国产 | 国内自拍偷拍 | 亚洲日韩中文字幕一区 | 人人干人人超 | 国产在线观看网站 | 久久久久网站 | 97碰碰碰| 国产亚洲精品综合一区 | 欧美日韩成人在线观看 | 亚洲日韩中文字幕一区 | 久久一|