Whisper 音声認識サービス
Repoをフォーク: whisper-speech-recognition
このプロジェクトでは、Flaskを使用したPython環境で、OpenAIのWhisperモデルを使用してローカル音声認識サービスをデプロイする方法を示します。目標は、ユーザーがLeapcell(leapcell.io)でAIモデルをデプロイする方法を学ぶのを支援することです。
前提条件
アプリケーションを実行する前に、依存関係をセットアップし、必要なWhisperモデルをダウンロードして、環境を準備する必要があります。次のスクリプトを実行します。
sh prepare_env.sh
これにより:
- Flask、Gunicorn、および必要な依存関係を含む、必要なPythonパッケージをインストールします。
- PyTorchおよび関連ライブラリ(特にCPU使用の場合)をインストールします。
- OpenAI Whisperライブラリをインストールまたは更新します。
- Pythonスクリプトを使用して、必要なWhisperモデルをダウンロードします。
プロジェクト構成
.
├── LICENSE # プロジェクトのライセンスファイル
├── download_model.py # 必要なWhisperモデルを ダウンロードするPythonスクリプト
├── prepare_env.sh # 環境をセットアップし、モデルをダウンロードするためのスクリプト
├── static
│ └── audio_files
│ └── demo.wav # サービスをテストするためのサンプルオーディオファイル
└── templates
└── index.html # サービスのメインページのHTMLテンプレート
アプリケーションの実行
環境を準備したら、次のコマンドでWebサービスを開始できます。
gunicorn -w 4 app:app
これにより、本番環境へのデプロイメントのためにGunicornを使 用してFlaskアプリケーションが起動されます。サービスはhttp://localhost:5000
で利用可能になり、文字起こしのためにオーディオファイルをアップロードできます。文字起こしされたテキストが返されます。
prepare_env.sh
の説明
このスクリプトは、環境をセットアップし、Whisperモデルをダウンロードする役割を担います。各行が何をするかの内訳は次のとおりです。
#!/bin/sh
# コマンドがゼロ以外のステータスで終了した場合、すぐに終了します
set -e
# Flask、python - multipart、およびGunicornをインストールします
pip install flask python-multipart gunicorn
# PyTorchおよび関連ライブラリ(torchvision、torchaudio)をインストールします
# PyTorchのCPU専用ホイールインデックスから
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
# OpenAI Whisperライブラリをインストールまたは更新します
pip install -U openai-whisper
# Pythonスクリプトを実行して、必要なWhisperモデルをダウンロードします
# このスクリプトはビルドステップでモデルをダウンロードします
python download_model.py
set -e
: コマンドが失敗した場合にスクリプトが停止するようにします。pip install flask python-multipart gunicorn
: Flask(Webサービス用)、python-multipart
(ファイルアップロードの処理用)、およびGunicorn(本番グレードのWSGI HTTPサーバー)をインス トールします。pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
: Whisperモデルを実行するために、(CPU用に最適化された)PyTorchおよび関連ライブラリをインストールします。pip install -U openai-whisper
: OpenAI Whisperライブラリをインストールまたは更新します。python download_model.py
: 文字起こしに必要なWhisperモデルをダウンロードするためにPythonスクリプトを実行します。