ربما تكون قد سمعت أو قرأت عن ميزة "فحص المكالمات" التي طرحتها Google لهواتف Pixel في الولايات المتحدة. الفكرة رائعة - عندما تتلقى مكالمة واردة ، يبدأ المساعد الافتراضي في التحدث ، بينما ترى هذه المحادثة على أنها محادثة وفي أي وقت يمكنك البدء في التحدث بدلاً من المساعد. هذا مفيد جدا هذه الأيام ، عندما تقريبا
هندسة معمارية
أقترح عدم إضاعة الوقت في شرح كيفية عمل Voximplant و Dialogflow ، إذا كنت ترغب في ذلك ، يمكنك بسهولة العثور على المعلومات على الإنترنت. لذلك دعونا نتعرف على مفهوم فحص المكالمات الخاص بنا.
لنفترض أن لديك بالفعل رقم هاتف تستخدمه كل يوم تتلقى فيه مكالمات مهمة. في هذه الحالة ، سنحتاج إلى رقم ثان ، سيتم الإشارة إليه في كل مكان - في البريد ، على بطاقة العمل ، عند ملء النماذج عبر الإنترنت ، إلخ. سيتصل هذا الرقم بنظام معالجة اللغة الطبيعية (في حالتنا) ويعيد توجيه المكالمات إلى رقمك الرئيسي فقط إذا كنت تريد ذلك. في شكل رسم بياني ، يبدو كما يلي (الصورة قابلة للنقر):
من خلال فهم الهيكل ، يمكننا تولي التنفيذ ، ولكن مع تحذير واحد: لن نفعل ذلك التليفون المحمول لإظهار مربع حوار بين Dialogflow والمتصل الوارد ، سنقوم بإنشاء ملف شبكة-تطبيق مع عارض حوار لإظهار كيفية عمل "فحص المكالمات" بصريًا. سيحتوي هذا التطبيق على زر Intervene ، بالضغط على Voximplant الذي سيربط المشترك الوارد بالمشترك المتصل به ، إذا قرر الأخير التحدث بنفسه.
تطبيق
تسجيل الدخول
فتح
بعد ذلك ، انتقل إلى تطبيق الفحص ، في قسم "الأرقام" ، علامة التبويب "متاح". هنا سترى الرقم الذي اشتريته للتو. اربطه بالتطبيق باستخدام الزر "إرفاق" - في النافذة التي تظهر ، اترك جميع القيم الافتراضية وانقر على "إرفاق".
بمجرد دخولك إلى التطبيق ، انتقل إلى علامة التبويب "البرامج النصية" وأنشئ نصًا برمجيًا myscreening - حيث نستخدم الكود من المقالة
تحذير: ستحتاج إلى تغيير قيمة متغير الخادم إلى اسم خادم ngrok (المزيد عن ngrok أدناه). قم أيضًا بتوصيل القيم الخاصة بك في السطر 31 ، حيث يكون رقم هاتفك هو رقمك الرئيسي (على سبيل المثال ، هاتفك المحمول الشخصي) ورقم voximplant هو الرقم الذي اشتريته مؤخرًا.
outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)
ستحدث مكالمة PSTN في الوقت الذي تقرر فيه اقتحام المحادثة وإجراء محادثة شخصية مع المتصل الوارد.
بعد حفظ البرنامج النصي ، تحتاج إلى ربطه بالرقم الذي تم شراؤه. للقيام بذلك ، بينما لا تزال داخل التطبيق الخاص بك ، انتقل إلى علامة التبويب "التوجيه" لإنشاء قاعدة جديدة - زر "قاعدة جديدة" في الزاوية اليمنى العليا. حدد اسمًا (على سبيل المثال ، allcalls) ، واترك القناع الافتراضي (. * - مما يعني أن جميع المكالمات الواردة ستتم معالجتها بواسطة البرامج النصية المحددة لهذه القاعدة) ، وحدد البرنامج النصي myscreening.
احفظ القاعدة.
من الآن فصاعدًا ، رقم الهاتف مرتبط بالسيناريو. آخر شيء يجب فعله هو ربط الروبوت بالتطبيق. للقيام بذلك ، انتقل إلى علامة التبويب "موصل Dialogflow" ، وانقر فوق الزر "إضافة وكيل Dialogflow" في الزاوية اليمنى العليا وقم بتحميل ملف JSON الخاص بعامل Dialogflow.
إذا كنت بحاجة إلى وكيل على سبيل المثال / اختبار ، فيمكنك الحصول على وكيلنا من هذا الرابط:
خلفية NodeJS بسيطة
دعنا ننشر خلفية بسيطة على عقدة ، مثل هذا:
هذا تطبيق عادي لا يتطلب سوى أمرين للتشغيل:
npm install
node index.js
سيبدأ الخادم في المنفذ 3000 على جهازك ، لذلك نستخدم الأداة المساعدة ngrok لتوصيله بسحابة Voximplant. عند تثبيت
ngrok http 3000
سترى اسم المجال الذي أنشأته ngrok لخادمك المحلي - قم بنسخه واستبداله في متغير الخادم.
زبون
يبدو تطبيق العميل وكأنه محادثة بسيطة يمكنك القيام بها
ما عليك سوى نسخ جميع الملفات إلى دليل ما على خادم الويب الخاص بك وسيعمل. في ملف script.js ، قم بتغيير قيمة متغير الخادم إلى اسم مجال ngrok وقيمة متغير المستدعي إلى الرقم الذي اشتريته. احفظ الملف وقم بتشغيل التطبيق في المستعرض. إذا كان كل شيء على ما يرام ، فسترى اتصال WebSocket في لوحة المطور.
عرض
يمكنك مشاهدة التطبيق أثناء العمل في هذا الفيديو:
ملاحظة: إذا قمت بالنقر فوق الزر Intervene ، فسيتم توجيه المتصل إلى رقم هاتفي ، وإذا قمت بالنقر فوق Disconnect ، فسيكون ...؟ هذا صحيح ، سيتم قطع الاتصال.
المصدر: www.habr.com