Rumah >pembangunan bahagian belakang >Tutorial Python >Membina Apl Transkripsi dan Terjemahan Suara dengan OpenAI Whisper dan Streamlit
Panduan ini akan mengajar anda cara menggunakan widget Streamlit st.audio_input untuk merakam suara anda pada mikrofon peranti anda yang dipasangkan dengan model OpenAI Whisper untuk menyalin dan/atau menterjemahkan ucapan anda kepada teks dalam bahasa Inggeris. Anda kemudiannya boleh memuat turun kandungan yang ditranskripsikan sebagai fail teks dalam format .txt.
Whisper ialah rangkaian saraf sumber terbuka terlatih yang mendekati keteguhan dan ketepatan peringkat manusia dalam pengecaman pertuturan bahasa Inggeris.
API OpenAI menyediakan dua titik akhir:
Dari tapak web rasmi, Streamlit ialah cara yang lebih pantas untuk membina dan berkongsi apl data. Ia ialah perpustakaan Python sumber terbuka yang membantu anda membina aplikasi web untuk berkongsi hasil analisis, membina pengalaman interaktif yang kompleks dan mengulangi di atas model pembelajaran mesin baharu.
Streamlit ialah pilihan utama untuk pembangun Python kerana ia mempunyai kaedah terbina dalam dan mudah, daripada mengambil input pengguna seperti teks, nombor dan tarikh kepada menunjukkan graf interaktif menggunakan perpustakaan grafik Python yang paling popular dan berkuasa.
Untuk menjalankan sebarang apl Streamlit, anda mesti memasang Streamlit menggunakan arahan:
pip install streamlit
Memandangkan kami sedang berusaha dengan menukar audio kepada teks, kami perlu menyimpan pembolehubah persekitaran kami dengan selamat.
pip install openai python-dotenv
Buat fail baharu dalam direktori projek akar dan namakannya .env.
Tampal dalam kunci API OpenAI anda:
.env
OPENAI_API_KEY="sk-..."
Dalam direktori anda, buat fail ini, streamlit_app.py yang akan mengandungi semua kod Python untuk menyalin dan menterjemah audio kami dan mengeluarkan teks yang terhasil.
Untuk memulakan instance klien OpenAI, salin-tampal kod ini:
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()
Blok kod menyambung dan membaca kunci rahsia kami dalam fail .env, memastikan kami disahkan sebagai pengguna.
PS: Menggunakan OpenAI API bukanlah percuma kerana anda perlu membeli beberapa kredit untuk menggunakan perkhidmatan tersebut.
Mari mengemas kini streamlit_app.py dengan yang berikut:
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)
API transkripsi akan menukar audio kami menggunakan widget st.audio_input untuk merakam suara kami. Jika rakaman itu wujud, model Whisper digunakan untuk mencipta format fail yang diingini untuk transkripsi audio dan mengeluarkan teks menggunakan fungsi st.write() yang mengambil rentetan dan menulisnya terus ke dalam apl web kami.
Untuk menggunakan logo yang tepat di bahagian atas sebelah kiri apl, muat turun ini dan simpan dalam direktori projek anda.
Sekarang, mari jalankan aplikasi ini dengan arahan ini dalam terminal:
pip install streamlit
Keupayaan untuk memuat turun mesej yang ditranskripsi untuk kemudian akan digunakan untuk penyimpanan rekod apabila anda memerlukannya.
Streamlit menawarkan widget input yang membenarkan paparan butang muat turun. Kembali ke fail streamlit_app.py, kemas kini pangkalan kod dengan yang berikut:
streamlit_app.py
pip install openai python-dotenv
Perkara berikut berlaku dalam baris kod di atas:
Elemen status st.success memaparkan mesej kejayaan apabila fail disimpan seperti yang ditunjukkan:
Proses mencipta terjemahan adalah serupa dengan mencipta transkripsi. Titik akhir terjemahan akan menterjemah bahasa asing ke dalam teks bertulis dalam bahasa Inggeris daripada input fail audio.
Salin dan tampal kod ini.
streamlit_app.py
OPENAI_API_KEY="sk-..."
Jika anda ingin mencipta fail untuk menyimpan fail audio terjemahan anda sebagai teks, anda boleh melakukan perkara yang sama seperti dengan butang Muat turun transkripsi.
Kod sumber lengkap ada dalam repositori ini dan cuba apl ini untuk menyalin dan menterjemah suara anda kepada teks.
Semoga berjaya!
Daripada menggunakan audio prarakam dari internet seperti yang dilihat dalam dokumen OpenAI, Streamlit menawarkan anda peluang untuk menggunakan suara anda dan memasangkannya dengan titik akhir transkripsi dan terjemahan yang disediakan oleh OpenAI untuk mencipta projek yang cemerlang ini.
Mikrofon dalam peranti anda boleh berbuat begitu banyak kerana teknologi telah memungkinkan untuk melampaui penggunaannya untuk komunikasi semasa mesyuarat dan panggilan.
Atas ialah kandungan terperinci Membina Apl Transkripsi dan Terjemahan Suara dengan OpenAI Whisper dan Streamlit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!