مساعد صوتيتعرف على الكلامTTSدليل تعليمي

بناء مساعد صوتي بالذكاء الاصطناعي: من التعرف على الكلام إلى الاستجابة

212AY Team·2026-05-15·14 دقيقة

المساعدون الصوتيون أصبحوا في كل مكان. يوضح هذا الدليل كيفية بناء مساعد صوتي خاص بك من الصفر.

نظرة عامة على البنية

المساعد الصوتي له أربعة مكونات:

  1. تحويل الكلام إلى نص (STT): تحويل الصوت إلى نص
  2. فهم اللغة الطبيعية (NLU): فهم القصد
  3. توليد الاستجابة: توليد الرد المناسب
  4. تحويل النص إلى كلام (TTS): تحويل الرد إلى كلام
  5. الخطوة 1: التعرف على الكلام

    import speech_recognition as sr
    
    def listen():
        recognizer = sr.Recognizer()
        with sr.Microphone() as source:
            print("جارٍ الاستماع...")
            audio = recognizer.listen(source)
        
        try:
            text = recognizer.recognize_whisper(audio, language="arabic")
            return text
        except sr.UnknownValueError:
            return "لم يمكن فهم الصوت"
        except sr.RequestError:
            return "تعذر طلب النتائج"
    

    الخطوة 2: التعرف على القصد

    def understand_intent(text):
        import openai
        
        response = openai.chat.completions.create(
            model="gpt-4",
            messages=[
                {"role": "system", "content": "صنف القصد من رسالة المستخدم هذه: طقس، تذكير، بحث، عام"},
                {"role": "user", "content": text}
            ]
        )
        return response.choices[0].message.content.strip()
    

    الخطوة 3: توليد الاستجابة

    def generate_response(intent, text):
        if intent == "weather":
            # استدعاء API الطقس
            return "الطقس اليوم مشمس مع درجة حرارة عظمى 25 درجة."
        elif intent == "reminder":
            # منطق تعيين التذكير
            return "لقد قمت بتعيين تذكير لك."
        else:
            # محادثة عامة
            response = openai.chat.completions.create(
                model="gpt-4",
                messages=[{"role": "user", "content": text}]
            )
            return response.choices[0].message.content
    

    الخطوة 4: تحويل النص إلى كلام

    from gtts import gTTS
    import pygame
    
    def speak(text, lang='ar'):
        tts = gTTS(text=text, lang=lang)
        tts.save('response.mp3')
        
        pygame.mixer.init()
        pygame.mixer.music.load('response.mp3')
        pygame.mixer.music.play()
        while pygame.mixer.music.get_busy():
            continue
    

    دعم متعدد اللغات

    للمساعدات الصوتية بالعربية أو الفرنسية:

    • STT: Whisper يدعم 100+ لغة
    • NLU: GPT-4 يعمل بالعربية والفرنسية
    • TTS: Google TTS يدعم العربية والفرنسية

    حالة استخدام واقعية: مساعد طبي

    بنيت شركة ناشئة في مجال التكنولوجيا الصحية في الدار البيضاء مساعداً صوتياً بالدارجة لـ:

    • جدولة المواعيد
    • تذكير الأدوية
    • فرز الأعراض
    • المعلومات الصحية

    يعالج المساعد 1,000+ مكالمة يومياً بالعربية المغربية.

    النشر

    • استخدم WebSocket للتواصل في الوقت الفعلي
    • انشر STT على مثيلات GPU لزمن استجابة منخفض
    • خزّن الاستجابات الشائعة مؤقتاً للسرعة
    • راقب الدقة ورضا المستخدمين

    الخطوات التالية

    • أضف كشف كلمة التنبيه ("مرحباً أيها المساعد")
    • طبق محادثات متعددة الجولات
    • أضف إجراءات مخصصة (إرسال بريد إلكتروني، التحكم في المنزل الذكي)
    • دعم التبديل بين اللغات

أدلة ذات صلة

كيف تبني روبوت محادثة ذكي لشركتك

دليل خطوة بخطوة لبناء ونشر روبوت محادثة ذكي مخصص لخدمة العملاء، وتوليد العملاء المحتملين، والدعم الداخلي.

بناء نظام RAG من الصفر: دليل عملي

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

الرؤية الحاسوبية للمبتدئين: بناء مصنف صور

دليل صديق للمبتدئين في الرؤية الحاسوبية، يغطي تصنيف الصور، واكتشاف الأشياء، وبناء أول تطبيق رؤية ذكاء اصطناعي.