Heim >Backend-Entwicklung >Python-Tutorial >Erstellen einer Sprachtranskriptions- und Übersetzungs-App mit OpenAI Whisper und Streamlit
In dieser Anleitung erfahren Sie, wie Sie mit dem Streamlit st.audio_input-Widget Ihre Stimme auf dem Mikrofon Ihres Geräts aufzeichnen und es mit dem OpenAI Whisper-Modell kombinieren, um Ihre Rede in Text auf Englisch zu transkribieren und/oder zu übersetzen. Sie können den transkribierten Inhalt später als Textdatei im TXT-Format herunterladen.
Whisper ist ein trainiertes neuronales Open-Source-Netzwerk, das die Robustheit und Genauigkeit der englischen Spracherkennung auf menschlichem Niveau erreicht.
Die OpenAI-API bietet zwei Endpunkte:
Auf der offiziellen Website bietet Streamlit eine schnellere Möglichkeit, Daten-Apps zu erstellen und zu teilen. Es handelt sich um eine Open-Source-Python-Bibliothek, die Sie beim Erstellen von Webanwendungen zum Teilen von Analyseergebnissen, zum Erstellen komplexer interaktiver Erlebnisse und zum Iterieren auf neuen Modellen des maschinellen Lernens unterstützt.
Streamlit ist die erste Wahl für Python-Entwickler, da es über integrierte und praktische Methoden verfügt, von der Aufnahme von Benutzereingaben wie Text, Zahlen und Daten bis hin zur Anzeige interaktiver Diagramme mithilfe der beliebtesten und leistungsstärksten Python-Grafikbibliotheken.
Um Streamlit-Apps auszuführen, müssen Sie Streamlit zunächst mit dem folgenden Befehl installieren:
pip install streamlit
Da wir mit der Umwandlung von Audio in Text arbeiten, müssen wir unsere Umgebungsvariablen sicher speichern.
pip install openai python-dotenv
Erstellen Sie eine neue Datei im Stammverzeichnis des Projekts und nennen Sie sie .env.
Fügen Sie Ihren OpenAI-API-Schlüssel ein:
.env
OPENAI_API_KEY="sk-..."
Erstellen Sie in Ihrem Verzeichnis diese Datei, streamlit_app.py, die den gesamten Python-Code enthält, um unser Audio zu transkribieren und zu übersetzen und den resultierenden Text auszugeben.
Um eine Instanz des OpenAI-Clients zu initialisieren, kopieren Sie diesen Code und fügen Sie ihn ein:
streamlit_app.py
import os from dotenv import load_dotenv from openai import OpenAI load_dotenv() api_key = os.getenv('OPENAI_API_KEY') client = OpenAI()
Der Codeblock stellt eine Verbindung her und liest unseren geheimen Schlüssel in der .env-Datei, um sicherzustellen, dass wir als Benutzer authentifiziert sind.
PS: Die Nutzung der OpenAI-API ist nicht kostenlos, da Sie einige Credits kaufen müssen, um den Dienst nutzen zu können.
Aktualisieren wir streamlit_app.py mit Folgendem:
streamlit_app.py
... import streamlit as st st.logo( "logo.png", size="medium", link="https://platform.openai.com/docs", ) st.title("Transcription with Whisper") audio_value = st.audio_input("record a voice message to transcribe") if audio_value: transcript = client.audio.transcriptions.create( model="whisper-1", file = audio_value ) transcript_text = transcript.text st.write(transcript_text)
Die Transkriptions-API konvertiert unser Audio mithilfe des st.audio_input-Widgets, um unsere Stimme aufzuzeichnen. Wenn die Aufnahme vorhanden ist, wird das Modell Whisper verwendet, um das gewünschte Dateiformat für die Transkription des Audios zu erstellen und den Text mit der Funktion st.write() auszugeben, die einen String nimmt und ihn direkt in unsere Web-App schreibt.
Um das genaue Logo oben links in der App zu verwenden, laden Sie dieses herunter und speichern Sie es in Ihrem Projektverzeichnis.
Jetzt führen wir diese App mit diesem Befehl im Terminal aus:
pip install streamlit
Die Möglichkeit, die transkribierte Nachricht für später herunterzuladen, dient der Aufzeichnung, wenn Sie sie benötigen.
Streamlit bietet ein Eingabe-Widget, das die Anzeige eines Download-Buttons ermöglicht. Kehren Sie zur Datei streamlit_app.py zurück und aktualisieren Sie die Codebasis wie folgt:
streamlit_app.py
pip install openai python-dotenv
In den obigen Codezeilen geschieht Folgendes:
Das st.success-Statuselement zeigt eine Erfolgsmeldung an, wenn die Datei wie folgt gespeichert wird:
Der Prozess zum Erstellen der Übersetzung ähnelt dem Erstellen der Transkription. Der Übersetzungsendpunkt übersetzt aus der Eingabe der Audiodatei eine Fremdsprache in geschriebenen Text auf Englisch.
Kopieren Sie diesen Code und fügen Sie ihn ein.
streamlit_app.py
OPENAI_API_KEY="sk-..."
Wenn Sie eine Datei erstellen möchten, um Ihre übersetzte Audiodatei als Text zu speichern, können Sie genauso vorgehen wie mit der Schaltfläche Transkript herunterladen.
Der vollständige Quellcode befindet sich in diesem Repository. Probieren Sie diese App aus, Ihre Stimme zu transkribieren und in Text zu übersetzen.
Viel Glück!
Anstatt wie in den OpenAI-Dokumenten vorab aufgezeichnete Audiodaten aus dem Internet zu verwenden, bietet Ihnen Streamlit die Möglichkeit, Ihre Stimme zu verwenden und sie mit den von OpenAI bereitgestellten Transkriptions- und Übersetzungsendpunkten zu koppeln, um dieses herausragende Projekt zu erstellen.
Das Mikrofon in Ihrem Gerät kann so viel, denn die Technologie ermöglicht es, es nicht nur für die Kommunikation bei Besprechungen und Anrufen zu verwenden.
Das obige ist der detaillierte Inhalt vonErstellen einer Sprachtranskriptions- und Übersetzungs-App mit OpenAI Whisper und Streamlit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!