Zum Hauptinhalt springen

Whisper Spracherkennungsdienst

Fork Repo: whisper-speech-recognition

Dieses Projekt demonstriert, wie man einen lokalen Spracherkennungsdienst mit dem Whisper-Modell von OpenAI in einer Python-Umgebung mit Flask bereitstellt. Ziel ist es, Benutzern zu zeigen, wie man KI-Modelle mit Leapcell (leapcell.io) bereitstellt.

Voraussetzungen

Bevor Sie die Anwendung ausführen, müssen Sie die Umgebung vorbereiten, indem Sie Abhängigkeiten einrichten und das erforderliche Whisper-Modell herunterladen. Führen Sie das folgende Skript aus:

sh prepare_env.sh

Dies wird:

  1. Die erforderlichen Python-Pakete installieren, einschließlich Flask, Gunicorn und der erforderlichen Abhängigkeiten.
  2. PyTorch und zugehörige Bibliotheken installieren (speziell für die CPU-Nutzung).
  3. Die OpenAI Whisper-Bibliothek installieren oder aktualisieren.
  4. Das erforderliche Whisper-Modell mithilfe eines Python-Skripts herunterladen.

Projektstruktur

.
├── LICENSE # Lizenzdatei für das Projekt
├── download_model.py # Python-Skript zum Herunterladen des erforderlichen Whisper-Modells
├── prepare_env.sh # Skript zum Einrichten der Umgebung und Herunterladen des Modells
├── static
│ └── audio_files
│ └── demo.wav # Beispiel-Audiodatei zum Testen des Dienstes
└── templates
└── index.html # HTML-Vorlage für die Hauptseite des Dienstes

Ausführen der Anwendung

Sobald Sie die Umgebung vorbereitet haben, können Sie den Webdienst mit dem folgenden Befehl starten:

gunicorn -w 4 app:app

Dadurch wird die Flask-Anwendung mit Gunicorn für die Produktionsbereitstellung gestartet. Der Dienst ist unter http://localhost:5000 verfügbar, und Sie können eine Audiodatei zur Transkription hochladen. Der transkribierte Text wird zurückgegeben.


Erklärung von prepare_env.sh

Dieses Skript ist für das Einrichten der Umgebung und das Herunterladen des Whisper-Modells verantwortlich. Hier ist eine Aufschlüsselung dessen, was jede Zeile bewirkt:

#!/bin/sh

# Exit immediately if a command exits with a non - zero status
set -e

# Install Flask, python - multipart and Gunicorn
pip install flask python-multipart gunicorn

# Install PyTorch and related libraries (torchvision, torchaudio)
# from the CPU - only wheel index of PyTorch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

# Install or update the OpenAI Whisper library
pip install -U openai-whisper

# Run a Python script to download the necessary Whisper model
# This script will download the model in build step
python download_model.py
  • set -e: Stellt sicher, dass das Skript stoppt, wenn ein Befehl fehlschlägt.
  • pip install flask python-multipart gunicorn: Installiert Flask (für den Webdienst), python-multipart (für die Verarbeitung von Datei-Uploads) und Gunicorn (einen produktionsreifen WSGI-HTTP-Server).
  • pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu: Installiert PyTorch und zugehörige Bibliotheken (optimiert für CPU) für die Ausführung des Whisper-Modells.
  • pip install -U openai-whisper: Installiert oder aktualisiert die OpenAI Whisper-Bibliothek.
  • python download_model.py: Führt das Python-Skript aus, um das erforderliche Whisper-Modell für die Transkription herunterzuladen.