لن يتم تحديث هذا المستودع. سيتم الاحتفاظ بالمستودع متاحًا في وضع القراءة فقط.
في نموذج التعليمات البرمجية هذا، سنستخدم ميزة Watson Assistant Slots لإنشاء روبوت دردشة يتلقى طلب بيتزا. يمكن إدخال المعلومات المطلوبة مثل الحجم والنوع واختيارات المكونات ضمن عقدة مساعد واحدة، على عكس الإصدارات السابقة من المساعد.
عندما يكمل القارئ نموذج التعليمات البرمجية هذا، فسوف يفهم كيفية:
ملاحظة : تم تحديث نموذج التعليمات البرمجية هذا ليتضمن تعليمات للوصول إلى Watson Assistant الذي يعمل على IBM Cloud Pak for Data. يمكن العثور على هذه التحديثات في الإرشادات المحددة لنشر التطبيق الخاص بك محليًا، أو نشر التطبيق الخاص بك إلى OpenShift على IBM Cloud. التغيير الرئيسي المطلوب هو أن تطبيقك سيحتاج إلى بيانات اعتماد إضافية للوصول إلى مجموعة IBM Cloud Pak for Data التي تستضيف خدمة Watson Assistant.
انقر هنا للحصول على مزيد من المعلومات حول IBM Cloud Pak for Data.
ملاحظة : يستخدم نموذج التعليمات البرمجية هذا خبرة Watson Assistant. بعد 8 أكتوبر 2021، يمكن لجميع المثيلات (غير القياسية) التبديل بين تجارب Watson Assistant الكلاسيكية والجديدة من خلال الانتقال إلى الزاوية العلوية اليمنى من شاشة Watson Assistant والنقر فوق أيقونة إدارة الموجود في الزاوية العلوية اليمنى من شاشة المساعد. انقر فوق "التبديل إلى التجربة الكلاسيكية" أو انقر فوق "التبديل إلى تجربة جديدة" للتبديل بين الاثنين.
استخدام Cloud Foundry على IBM Cloud | استخدام خدمة Kubernetes الخاصة بـ IBM Cloud |
---|---|
انقر على أحد الخيارات أدناه للحصول على إرشادات حول نشر التطبيق.
تكمن قوة الفتحات في كيفية تقليل عدد العقد المطلوبة لتنفيذ المنطق في Watson Assistant Dialog الخاص بك. إليك حوار محادثة جزئي باستخدام الطريقة القديمة:
وإليك مربع حوار أكثر اكتمالًا باستخدام الفتحات، والذي يضع كل المنطق في عقدة Pizza ordering
.
افتح مربع الحوار، وسنلقي نظرة:
تمثل كل فتحة حقلاً سيتم ملؤه في برنامج الدردشة الآلي: pizza_size
و pizza_type
و pizza_topings
. إذا لم تكن موجودة، فستتم مطالبة المستخدم، بدءًا من الأعلى، حتى يتم ملؤها جميعًا عبر المتغير المرتبط ( $pizza_size
، $pizza_type
، وما إلى ذلك).
انقر فوق تكوين لإضافة المزيد من الوظائف:
هنا، يمكننا إضافة رد عند ملء هذه الفتحة (تم العثور عليه). يمكن استخدام المنطق لمكون واحد:
أو إذا كان هناك أكثر من مكون مضاف:
1 الطبقة"" style="max-width: 100%;">
لقد أضفنا منطقًا للإجابة على إجابات نعم أو لا على السؤال "هل هناك أي إضافات إضافية؟":
انقر على الدوائر الثلاث واختر Open JSON editor
لتحرير json مباشرة:
هنا، قمنا بتعيين قيمة فارغة للسياق: الحقل {"pizza_topings"}، حتى نتمكن من الخروج من الحلقة عن طريق ملء هذه الفتحة.
وأخيرًا، نضيف ردودًا بمجرد ملء جميع الخانات:
نبدأ بالحالة التي لدينا فيها "pizza_toppings"، من خلال اكتشاف أن حجم المصفوفة> 0. هنا، نتعامل أولاً مع الحالة التي تكون فيها فتحة "pizza_place" الاختيارية ممتلئة، ثم نتعامل مع الحالة التي لا تكون فيها.
وأخيرًا، نضيف معالجًا للحالة التي لا يتم فيها العثور على إجابات المستخدم للموجه. لقد أضفنا معالجًا لغرض "المساعدة".
لدينا عقدة حوار للتعامل مع الغرض #reset
والذي سيعيد تعيين جميع الحقول إلى null
:
دعونا نلقي نظرة على مثال للمحادثة وملف json المرتبط بها. أثناء تشغيل Watson Pizzeria، ابدأ حوارًا وابدأ بإخبار Pizza Bot أنك تريد بيتزا كبيرة:
يعرض لك "إدخال المستخدم" حقل "الإدخال"{"text"}، بالإضافة إلى "السياق" الذي يُستخدم في الغالب للمساعد لتتبع الحالة الداخلية. قم بالتمرير لأسفل إلى Watson Understands
وانظر إلى intents
:
لاحظ أنه تم الكشف عن نية "الطلب". أصبح الكيان "pizza_size" الآن عبارة عن فتحة مملوءة. لا يزال لدينا فتحتين مطلوبتين، "pizza_type" و"pizza_toppings". سيُطلب من المستخدم حتى يتم ملء هذه البيانات:
يمكننا الآن أن نرى أن جميع الفتحات المطلوبة قد تم ملؤها:
ماذا لو أردنا أن نخبر Watson Pizzeria أننا نريد تناول البيتزا هناك، في المطعم؟ فات الأوان! تعد الفتحة الخاصة بـ "pizza_place" اختيارية، لذلك لن تتم مطالبة المستخدم بها، وبمجرد ملء الفتحات المطلوبة، نخرج من عقدة الحوار "طلب البيتزا". يحتاج المستخدم إلى ملء الفتحات الاختيارية أولاً. اكتب إعادة تعيين للبدء من جديد واختبر ذلك عن طريق إضافة عبارة "لتناول الطعام هناك...":
cf push
يعطي: FAILED Could not find service
إذا قمت بتسمية خدمتك wcsi-conversation-service
، فيجب أن يعمل هذا. عندما تستخدم cf push
، فإنها تحاول الارتباط بالخدمات المدرجة في ملف manifest.yml
.yml.
لذا، هناك طريقتان يمكنك من خلالهما تشغيل هذا:
ملاحظة: يعمل زر
Deploy to IBM Cloud
على حل هذه المشكلة عن طريق إنشاء الخدمات بسرعة (بالأسماء الصحيحة).
تم ترخيص نمط التعليمات البرمجية هذا بموجب ترخيص برنامج Apache، الإصدار 2. يتم ترخيص كائنات التعليمات البرمجية المنفصلة لجهة خارجية التي تم استدعاؤها ضمن نمط التعليمات البرمجية هذا من قبل موفري الخدمة المعنيين وفقًا لتراخيصهم المنفصلة. تخضع المساهمات لشهادة منشأ المطور، الإصدار 1.1 (DCO) وترخيص برنامج Apache، الإصدار 2.
الأسئلة الشائعة حول ترخيص برنامج Apache (ASL).