"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > استكشاف Async Deepgram API: تحويل الكلام إلى نص باستخدام Python

استكشاف Async Deepgram API: تحويل الكلام إلى نص باستخدام Python

تم النشر بتاريخ 2024-11-07
تصفح:839

اليوم سوف نستكشف واجهة برمجة تطبيقات Deepgram لتحويل الصوت إلى نص [النسخ]. سواء كنت تقوم بإنشاء مساعد صوتي، أو تدوين الاجتماعات، أو إنشاء تطبيق يتم التحكم فيه بالصوت، فإن Deepgram يجعل البدء أسهل من أي وقت مضى.

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

ما هو ديبجرام؟

Deepgram عبارة عن منصة قوية للتعرف على الكلام تستخدم نماذج التعلم الآلي المتقدمة لنسخ الصوت في الوقت الفعلي. فهو يوفر واجهة برمجة تطبيقات سهلة الاستخدام يمكن للمطورين دمجها في تطبيقاتهم للقيام بمهام مثل تحويل المكالمات الهاتفية إلى نص، أو تحويل الاجتماعات إلى نص، أو حتى تحليل تفاعلات العملاء.

لماذا نستخدم ديبجرام؟

  • الدقة: يتميز Deepgram بمعدلات دقة عالية بفضل خوارزميات التعلم العميق المدربة على مجموعات كبيرة من البيانات.

  • النسخ في الوقت الفعلي: احصل على نتائج فورية أثناء التحدث، وهو مثالي للتطبيقات المباشرة.

  • لغات متعددة: يدعم العديد من اللغات واللهجات، مما يجعله متعدد الاستخدامات للتطبيقات العالمية.

البدء باستخدام Deepgram API

تثبيت - تثبيت النقطة 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
    }

4. إرسال الطلب غير المتزامن

    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

نقوم بإنشاء مثيل لـ httpx.AsyncClient بمهلة قدرها 60 ثانية. يضمن استخدام المزامنة إغلاق العميل بشكل صحيح بعد تنفيذ الكتلة.
إذا نجح الطلب، نقوم بتحليل استجابة JSON ونسجلها، ثم نعيد النتيجة.

عنوان URL لمعاودة الاتصال :

يمكنك استخدام نموذج URL لمعاودة الاتصال للاختبار.

خاتمة:

يسلط هذا النهج المنظم الضوء على كيفية استخدام البرمجة غير المتزامنة في Python للتفاعل مع Deepgram API بكفاءة. من خلال تقسيم التعليمات البرمجية إلى كتل وشرح كل جزء، يمكن للقراء فهم التنفيذ بشكل أفضل وكيفية تكييفه مع احتياجاتهم الخاصة.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/shadow_b/exploring-async-deepgram-api-speech-to-text-using-python-5ckl?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3