メインコンテンツへスキップ

Whisper 音声認識サービス

Repoをフォーク: whisper-speech-recognition

このプロジェクトでは、Flaskを使用したPython環境で、OpenAIのWhisperモデルを使用してローカル音声認識サービスをデプロイする方法を示します。目標は、ユーザーがLeapcell(leapcell.io)でAIモデルをデプロイする方法を学ぶのを支援することです。

前提条件

アプリケーションを実行する前に、依存関係をセットアップし、必要なWhisperモデルをダウンロードして、環境を準備する必要があります。次のスクリプトを実行します。

sh prepare_env.sh

これにより:

  1. Flask、Gunicorn、および必要な依存関係を含む、必要なPythonパッケージをインストールします。
  2. PyTorchおよび関連ライブラリ(特にCPU使用の場合)をインストールします。
  3. OpenAI Whisperライブラリをインストールまたは更新します。
  4. 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スクリプトを実行します。