Heim  >  Artikel  >  Backend-Entwicklung  >  Erkundung der Async Deepgram API: Speech-to-Text mit Python

Erkundung der Async Deepgram API: Speech-to-Text mit Python

Patricia Arquette
Patricia ArquetteOriginal
2024-10-21 18:16:30573Durchsuche

Heute wird die Deepgram-API zum Konvertieren von Sprache in Text [Transkription] untersucht. Ob Sie einen Sprachassistenten erstellen, Meetings transkribieren oder eine sprachgesteuerte App erstellen, Deepgram macht den Einstieg einfacher als je zuvor.

Exploring Async Deepgram API: Speech-to-Text using Python

Was ist Deepgram?

Deepgram ist eine leistungsstarke Spracherkennungsplattform, die fortschrittliche Modelle des maschinellen Lernens verwendet, um Audio in Echtzeit zu transkribieren. Es bietet eine benutzerfreundliche API, die Entwickler in ihre Anwendungen integrieren können, um Aufgaben wie das Transkribieren von Telefonanrufen, das Umwandeln von Besprechungen in Text oder sogar das Analysieren von Kundeninteraktionen zu erledigen.

Warum Deepgram verwenden?

  • Genauigkeit: Deepgram verfügt dank seiner Deep-Learning-Algorithmen, die auf riesigen Datensätzen trainiert wurden, über hohe Genauigkeitsraten.

  • Echtzeit-Transkription: Erhalten Sie sofortige Ergebnisse, während Sie sprechen, perfekt für Live-Anwendungen.

  • Mehrere Sprachen: Unterstützt mehrere Sprachen und Akzente und ist somit vielseitig für globale Anwendungen.

Erste Schritte mit der Deepgram-API

Installieren – pip install httpx

Erforderliche Bibliotheken importieren

import httpx
import asyncio
import logging
import traceback

Definieren der asynchronen Funktion

#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
    }

4. Senden der asynchronen Anfrage

    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

Wir erstellen eine Instanz von httpx.AsyncClient mit einem Timeout von 60 Sekunden. Durch die Verwendung von async with wird sichergestellt, dass der Client ordnungsgemäß geschlossen wird, nachdem der Block ausgeführt wurde.
Wenn die Anfrage erfolgreich ist, analysieren wir die JSON-Antwort, protokollieren sie und geben dann das Ergebnis zurück.

Rückruf-URL:

Sie können zum Testen eine Beispiel-Rückruf-URL verwenden.

Abschluss:

Dieser strukturierte Ansatz zeigt, wie man asynchrone Programmierung in Python nutzt, um effizient mit der Deepgram-API zu interagieren. Durch die Aufteilung des Codes in Blöcke und die Erläuterung jedes Teils können Leser die Implementierung besser verstehen und wissen, wie sie sie an ihre eigenen Bedürfnisse anpassen können.

Das obige ist der detaillierte Inhalt vonErkundung der Async Deepgram API: Speech-to-Text mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn