دليل Gemini Live API: 3 مفاهيم لإنشاء وكيل صوتي ذكي في الوقت الحقيقي باستخدام هيكل WebSocket + الشيفرة الرسمية

أكبر ميزة في واجهة برمجة التطبيقات Gemini Live من Google ليست مجرد توليد الصوت: يمكنها الاستماع إليك أثناء حديثك والرد عليك في الوقت الفعلي، كما يمكنك مقاطعتها في أي وقت، مما يجعلها تشبه محادثة هاتفية حقيقية. أصدرت Google مؤخرًا مقطع فيديو تعليميًا مفصلًا يشرح كيفية تفكيك الوكيل الصوتي المباشر إلى 3 أجزاء: الفرق بين Gemini Live و TTS التقليدي، الهيكل ثلاثي الطبقات ودورة نواة WebSocket، بالإضافة إلى 3 مفاهيم رئيسية تجعل الوكيل “حيًا”. في هذه المقالة، قمنا بتلخيص المحتوى الأساسي لهذا الدرس، مع تضمين روابط الشيفرة البرمجية والمستندات التي قدمتها Google، لتوفير نظرة شاملة للمطورين المهتمين بإنشاء وكيل صوتي AI في الوقت الفعلي.

3 اختلافات رئيسية بين Gemini Live و TTS التقليدي: audio-to-audio + ثنائي الاتجاه + تدفق فوري

تعمل أنظمة تحويل النص إلى كلام (TTS) التقليدية بشكل مباشر للغاية: تقوم بإدخال نص، وهي تخرج صوتًا، وهي عملية أحادية الاتجاه. أنظمة TTS تعرف كيف تتحدث، لكنها لا تستطيع سماعك، فهي لا تعرف إن كنت موجودًا أم لا.

تسير Gemini Live في اتجاه مختلف تمامًا: audio-to-audio، ثنائي الاتجاه يحدث في نفس الوقت. إنها تستقبل إشارة الصوت الخاصة بك، وتكتشف نبرة الصوت، والتوقفات، والطاقة، وطريقة حديثك، ثم تولد الصوت وتدفقه في الوقت الفعلي.

الاختلافات الأساسية الثلاثة:

  • الاتجاه: TTS هو نص → صوت أحادي الاتجاه؛ Gemini Live هو صوت ↔ صوت ثنائي الاتجاه
  • الإدراك: TTS لا تعرف أنك موجود؛ Gemini Live تستطيع سماع نبرة الصوت، والتوقفات، والطاقة وغيرها من الإشارات الصوتية
  • التوقيت: TTS تنتظر حتى يتم إعداد الاستجابة بالكامل قبل أن تبدأ في القراءة؛ Gemini Live تتحدث أثناء التفكير، ويمكنها بدء تدفق الصوت أثناء توليد الإجابة

بعبارة أخرى: “TTS reads, Live hears” — TTS التقليدية تقرأ، بينما Gemini Live حقًا تسمعك تتحدث.

هيكل ثلاثي الطبقات: المتصفح + الخلفية + Gemini Live، مع اتصال WebSocket

يتكون هيكل الوكيل الصوتي المباشر بالكامل من 3 أجزاء:

  • المتصفح: مسؤول عن التقاط صوت الميكروفون الخاص بك، وتشغيل ردود Gemini
  • Gemini Live: نموذج الصوت المباشر نفسه
  • الخلفية: تحتفظ باتصال طويل مع Gemini، كقناة صوتية بين المتصفح وGemini

تستخدم الاتصالات بين المتصفح والخلفية WebSocket، وليس طلبات HTTP العادية. السبب هو: طلبات HTTP العادية يمكن أن “تسأل مرة واحدة ثم تنقطع”، لكن الصوت المباشر يحتاج إلى تدفق صوتي مستمر ثنائي الاتجاه، لذا يجب استخدام WebSocket للحفاظ على الاتصال الطويل.

تقوم الخلفية فعليًا بمهام متوازية:

  • المهمة A: تدفق صوت الميكروفون الخاص بك باستمرار إلى Gemini
  • المهمة B: تلقي ردود الصوت من Gemini، ثم إرسالها مرة أخرى إلى المتصفح للتشغيل

تعمل المهمتان بشكل مستقل، لذا يمكنك المقاطعة في الوقت الذي يتحدث فيه الوكيل.

دورة أساسية تتكون من 4 خطوات: Open → Send → Receive → Play

عند كتابة الشيفرة، تتكون المحادثة بالكامل من دورة من 4 خطوات:

  • Open: فتح جلسة مع Gemini Live
  • Send: إرسال صوت الميكروفون الذي تم التقاطه بواسطة المتصفح إلى الخلفية
  • Receive: تتلقى الخلفية ردود الصوت من Gemini، ثم تعيد إرسالها إلى المتصفح
  • Play: يقوم المتصفح بتشغيل ردود Gemini في الوقت الفعلي

تؤكد Google في الدرس: “هذه الدورة بسيطة للغاية — Open، Send، Receive، Play، كل شيء آخر هو تفاصيل الربط.” بمجرد إتقان هذه الدورة، سيكون لديك وكيل صوتي يعمل.

3 مفاهيم أساسية تجعل الوكيل “حيًا”: VAD، Barge-in، Tools

بعد إتقان دورة الـ 4 خطوات، تقنيًا يكون الوكيل قد أصبح قابلاً للتشغيل، لكن لا يزال هناك مسافة كبيرة عن تجربة المحادثة الحقيقية. لجعلها تبدو “حية”، تحتاج إلى 3 مفاهيم متقدمة.

المفهوم 1: كشف نشاط الصوت (VAD)، كيف تعرف أنك انتهيت من الكلام؟

VAD (Voice Activity Detection) هو نموذج يسأل نفسه باستمرار: هل هناك شخص يتحدث الآن، أم أن هناك صمت؟ هذا الحكم يسمح للنموذج بتحديد بداية ونهاية دورك — أي معرفة متى تبدأ في الكلام ومتى تتوقف.

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

الخبر السار هو: VAD في Gemini Live مدمج، ولا تحتاج إلى كتابته بنفسك.

المفهوم 2: Barge-in، يمكنك مقاطعة الوكيل أثناء حديثه

تعني Barge-in: عندما يتحدث الوكيل، يمكنك مقاطعته، ويتوقف الوكيل على الفور. أجهزة الاتصال لا تستطيع القيام بذلك، لكن المحادثات الحقيقية بين الأشخاص يمكنها.

تستخدم Gemini Live نفس آلية VAD لاكتشاف ما إذا كنت “تبدأ في مقاطعة الوكيل”. عند اكتشاف المقاطعة، سيتوقف النموذج على الفور، ويرسل إشارة “مقاطعة” إلى الخلفية.

تقنية مفتاحية لجعل المقاطعة تبدو فورية:

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

هذا التصميم “للتوقف المحلي” هو سر جعل المقاطعة تبدو طبيعية.

المفهوم 3: Tools، منح الوكيل مهارات فعلية

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

أمثلة على الأدوات في الدرس:

  • play_playlist: تشغيل قائمة تشغيل
  • skip_current_track: تخطي الأغنية الحالية
  • pause_music: إيقاف الموسيقى

نمط العمل هو: بعد أن يقرر النموذج أي أداة سيستخدم، لن يكتفي بـ “قول” ما يجب القيام به، بل سيصدر مباشرة تعليمات “استخدم هذه الأداة + هذه المعطيات”، ليقوم كود الخلفية الخاص بك بتنفيذها ثم إبلاغ النتائج.

تؤكد Google على قاعدة محددة للصوت: “قاعدة تأخير الأداة”: “عندما تكون الأداة قيد التنفيذ، يكون النموذج في انتظار.” إذا تأخرت الأداة في العودة، ستدخل المحادثة في حالة صمت. لذا، يجب أن تجد أداة الموسيقى التعليمات وتعود على الفور، ولا تنتظر حتى تنتهي الأغنية بالكامل قبل الرد.

باختصار، يمكن تلخيص 3 مفاهيم في جملة واحدة: VAD تلتقط دورك، Barge-in تسمح لك بالمقاطعة، Tools تجعل الوكيل قادرًا على العمل.

خلاصة: اختيار بين API الخام و Google ADK

تم تصميم الدرس العملي هذا عمدًا باستخدام GenAI SDK الخام — يمكن للمطورين رؤية كيفية عمل كل جزء (الجلسة، التدفق، حلقة الصوت، الأدوات) بدون أي إطار عمل يخفي التفاصيل. لكن سيتطلب ذلك كتابة المزيد من كود الربط.

ذكرت Google أن الحلقة التالية ستستخدم Google ADK (مجموعة تطوير الوكلاء)، التي توفر إطار عمل لهذا النوع من الوكلاء الصوتيين:

  • الوكيل، الجلسة، حلقة البث كلها تُدار بواسطة الإطار
  • قائمة انتظار مدمجة للحفاظ على سلاسة المكالمة المباشرة
  • المطورون يكتبون فقط المنطق التجاري عالي المستوى (الأدوات، المطالبات)

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

الموارد الرسمية الكاملة

  • كود العرض: [g.dev/cloud/voicedemo1](https://g.dev/cloud/voicedemo1)
  • وثائق Gemini Live API: [g.dev/cloud/gemini-live](https://g.dev/cloud/gemini-live)
  • وثائق مجموعة تطوير الوكلاء: [g.dev/cloud/adk-docs](https://g.dev/cloud/adk-docs)
  • خارطة طريق Google Cloud: [g.dev/cloud/mma-roadmap](https://g.dev/cloud/mma-roadmap)
  • معاينة الحلقة القادمة: إعادة بناء نفس تطبيق الوكيل الصوتي باستخدام Google ADK

محتوى أصلي
هذا المقال هو النسخة العربية لمحتوى أصلي من TechRitual.
Stein Yep
Stein Yep