【コピペで動く】WhisperとChatGPT APIで会議を要約するアプリ作った話
本日(3/2)、ChatGPT APIとWhisper APIが発表されました!
ChatGPTとWhisperについておさらいすると、
ChatGPTは、「要望に合わせて返事をしてくれるAI」
Whisperは、「音声を文字起こししてくれるAI」です。
これらのAPIが提供されたということは、
ほんのわずかのプログラムで
実行できる仕組みが提供された
ということです!
このWhisperとChatGPTを試しに使ってみたいということで、
Whisperで会議を文字起こしして、
ChatGPTで要約するアプリ
をGoogle Colab上に作ってみました。
下にあるコードをGoogle Colabにコピペするだけで
あなたのパソコンでも動きますので
ぜひ試してみてください!
1. OpenAIのインストール
!pip install openai
import openai
openai.api_key = "あなたのapi_key"
apiキーはOpenAIにログインして取得することができます!
下のページにアクセスして、ログインしてください。
ログインしたら、右上のアイコンをクリックすると、
View API keysが出てきます。
ここで、APIキーを生成して、
プログラムの中に入れましょう。
2.音声を録音するプログラム
from IPython.display import Javascript
from google.colab import output
from base64 import b64decode
RECORD = """
const sleep = time => new Promise(resolve => setTimeout(resolve, time))
const b2text = blob => new Promise(resolve => {
const reader = new FileReader()
reader.onloadend = e => resolve(e.srcElement.result)
reader.readAsDataURL(blob)
})
var record = time => new Promise(async resolve => {
stream = await navigator.mediaDevices.getUserMedia({ audio: true })
recorder = new MediaRecorder(stream)
chunks = []
recorder.ondataavailable = e => chunks.push(e.data)
recorder.start()
await sleep(time)
recorder.onstop = async ()=>{
blob = new Blob(chunks)
text = await b2text(blob)
resolve(text)
}
recorder.stop()
})
"""
def record(sec=3):
display(Javascript(RECORD))
s = output.eval_js('record(%d)' % (sec*1000))
b = b64decode(s.split(',')[1])
with open('audio.wav','wb') as f:
f.write(b)
return 'audio.wav' # or webm ?
3.Whisperを実行するプログラム
record(sec=120) #秒数はここで変更可能
file = open("audio.wav", "rb")
transcription = openai.Audio.transcribe("whisper-1", file)
print(transcription.text)
4.ChatGPTを使って要約するプログラム
message = "次の文を30字で要約してください。「{}」".format(transcription.text)
print(message)
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": message}]
)
print(completion.choices[0].message.content)
これらをGoogle Colabに
コピペしてもらえれば準備完了です!
ちなみに3つめのコードを実行すると、
2分間音声が録音されます。
録音は自動で終了するので、勝手に止めないように気をつけてください。(エラーが出る)
今回は、弊社ののCOO小野寺と、
このアプリの可能性について
2分間話してみました。
するとWhisper APIが2分の内容を
わずか数秒で文字起こししてくれました。
そして、これをそのままChatGPT APIで要約させた結果がこちら!
WhisperxChatGPTは、SiriやAlexaがあなたのいうことを聞いてくれる感じ
今回は音声を要約させてみましたが、SiriやAlexaのような、音声認識AIを最小工数で作れると感じました。ぜひお試しください!
AI開発を勉強したい方はAcademiXへ
もし、AI開発にご興味がある方は、
ぜひ弊社が運営に携わっている
AcademiXにご参加ください〜!