Aujourd'hui, nous explorerons l'API Deepgram pour convertir la voix en texte [transcription]. Qu'il s'agisse de créer un assistant vocal, de transcrire des réunions ou de créer une application à commande vocale, Deepgram facilite plus que jamais la prise en main.
Deepgram est une puissante plateforme de reconnaissance vocale qui utilise des modèles avancés d'apprentissage automatique pour transcrire l'audio en temps réel. Il propose une API facile à utiliser que les développeurs peuvent intégrer à leurs applications pour des tâches telles que la transcription d'appels téléphoniques, la conversion de réunions en texte ou même l'analyse des interactions clients.
Précision : Deepgram affiche des taux de précision élevés grâce à ses algorithmes d'apprentissage en profondeur entraînés sur de vastes ensembles de données.
Transcription en temps réel : obtenez des résultats instantanés pendant que vous parlez, parfaits pour les applications en direct.
Plusieurs langues : prend en charge plusieurs langues et accents, ce qui le rend polyvalent pour les applications mondiales.
Installer - pip install 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
Nous créons une instance de httpx.AsyncClient avec un délai d'attente de 60 secondes. L'utilisation d'async with garantit que le client est correctement fermé après l'exécution du bloc.
Si la requête aboutit, nous analysons la réponse JSON et la journalisons, puis renvoyons le résultat.
Vous pouvez utiliser un exemple d'URL de rappel à des fins de test.
Cette approche structurée montre comment utiliser la programmation asynchrone en Python pour interagir efficacement avec l'API Deepgram. En divisant le code en blocs et en expliquant chaque partie, les lecteurs peuvent mieux comprendre l'implémentation et comment l'adapter à leurs propres besoins.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3