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. Das 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 erforderliche 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 zum Herunterladen des Modells
├── static
│ └── audio_files
│ └── demo.wav # Beispielhafte 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

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


Erklärung von prepare_env.sh

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

#!/bin/sh

# Beende sofort, wenn ein Befehl mit einem Status ungleich Null beendet wird
set -e

# Installiere Flask, python - multipart und Gunicorn
pip install flask python-multipart gunicorn

# Installiere PyTorch und zugehörige Bibliotheken (torchvision, torchaudio)
# vom CPU - only Wheel Index von PyTorch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

# Installiere oder aktualisiere die OpenAI Whisper-Bibliothek
pip install -U openai-whisper

# Führe ein Python-Skript aus, um das erforderliche Whisper-Modell herunterzuladen
# Dieses Skript lädt das Modell im Build-Schritt herunter
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 Handhabung 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.