Rumah >pembangunan bahagian belakang >Tutorial Python >Meneroka Async Deepgram API: Ucapan-ke-Teks menggunakan Python
Hari ini akan meneroka API Deepgram untuk menukar suara kepada teks [transkripsi]. Sama ada membina pembantu suara, menyalin mesyuarat atau mencipta apl terkawal suara, Deepgram menjadikannya lebih mudah untuk bermula.
Deepgram ialah platform pengecaman pertuturan yang berkuasa yang menggunakan model pembelajaran mesin lanjutan untuk menyalin audio dalam masa nyata. Ia menawarkan API yang mudah digunakan yang boleh disepadukan oleh pembangun ke dalam aplikasi mereka untuk tugas seperti menyalin panggilan telefon, menukar mesyuarat kepada teks atau menganalisis interaksi pelanggan.
Ketepatan: Deepgram menawarkan kadar ketepatan yang tinggi berkat algoritma pembelajaran mendalamnya yang dilatih pada set data yang luas.
Transkripsi Masa Nyata: Dapatkan hasil segera semasa anda bercakap, sesuai untuk aplikasi langsung.
Berbilang Bahasa: Menyokong beberapa bahasa dan aksen, menjadikannya serba boleh untuk aplikasi global.
Pasang - pasang pip httpx
import httpx import asyncio import logging import traceback
#recording_url: The URL of the audio file to be transcribed. #callback_url: The URL to which Deepgram will send the #transcription results (optional). #api_key: Your Deepgram API key. async def transcribe_audio(recording_url: str, callback_url: str, api_key: str): url = "https://api.deepgram.com/v1/listen" # Define headers headers = { "Authorization": f"Token {api_key}" } # Define query parameters query_params = { "callback_method": "post", "callback": callback_url } # Define body parameters body_params = { "url": recording_url }
logger.info(f"Sending request to {url} with headers: {headers}, query: {query_params}, body: {body_params}") async with httpx.AsyncClient(timeout=60.0) as client: try: # Make a POST request with query parameters and body response = await client.post(url, headers=headers, params=query_params, json=body_params) response.raise_for_status() # Raise an error for HTTP error responses result = response.json() logger.info(f"Response received: {result}") return result
Kami mencipta contoh httpx.AsyncClient dengan tamat masa selama 60 saat. Menggunakan async with memastikan klien ditutup dengan betul selepas blok dilaksanakan.
Jika permintaan itu berjaya, kami menghuraikan respons JSON dan mencatatkannya, kemudian mengembalikan hasilnya.
Anda boleh gunakan untuk contoh URL panggilan balik untuk ujian.
Pendekatan berstruktur ini menyerlahkan cara menggunakan pengaturcaraan tak segerak dalam Python untuk berinteraksi dengan API Deepgram dengan cekap. Dengan memecahkan kod kepada blok dan menerangkan setiap bahagian, pembaca boleh lebih memahami pelaksanaan dan cara menyesuaikannya dengan keperluan mereka sendiri.
Atas ialah kandungan terperinci Meneroka Async Deepgram API: Ucapan-ke-Teks menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!