はじめに
ダンダダンってそういう話なのか! nikkieです。
過去に書いたOpenAIのWhisper APIの記事。
GroqもWhisperをホストしていることを知ったので、Groq版を書いていきます。
目次
- はじめに
- 目次
- Groq is Fast AI Inference
- GroqのWhisperを触る
- Groq「openaiライブラリからも叩けます」
- IMO:OpenAIとGroq、それぞれどのライブラリで利用する?
- 終わりに
Groq is Fast AI Inference
推論がめちゃ速いと話題になっていたGroq
現在はなんと無料で使えるようです。
サポートしているモデルはこちら:
https://console.groq.com/docs/models
音声の書き起こしをサポートするモデルは
- distil-whisper-large-v3-en
- whisper-large-v3
- whisper-large-v3-turbo
いずれもHugging Face Hubで公開されています。
Groqはこれらの公開モデルを、非常にIOの性能良くサーブしてくれているという理解です。
GroqのWhisperを触る
事前準備
APIキーを取得1し、環境変数GROQ_API_KEY
に設定します。
音声ファイル作成
% say 親譲りの無鉄砲で子供の時から損ばかりしている -o sample.wav --data-format=LEF32@16000
PythonでTranscriptions エンドポイントを呼び出す
% uv --version uv 0.4.27 (Homebrew 2024-10-25) % uv run script.py 親譲りの無鉄砲で子供の時から損ばかりしている。
実行された環境
- Python 3.12.6
- groq 0.13.0
- (直近リリースされた httpx 0.28.0 をサポート)
Groq「openaiライブラリからも叩けます」
https://groq.com/ の「Use Groq, Fast.」
つまり、こういうことです。
% export OPENAI_API_KEY=$GROQ_API_KEY % uv run script2.py 親譲りの無鉄砲で子供の時から損ばかりしている。
インターフェースが互換なので、Groqを利用するためのライブラリはgroqでもopenaiでも動作するわけですね2。
IMO:OpenAIとGroq、それぞれどのライブラリで利用する?
私はOpenAIのWhisperを使う場合はopenaiライブラリ、GroqのWhisperを使う場合はgroqライブラリと使い分けたいと考えています。
Groqを使うためにopenaiライブラリを設定するのは、その場しのぎのハック感が強いかなと思うのです。
Groqのドキュメントを見ていくと、使っているのはgroqライブラリです3。
インターフェースが互換ということで思い出したのが、「作ると使うを分ける」
今回のスクリプトでは、client
を引数に取る関数を抽出するとよさそうです。
def transcribe(client, filename): with open(filename, "rb") as f: transcription = client.audio.transcriptions.create( file=(filename, f.read()), model="whisper-large-v3-turbo", ) return transcription.text
- OpenAIのWhisperを使いたければ
openai.OpenAI
を渡す - GroqのWhisperを使いたければ
groq.Groq
を渡す
終わりに
GroqのWhisper APIを利用して音声ファイルの書き起こしをしました。
少ししか触っていないですが、速かった気はします。
- クレジットカード登録はなく、この記事の範囲では本当に無料で使えています↩
-
同様の戦略はGoogleも(OpenAIを猛追してる感)
↩Gemini is now accessible via the OpenAI libraries! Update 3 lines of code and get started with the latest Gemini models : )https://t.co/fG2f6EFsFY
— Logan Kilpatrick (@OfficialLoganK) 2024年11月8日 - Groq公式がドキュメントの中でopenaiを使っていたら、ハック感はやわらいだと思います↩