nikkie-ftnextの日記

イベントレポートや読書メモを発信

声をWhisper APIに聴かせて(OpenAIのAPI互換なGroqで高速書き起こし)

はじめに

ダンダダンってそういう話なのか! nikkieです。

過去に書いたOpenAIのWhisper APIの記事。

GroqもWhisperをホストしていることを知ったので、Groq版を書いていきます。

目次

Groq is Fast AI Inference

推論がめちゃ速いと話題になっていたGroq

groq.com

現在はなんと無料で使えるようです。

サポートしているモデルはこちら:
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に設定します。

console.groq.com

音声ファイル作成

% say 親譲りの無鉄砲で子供の時から損ばかりしている -o sample.wav --data-format=LEF32@16000

PythonでTranscriptions エンドポイントを呼び出す

console.groq.com

% 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.」

  1. With our OpenAI endpoint compatibility, simply set OPENAI_API_KEY to your Groq API Key.
  2. Set the base URL.

つまり、こういうことです。

% 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を利用して音声ファイルの書き起こしをしました。
少ししか触っていないですが、速かった気はします。

  • APIキーは現在無料。groqライブラリを使って楽々実装!
  • OpenAIのWhisper APIと互換。openaiライブラリで設定をハックしてもGroqのWhisperを使える

  1. クレジットカード登録はなく、この記事の範囲では本当に無料で使えています
  2. 同様の戦略はGoogleも(OpenAIを猛追してる感)
  3. Groq公式がドキュメントの中でopenaiを使っていたら、ハック感はやわらいだと思います