افتح مساعد محادثة الذكاء الاصطناعي في الوقت الحقيقي لهاتفك

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

١٥ فبراير ٢٠٢٥

party-gif

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

مقدمة إلى مساعد المحادثة الذكي في الوقت الحقيقي

قبل نحو عام، في حوالي مارس 2023، عندما ظهر ChatGPT وأصبح الموضوع الأكثر إثارة للاهتمام في العالم، أتذكر بوضوح رؤية عرض تقديمي من Arony حيث بنى "Interview Breaker" - أداة ChatGPT تساعد على اجتياز المقابلات الوظيفية. هذا الأسبوع، قمت ببناء ما يسمى "Interview Breaker" - نموذج أولي مصنوع باستخدام ChatGPT لاجتياز المقابلات الوظيفية. إنه يأخذ خبرتك السابقة، ويستمع إلى محادثتك مع المقابل، ويخبرك بما تقول، ويملأك بالمعلومات التي قد لا تعرفها.

التحديات في بناء نسخة محررة في الوقت الحقيقي والاستنتاج السريع

كمهندس معماري كبير، عند تحديد الأولويات لما يجب التركيز عليه لخدمة الخلفية، أضع القابلية للتطوير في المقام الأول. هذا النوع من الأدوات سيحدث فوضى في عملية المقابلات الوظيفية. عادة، عندما تظهر هذه التقنيات الكبيرة، مثل الكمبيوتر أو الإنترنت، فإنها تغير جميع العمليات التي ظهرت قبلها. هذا يعني أن بعض هذه الأسئلة قد لا تكون له معنى للسؤال عنها إذا نظرنا إلى المستقبل البعيد.

بناء عرض تقديمي لمساعد المحادثة على الويب

اعتقدت أنها فكرة رائعة لأنني كنت في ذلك الوقت أمر بعملية مقابلات وظيفية، لذا كنت أود أن أكون لدي أداة في الوقت الفعلي يمكنها المساعدة في اجتيازها. حاولت بالفعل بناء هذا النموذج الأولي حيث استخدم نموذج تحويل الكلام إلى نص لإنشاء النص المكتوب وأيضًا استخدم نموذج لغة كبير لتوليد الإجابات، ولكن لم ينجح هذا النموذج الأولي جيدًا في الواقع. أحد المتطلبات الصعبة لهذه المساعدات الحقيقية للمقابلات أو المحادثات هو أنها يجب أن تكون منخفضة الإبطاء وفي الوقت الفعلي. إذا استغرق الأمر 30-40 ثانية لتوليد بعض النتائج، فلن يعمل بشكل جيد. لسوء الحظ، كان هذا هو الحال في مارس العام الماضي، حيث استغرق كل من نموذج تحويل الكلام إلى نص والنموذج اللغوي الكبير وقتًا طويلاً للاستنتاج. كان هذا مشروعًا بسيطًا في النظرية، ولكن من الصعب جدًا بناء منتج قابل للاستخدام في الواقع.

الاستفادة من مجموعة Whisper لمساعد المحادثة المحمول

ومع ذلك، بعد بضعة أشهر، رأيت منتجًا آخر يعرض سيناريو مماثل ولكن بأداء قريب من الوقت الفعلي. في هندسة الطيران، مثل محركات النفاثة أو إعادة دخول المركبات الفضائية، كيف تتعامل مع هذه التحديات؟

الخاتمة

هناك مكونان رئيسيان لبناء مرافق محادثة في الوقت الفعلي: النص المكتوب في الوقت الفعلي والاستنتاج السريع.

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

للتغلب على هذا، الحل الشائع هو إنشاء حلقة متكررة تلتقط باستمرار قطع صوتية صغيرة (على سبيل المثال، كل 2-5 ثوان)، وترسلها إلى نموذج تحويل الكلام إلى نص، وتجمع النصوص الصغيرة معًا. يتطلب هذا النهج تحسينات لضمان الدقة، مثل مقارنة أوقات الكلمات المتصلة لتعزيز النص المكتوب النهائي.

لحسن الحظ، تطورت تقنية تحويل الكلام إلى نص بسرعة، وهناك الآن حلول تمكن من النص المكتوب في الوقت الفعلي، مثل استخدام نماذج فائقة السرعة مستضافة على منصات مثل Replicate أو نشر نماذج خفيفة مثل Whisper Kit مباشرة على الأجهزة المحمولة.

الاستنتاج السريع هو التحدي الثاني لتحقيق استنتاج سريع جدًا باستخدام النموذج اللغوي الكبير لتوليد الاقتراحات في الوقت الفعلي. للتعامل مع هذا:

  1. اختر نموذج لغة سريع وصغير: نماذج مثل Meteo 7B أصغر وأسرع بكثير من GPT-4، مما يسمح بتوليد استجابة أسرع مع موارد حوسبية أقل.
  1. تقليل حجم الإدخال: مع طول المحادثة، يمكن أن يصبح إدخال النموذج اللغوي كبيرًا جدًا. يمكن استخدام تقنيات مثل تلخيص نموذج اللغة لاستخراج المعلومات ذات الصلة فقط وتقليل حجم الإدخال.
  1. تحسين توليد الإخراج: يمكن إجراء مزيد من التحسينات لتقليل عدد رموز الإخراج، مثل استخدام طرق هندسة المطالبة.

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

لبناء عرض تقديمي لمرافق محادثة تعاونية على الويب، سنستخدم مزيجًا من Flask (إطار عمل ويب Python) و Replicate (منصة لتشغيل نماذج الذكاء الاصطناعي المفتوحة المصدر).

المكونات الرئيسية هي:

  1. النص المكتوب في الوقت الفعلي: سنستخدم نموذج تحويل الكلام إلى نص سريع من Replicate لإنشاء نص مكتوب في الوقت الفعلي للمحادثة. ينطوي هذا على التقاط قطع صوتية صغيرة باستمرار، وإرسالها إلى نموذج تحويل الكلام إلى نص، وتجميع النتائج معًا.
  1. الاستنتاج السريع: سنستخدم نموذج لغة صغير وسريع من Replicate (مثل Minitram) لتوليد الاقتراحات والإجابات بناءً على النص المكتوب في الوقت الفعلي. سنستكشف أيضًا تقنيات مثل تقليل حجم الإدخال وتلخيص المحادثة لتحسين السرعة.

ستكون للتطبيق الويبي الميزات التالية:

  • إدخال نصي للمستخدم لتوفير سياق حول المحادثة.
  • زر "تسجيل" لبدء وإيقاف تسجيل الصوت.
  • زر "الحصول على اقتراح" لتشغيل نموذج اللغة والحصول على اقتراحات.
  • عرض النص المكتوب في الوقت الفعلي.
  • عرض الاقتراحات المولدة.

إليك الخطوات التفصيلية:

  1. إعداد تطبيق Flask:
  • إنشاء ملف app.py واستيراد المكتبات اللازمة، بما في ذلك SDK Python لـ Replicate.
  • تعريف مسارات Flask للصفحة الرئيسية ونقطة نهاية معالجة الصوت.
  • إعداد دلو S3 AWS والاعتمادات المؤقتة لتخزين تسجيلات الصوت.
  1. تنفيذ وظيفة النص المكتوب في الوقت الفعلي:
  • استخدم نموذج Replicate Whisper للتقاط وترجمة قطع الصوت باستمرار.
  • تحسين النص المكتوب من خلال معالجة حدود الكلمات والحفاظ على السياق بين القطع.
  1. تنفيذ وظيفة الاستنتاج السريع:
  • استخدم نموذج Replicate Minitram (أو نموذج لغة صغير وسريع مماثل) لتوليد الاقتراحات بناءً على النص المكتوب الكامل.
  • استكشف تقنيات مثل تقليل حجم الإدخال وتلخيص المحادثة لتحسين سرعة الاستنتاج.
  1. بناء الواجهة الأمامية باستخدام HTML و JavaScript:
  • إنشاء ملف index.html في مجلد templates.
  • تعريف هيكل HTML مع إدخال النص، وزر التسجيل، وعرض الاقتراحات.
  • تنفيذ منطق JavaScript لمعالجة التسجيل، وتحميل الصوت، والمكالمات API إلى الخلفية Flask.
  1. اختبار ونشر التطبيق الويبي:
  • قم بتشغيل تطبيق Flask محليًا واختبر الوظائف.
  • نشر التطبيق على منصة استضافة (مثل Heroku أو AWS أو خادمك الخاص).

بعد رؤية العرض التقديمي المвпечатляющ لمرافق المحادثة التعاونية على الويب، قررت استكشاف إمكانية بناء إصدار محمول باستخدام إطار عمل Whisper Kit المفتوح المصدر. يوفر Whisper Kit حزمة Swift تسمح بنشر نموذج Whisper للتحويل من الكلام إلى نص مباشرة على أجهزة iOS، مما يمكّن من النص المكتوب في الوقت الفعلي مع حد أدنى من التأخير.

للبدء، قمت بنسخ مستودع GitHub Whisper Kit وفتحت المشروع المثالي في Xcode. يتضمن المشروع مجلد whisper-ax، الذي يحتوي على الكود المصدري لتطبيق iOS نموذجي يوضح استخدام Whisper Kit.

في ملف ContentView.swift، قمت أولاً بتعريف بعض المتغيرات الإضافية للحالة لمعالجة إدخال المطالبة واستجابة ملخص API من النموذج اللغوي الكبير. ثم أضفت حقل إدخال للمستخدم لتخصيص المطالبة، والتي سيتم استخدامها لتوفير السياق لنموذج اللغة الكبير.

بعد ذلك، نفذت وظيفة getSuggestion() والتي تتحمل مسؤولية إرسال النص المكتوب والمطالبة إلى واجهة برمجة تطبيقات Replicate لتوليد استجابة من نموذج Mistral اللغوي. تتعامل هذه الوظيفة مع طبيعة البث لواجهة برمجة تطبيقات Replicate، وتتحقق باستمرار من الحالة حتى اكتمال الاستجابة ثم تحديث متغير حالة `API_response

التعليمات