Dialogflow से चलने वाला आरबीएम एजेंट (बेहतर) बनाएं

इस कोडलैब में, आपको आरबीएम एजेंट को चलाने के लिए Dialogflow का इस्तेमाल करने का तरीका पता चलेगा.

आप इस कोडलैब में क्या बनाने जा रहे हैं?

  • आरबीएम एजेंट की बातचीत को बेहतर बनाने के लिए, Dialogflow का एजेंट
  • यह किसी काल्पनिक साइकल की दुकान के लिए, बातचीत करने का एक इंटरफ़ेस है. इससे उपयोगकर्ताओं को बाइक की दुकान की जानकारी मिलती है. साथ ही, वे अपनी साइकल को ठीक करने या उस पर सेवा देने के लिए, अपॉइंटमेंट सेट कर सकते हैं

आपको यह जानकारी मिलेगी

  • बातचीत वाला इंटरफ़ेस बनाने के लिए, Dialogflow' के तीन मुख्य कंस्ट्रक्ट (इंटेंट, इकाइयां, और संदर्भ) का इस्तेमाल करने का तरीका
  • Dialogflow's का इस्तेमाल करके और इनलाइन एडिटर (Firebase के लिए Cloud Functions की मदद से) का इस्तेमाल करके, अपनी बातचीत को अपनी सेवाओं और एपीआई से कैसे जोड़ें
  • उपयोगकर्ताओं को बेहतर आरबीएम अनुभव देने के लिए, Dialogflow से आरबीएम के रिस्पॉन्स टाइप बनाने का तरीका

आपको इन चीज़ों की ज़रूरत पड़ेगी

  • Google खाता

अपना पहला एजेंट बनाएं और क्वेरी करें

अवधि: 10:00

Dialogflow का अपना पहला एजेंट बनाएं

Dialogflow एजेंट बनाने के लिए:

  1. नया टैब खोलें और Dialogflow में साइन इन करें.
  2. बाईं ओर मौजूद नेविगेशन में, एजेंट बनाएं पर क्लिक करें.

  3. अपने एजेंट के लिए डिफ़ॉल्ट कोड के तौर पर \ot&CodelabRBMBikeShop" डालें और डिफ़ॉल्ट समय क्षेत्र को डिफ़ॉल्ट समय क्षेत्र पर सेट करें. इसके बाद, बनाएं पर क्लिक करें.

Dialogflow कंसोल

अब आपको Dialogflow कंसोल दिखेगा. अगर आप छोटी स्क्रीन पर काम कर रहे हैं और बायां नेविगेशन छिप जाता है, तो ऊपर बाएं कोने में दिए गए नेविगेशन बटन पर क्लिक करें. सेटिंग बटन, आपको मौजूदा एजेंट की सेटिंग पर ले जाता है.

पेज के बीच में, एजेंट के लिए इंटेंट की सूची दिखती है. डिफ़ॉल्ट रूप से, Dialogflow एजेंट दो इंटेंट से शुरू होते हैं. आपका एजेंट डिफ़ॉल्ट फ़ॉलबैक इंटेंट से तब मेल खाता है, जब वह आपके उपयोगकर्ताओं की राय समझ नहीं लेता है. डिफ़ॉल्ट वेलकम इंटेंट में आपके उपयोगकर्ताओं का स्वागत किया जाता है. आप अनुभव को पसंद के मुताबिक बनाने के लिए, इन इंटेंट को बदल सकते हैं.

दाईं ओर Dialogflow सिम्युलेटर है. यह आपको मैसेज बोलकर या लिखकर अपने एजेंट को आज़माने देता है.

आपके एजेंट से क्वेरी की जा रही है

Dialogflow एजेंट को एनएलयू (नैचुरल लैंग्वेज इंटेलिजेंस) मॉड्यूल के तौर पर जाना जाता है. इन्हें ऐप्लिकेशन, प्रॉडक्ट या सेवा में शामिल किया जा सकता है, ताकि उपयोगकर्ता के सामान्य अनुरोधों को कार्रवाई करने लायक डेटा में बदला जा सके.

अपने एजेंट को आज़माने का समय आ गया है! दाईं ओर सिम्युलेटर में, उस टेक्स्ट फ़ील्ड में क्लिक करें जो कहता है कि इसे अभी आज़माएं, "Hi" टाइप करें, और Enter दबाएं.

Dialogflow, क्वेरी की पहचान करता है और डिफ़ॉल्ट वेलकम इंटेंट से मेल खाता है. साथ ही, यह जवाब के तौर पर एक सामान्य वेलकम मैसेज भी देता है. यह इसलिए काम करता है, क्योंकि Dialogflow कुछ सैंपल अभिवादन के साथ डिफ़ॉल्ट वेलकम इंटेंट को अपने-आप ट्रेनिंग देता है.

आरबीएम एजेंट बनाएं

Business Communications डेवलपर कंसोल में साइन इन करें, फिर एजेंट बनाएं पर क्लिक करें.

नाम वाले फ़ील्ड में, &आपकी नाम की साइकल की दुकान के नाम और कोटेशन डालें (जैसे "Sean’s Bike Agent") कोई इलाका चुनें और एजेंट बनाएं पर क्लिक करें.

अपने RBM एजेंट को Dialogflow से कनेक्ट करें

आपका RBM एजेंट बनने के बाद, एजेंट का खास जानकारी पेज देखने के लिए एजेंट पर क्लिक करें. बाएं नेविगेशन में एकीकरण लिंक पर क्लिक करें.

आरबीएम एजेंट, डिफ़ॉल्ट तौर पर उपयोगकर्ता के मैसेज मैनेज करने के लिए, Google Cloud Pub/Sub का इस्तेमाल करता है. अपने RBM एजेंट को Dialogflow एजेंट से पहले कनेक्ट करने के लिए, Dialogflow इंटिग्रेशन पर क्लिक करें.

डायलॉग में, मौजूदा मॉडल को कनेक्ट करें पर क्लिक करें. अपने आरबीएम एजेंट को Dialogflow एजेंट को कॉल करने की अनुमति देने के लिए, निर्देशों का पालन करें, फिर आगे बढ़ें पर क्लिक करें.

आखिर में, आपको Dialogflow प्रोजेक्ट आईडी देना होगा. Business Communications डेवलपर कंसोल के बजाय किसी दूसरे ब्राउज़र टैब में, Dialogflow पर जाएं और आपके पास पहले बनाए गए कोडलैबआरबीएमबीसीकेपी एजेंट को खोलें. प्रोजेक्ट के नाम के पास दिए गए गियर आइकॉन पर क्लिक करें.

इसे क्लिक करने से, आपको मॉडल की सेटिंग पर ले जाया जाएगा. GOOGLE PROJECT में जाकर, Project ID ढूंढें और उसे कॉपी करें.

Business Communications डेवलपर कंसोल में अपने टैब पर वापस जाएं. इसके बाद, डायलॉग बॉक्स में प्रोजेक्ट आईडी चिपकाएं और इंटिग्रेशन शुरू करें पर क्लिक करें.

इस प्रक्रिया को पूरा होने में करीब दो मिनट लगते हैं. इसके पूरा हो जाने के बाद, आपको हाइलाइट किया गया 'डायलॉगफ़्लो इंटिग्रेशन' विकल्प दिखेगा और एजेंट देखें लिंक दिखेगा.

आपके एजेंट के सभी मैसेज को अब CodelabRBMBikeShop Dialogflow एजेंट मैनेज करता है.

अपने टेस्ट डिवाइस को न्योता भेजें और मैसेज भेजें

Dialogflow के बारे में ज़्यादा जानने से पहले, आइए आपके टेस्ट डिवाइस को सेट अप करें. अगर आपके पास पहले से ही RBM मैसेज पाने की सुविधा वाला डिवाइस है, तो अपने डिवाइस को तैयार करने के लिए, यह गाइड देखें.

बिज़नेस कम्यूनिकेशन डेवलपर कंसोल में, बाएं नेविगेशन में डिवाइस पर क्लिक करें. फ़ॉर्म में, अपने डिवाइस का पूरा फ़ोन नंबर E.164 फ़ॉर्मैट में डालें (उदाहरण के लिए, +12223334444) और जोड़ें पर क्लिक करें.

आपके डिवाइस पर, आपको टेस्ट का न्योता मिलेगा. मुझे टेस्टर बनाएं पर टैप करें.

अपने ब्राउज़र में, डिवाइसों की सूची में अपना डिवाइस ढूंढें और अपने डिवाइस को टेस्ट मैसेज भेजें. अगर आपको अपने RBM एजेंट से अपने डिवाइस पर मैसेज मिलता है, तो आप इस कोडलैब के साथ जारी रखने के लिए पूरी तरह तैयार हैं.

आपका स्वागत है

आम तौर पर, Dialogflow से काम करने वाले आरबीएम एजेंट के साथ बातचीत शुरू करने के लिए, आप एक एपीआई कॉल करते हैं. यह उपयोगकर्ता के फ़ोन नंबर और डायलॉगफ़्लो इंटेंट की जानकारी देता है. यह आम तौर पर आपके एजेंट का स्वागत करता है. इस कोडलैब के लिए, हम यह कदम छोड़ देंगे. इसके बजाय, हमने पहले से बनाए गए बातचीत के थ्रेड का इस्तेमाल किया होगा. इसे, बिज़नेस कम्यूनिकेशन डेवलपर कंसोल के टेस्ट डिवाइस पर इस्तेमाल किया जा चुका है. हालांकि, अगर आप इस एपीआई सुविधा के बारे में और पढ़ना चाहते हैं, तो यह गाइड देखें.

आइए, डिफ़ॉल्ट वेलकम इंटेंट में आरबीएम के जवाब जोड़ते हैं. ऐसा इसलिए, ताकि Dialogflow इसका इस्तेमाल आपके आरबीएम एजेंट के साथ कर सके. सबसे पहले, उस ब्राउज़र टैब पर जाएं जिसमें Dialogflow खुला है. डिफ़ॉल्ट वेलकम इंटेंट पर क्लिक करें. नीचे स्क्रोल करके जवाब सेक्शन पर जाएं. जवाब के प्रकारों की सूची में + पर क्लिक करें. इसके बाद, आरसीएस बिज़नेस मैसेजिंग (आरबीएम) चुनें.

जवाब जोड़ें पर क्लिक करें. इसके बाद, आसान जवाब चुनें. सामान्य जवाब के टेक्स्ट फ़ील्ड में, Enter और कोट डालें. नमस्ते, होगर्ट की बाइक की दुकान में आपका स्वागत है. मैं किस तरह मदद कर सकता/सकती हूं? (होगर्ट को अपने नाम से बदलें) इसके बाद, सेव करें पर क्लिक करें.

बातचीत शुरू करना

अब जब आपके पास वेलकम इंटेंट कॉन्फ़िगर हो गया है, तो अपने टेस्ट डिवाइस पर वापस जाएं. इसके बाद, मैसेज और कोटेशन भेजें. यह मैसेज डिफ़ॉल्ट वेलकम इंटेंट को ट्रिगर करता है, और आपको नीचे दी गई इमेज से मिलता-जुलता कुछ देखना चाहिए.

वेलकम इंटेंट अपडेट करना

अब जब आपने Dialogflow से आसान मैसेज भेज दिया है, तो मैसेज को थोड़ा और मददगार बनाने के लिए अपडेट कर लेते हैं. हम उपयोगकर्ता का स्वागत करने के साथ-साथ, उसकी कार्रवाइयां भी चाहते हैं.

हम जो एजेंट बना रहे हैं उसके लिए दो मुख्य सुविधाओं का इस्तेमाल करना ज़रूरी है: कारोबार के खुले होने का समय और अपॉइंटमेंट शेड्यूल करना. आइए, अपने आसान रिस्पॉन्स वेलकम मैसेज को एक कार्ड से बदलें. इन कार्ड में, इन इंटरैक्शन को पूरा करने के लिए, सुझाए गए जवाब होते हैं.

डिफ़ॉल्ट वेलकम इंटेंट's में, जवाब सेक्शन में, आरसीएस बिज़नेस मैसेजिंग (आरबीएम) टैब चुनें. ट्रैश कैन के आइकॉन पर क्लिक करके, मौजूदा साधारण जवाब को हटाएं. इसके बाद, जवाब जोड़ें पर क्लिक करें और सिर्फ़ रिच कार्ड वाला रिच कार्ड चुनें.

स्टैंडअलोन रिच कार्ड फ़ॉर्म में, यह जानकारी डालें:

  • कार्ड का शीर्षक: नमस्ते, Hogarth's बाइक की दुकान में आपका स्वागत है.
  • कार्ड की जानकारी: मैं आपकी क्या मदद कर सकता हूं? नीचे दिए गए विकल्पों में से चुनें:
  • कार्ड ओरिएंटेशन चुनें: वर्टिकल
  • इमेज/वीडियो यूआरएल: https://storage.googleapis.com/df-rbm-codelab/bike-shop.jpg
  • मीडिया की ऊंचाई चुनें: मध्यम

सुझाव जोड़ें पर क्लिक करें और यह जानकारी डालें:

  • सुझाव टेक्स्ट: आपके कारोबार के खुले होने का समय क्या है?
  • सुझाव पोस्टबैक: response_hours

सुझाव जोड़ें पर क्लिक करके और नीचे दिया गया तरीका डालकर, कोई दूसरा सुझाव जोड़ें:

  • सुझाव के लिए टेक्स्ट: अपॉइंटमेंट लेना
  • सुझाव पोस्टबैक:जवाब_अपॉइंटमेंट

सेव करें पर क्लिक करें.

इसे आज़माकर देखें!

जब मॉडल यह कह दे कि "एजेंट ट्रेनिंग पूरी हो गई है" तो अपने डिवाइस पर वापस जाएं और अपने एजेंट को मैसेज और कोटेशन[Hi" भेजें. अब आपको स्टैंडअलोन रिच कार्ड देखना चाहिए, जिसे आपने अभी-अभी डिज़ाइन किया है.

आपके कारोबार के खुले होने का समय क्या है? पर टैप करें. ध्यान दें कि डिफ़ॉल्ट फ़ॉलबैक इंटेंट ट्रिगर होता है. ऐसा इसलिए होता है, क्योंकि आपके Dialogflow एजेंट को इस सुझाव के लिए कॉन्फ़िगर किए गए पोस्टबैक डेटा को हैंडल करने का तरीका नहीं पता चलता है, quot;reply_hours".

आइए, इसे ठीक करें.

कारोबार के खुले होने का समय बनाना

Dialogflow, उपयोगकर्ता के इंटेंट की कैटगरी तय करने के लिए, इंटेंट का इस्तेमाल करता है. इंटेंट में ट्रेनिंग वाक्यांश होते हैं, जो इस बात के उदाहरण हैं कि उपयोगकर्ता आपके एजेंट से क्या कह सकता है. उदाहरण के लिए, कोई व्यक्ति जानना चाहता है कि हमारी साइकल की दुकान कितने समय के लिए खुली है. "आपके कारोबार के खुले होने का समय क्या है; या "मुझे अंदर आने में कितना समय लगेगा?

ये सभी क्वेरी यूनीक होती हैं, लेकिन इनका मकसद एक ही होता है: जैसे कि हमारी बाइक की दुकान खुला होने पर जानकारी पाना.

इस क्वेरी को कवर करने के लिए, "Hours" इंटेंट बनाएं:

  1. बाईं ओर मौजूद नेविगेशन में, इंटेंट के बगल में मौजूद + पर क्लिक करें.
  2. इंटेंट के नाम के लिए, "Hours" डालें.
  3. ट्रेनिंग फ़्रेज़ में जाकर, यूज़र एक्सप्रेशन जोड़ें पर क्लिक करें. इसके बाद, नीचे दी गई जानकारी डालें और हर एंट्री के बाद Enter दबाएं:

    • When do you open?
    • What are your hours?
    • How late can I come in?
    • reply_hours.

    इस पिछले ट्रेनिंग वाक्यांश का इस्तेमाल उन पोस्टबैक डेटा को मैप करने के लिए किया जाता है जिसे आपने इस इंटेंट के साथ पिछले सेक्शन में कॉन्फ़िगर किया था.

  4. जवाब में जाकर, + पर क्लिक करें और आरसीएस बिज़नेस मैसेजिंग (आरबीएम) चुनें.

  5. जवाब जोड़ें पर क्लिक करें और आसान जवाब चुनें.

  6. आसान जवाब वाले टेक्स्ट फ़ील्ड में, "We'दबाएं और हर हफ़्ते सुबह 9 बजे से शाम 5:30 बजे तक खुला रहता है."

  7. सेव करें पर क्लिक करें.

इसे आज़माकर देखें!

अब अपने एजेंट से उसके समय के बारे में पूछें. अपने डिवाइस पर, अपने RBM एजेंट से बातचीत के दौरान "जब आप खोले गए पासवर्ड खुला हुआ रखें; डालें और अपने एजेंट को मैसेज भेजें.

आपका एजेंट अब क्वेरी का सही तरीके से जवाब देता है. ध्यान दें कि भले ही आपकी क्वेरी, ट्रेनिंग वाक्यांश से थोड़ी अलग हो ("आप कब ओपनबोट; बनाम; Dialogflow अब भी क्वेरी का दाएं इंटेट से मैच करता है. रिच कार्ड में, कारोबार के खुले होने का समय क्या है? पर टैप करें.

Dialogflow, मशीन लर्निंग मॉडल के उदाहरण के तौर पर, उपयोगकर्ताओं की ज़रूरतों को पूरा करने वाली क्वेरी के लिए ट्रेनिंग वाक्यांश का इस्तेमाल करता है. मशीन लर्निंग मॉडल, एजेंट की हर इंटेंट की क्वेरी की जांच करता है और हर इंटेंट को स्कोर देता है. साथ ही, सबसे ज़्यादा स्कोर करने वाले इंटेंट को मैच करता है. अगर सबसे ज़्यादा स्कोरिंग इंटेंट का स्कोर बहुत कम है, तो फ़ॉलबैक इंटेंट का मिलान किया जाता है.

ग्राहक को सामान भेजने का तरीका जोड़ा जा रहा है

इसके काम करने के दौरान, हमने जो एजेंट बनाया है वह थोड़ा अलग दिखता है. जब उपयोगकर्ता कुछ ऐसा मांगता है कि क्या आप{4/}कोट; अगर एजेंट ने सीधे हमें बता दिया कि दुकान खुली है, तो यह ज़्यादा स्वाभाविक और उपयोगी होगी.

ऐसा करने के लिए, हमारे एजेंट को यह पता करना होगा कि दुकान खुली हुई है या नहीं. इसके अलावा, दोनों मामलों में कोई और जवाब जनरेट किया जा सकता है. Dialogflow में, इस तरह का कॉम्प्लेक्स लॉजिक, वेबहुक पूरा करने पर लागू किया जाना चाहिए.

फ़ुलफ़िलमेंट वेबहुक एक एचटीटीपी सर्वर है. इसे Dialogflow से बातचीत की मौजूदा स्थिति के बारे में जानकारी देने के लिए कहा जाता है. ग्राहक को सामान भेजने पर कोड, ज़रूरी कार्रवाइयां करता है. इसके बाद, वह जवाब जनरेट करता है, जो Dialogflow को उपयोगकर्ता को वापस करता है.

अब हम वेबहुक को पूरा करने की प्रक्रिया के बारे में बात करेंगे, जिसमें हमारे एजेंट को ज़्यादा मदद मिलेगी.

सेट अप करना: डिप्लॉय करना और ग्राहक को सामान भेजने की सुविधा चालू करना

Dialogflow में पहले से ही Firebase के लिए Cloud Functions एडिटर का इस्तेमाल किया जाता है. यह आपको JavaScript कोड लिखने और उसे डिप्लॉय करने की सुविधा देता है, जो आपकी ज़रूरत के हिसाब से काम करेगा.

डायलॉग बॉक्स के बाएं नेविगेशन में, ग्राहक को आइटम भेजने का पेज खोलने के लिए, ग्राहक को आइटम भेजना पर क्लिक करें. 'Firebase एडिटर' के लिए क्लाउड फ़ंक्शन चालू करने के लिए, इनलाइन एडिटर के बगल में मौजूद टॉगल पर क्लिक करें.

आपको दिखेगा कि एडिटर में दो फ़ाइलें हैं: "index.js" जिसमें ग्राहक को आइटम भेजने का मुख्य कोड और "package.json" है, जिसके बारे में जानकारी ज़रूरी है.

अब हम कुछ सैंपल कोड इंपोर्ट करेंगे, जिससे आपकी बिक्री बढ़ जाएगी.

इस फ़ाइल के टेक्स्ट को कॉपी करके, इसके सभी मौजूदा कॉन्टेंट की जगह &index.js" में चिपकाएं:

https://storage.googleapis.com/df-rbm-codelab/index.js

अब, पेज के निचले हिस्से तक स्क्रोल करें और मिटाएं पर क्लिक करें. एक या दो मिनट बाद, आपका कोड Firebase के लिए Cloud Functions पर लागू कर दिया जाएगा.

फ़ंक्शन लागू होने के बाद, आपको पेज पर सबसे नीचे डिप्लॉयमेंट की तारीख और समय दिखेगा:

ग्राहक को सामान भेजने का कोड देखें. hoursHandler फ़ंक्शन currentlyOpen को कॉल करके यह पता लगाता है कि फ़िलहाल दुकान खुली है या नहीं. साथ ही, यह शर्त के हिसाब से अलग आरबीएम रिस्पॉन्स जोड़ता है.

function hoursHandler(agent) {
    let responseText = 'We\'re currently closed, but we open every weekday at 9am!';
    if (currentlyOpen()) {
      responseText = 'We\'re open now!! We close at 5pm today.';
    }

    let payload = {
    "fulfillmentMessages": [
        {
          "platform": "GOOGLE_RBM",
          "rbmText": {
              "text": responseText
          }
        }
      ]
    };

    return response.status(200).json(payload);
}

लाइन intentMap.set('Hours', hoursHandler);, वाहन बेचने से जुड़ी लाइब्रेरी को बताती है कि hoursHandler फ़ंक्शन को तब चलाना चाहिए, जब "Hours" इंटेंट मेल खाता हो. हालांकि, हमें Dialogflow को यह बताना भी पड़ता है कि हम अपने कोटेशन और घंटों को पूरा कर सकें.

बाईं ओर मौजूद नेविगेशन में, इंटेंट पर क्लिक करें. इसके बाद, &घंटे और इंटेंट खोलें. सबसे नीचे पूरा करें सेक्शन खोलें और इस इंटेंट के लिए वेबहुक कॉल चालू करें चुनें, ताकि यह टॉगल किया जा सके.

इंटेंट सेव करने के बाद, आप इसे आज़माकर देख सकते हैं. दाईं ओर सिम्युलेटर में, और दर्ज करें;क्या आप Openquot; हैं. अगर आप गड़बड़ी की जानकारी पर क्लिक करते हैं और एपीआई के रिस्पॉन्स की जांच करते हैं, तो आपको वाहन भेजने का रिस्पॉन्स दिखेगा. ध्यान दें कि 'Firebase के लिए Cloud Functions' सर्वर के लिए इस्तेमाल किया गया समय क्षेत्र यूटीसी होगा. इसलिए, ऐसा हो सकता है कि आपके मौजूदा स्थानीय समय के हिसाब से रिस्पॉन्स सही न हो.

अगर ग्राहक को सामान भेजने में कोई गड़बड़ी होती है, तो Dialogflow आपके इंटेंट पेज के जवाब सेक्शन में बताए गए तरीके का इस्तेमाल करता है. इसकी मदद से, एजेंट आपके डिवाइस को ठीक से काम कर पाता है.

इसके बाद, हम उपयोगकर्ता की क्वेरी के सही हिस्सों को निकालने के लिए इकाइयों का इस्तेमाल करेंगे. इससे हमारे उपयोगकर्ता, बाइक की दुकान पर जाकर, अपॉइंटमेंट बुक कर सकते हैं या ठीक कर सकते हैं.

इकाइयों के साथ डेटा निकालें

अवधि: 12:00

इस सेक्शन में, हम उपयोगकर्ता की क्वेरी से डेटा निकालने के तरीके की जानकारी देंगे. साथ ही, उपयोगकर्ता की बाइक की सेवा देने या ठीक करने के लिए उसकी दुकान पर अपॉइंटमेंट लेने की सुविधा देंगे.

अपने इंटेंट में पैरामीटर जोड़ना

पैरामीटर, उपयोगकर्ता की क्वेरी में मौजूद ऐसे शब्द या वाक्यांश होते हैं जो Dialogflow को हटा देते हैं, ताकि आपका एजेंट सही जवाब दे सके. आप पैरामीटर के साथ नया इंटेंट बनाएंगे और अपने जवाबों में वैल्यू शामिल करने का तरीका जानेंगे.

  1. नया इंटेंट बनाने के लिए, बाईं ओर नेविगेशन में इंटेंट के बगल में, + पर क्लिक करें.
  2. इंटेंट के नाम के लिए, पेज पर सबसे ऊपर मौजूद, अपॉइंटमेंट &कोटेशन डालें और कोट करें.
  3. ट्रेनिंग वाक्यांश के तौर पर इन्हें जोड़ें:
    • reply_appointment
    • I'd like to schedule an appointment for next Thursday
    • I'd like to get my bike fixed, I have a mountain bike that needs servicing
    • My bike is broken
    • Can I schedule service for 4pm tomorrow?
    • Can you fix my road bike?
    • Can I set up an appointment for noon on Friday?

Dialogflow अपने-आप आपके ट्रेनिंग के वाक्यांशों में जाने-पहचाने पैरामीटर का पता लगाता है और उन्हें आपके लिए बनाता है.

ट्रेनिंग फ़्रेज़ के नीचे, Dialogflow इकट्ठा की गई जानकारी के साथ पैरामीटर टेबल को अपने-आप भर देता है:

  • पैरामीटर वैकल्पिक है (ज़रूरी नहीं)
  • नाम तारीख और समय
  • सिस्टम इकाई प्रकार @sys.date और @sys.time से मेल खाता है**
  • इसकी वैल्यू $date और $time है
  • सूची नहीं है

पैरामीटर के डेटा का इस्तेमाल करना

अपने जवाबों में पैरामीटर की वैल्यू का इस्तेमाल करें. इस मामले में, आप अपने जवाबों में $date और $time का इस्तेमाल कर सकते हैं और उन्हें आपके एजेंट की क्वेरी में बताई गई तारीख और समय से बदल दिया जाता है.

जवाब में, आरसीएस कारोबार मैसेज सेवा टैब जोड़ें. इसके बाद, आसान जवाब में यह जोड़ें और सेव करें पर क्लिक करें:

Great! I've set up your appointment for $date at $time.  See you then!

इसे आज़माकर देखें!

अब, अपने एजेंट से क्वेरी करें और बताएं कि क्या मैं दाएं पैनल में सिम्युलेटर से, कल दोपहर 2 बजे&quot के लिए अपॉइंटमेंट ले सकती हूँ.

आप सिम्युलेटर आउटपुट के नीचे देख सकते हैं कि Dialogflow ने पैरामीटर और कोट;कल""2pm&quot को सही तरीके से निकाला है; और उन्हें तारीख और समय के तौर पर सही तरीके से पार्स किया है. अब अपने टेस्ट डिवाइस से वही चीज़ आज़माएं और देखें कि रिस्पॉन्स में पार्स की गई तारीख और समय कैसे सही तरीके से शामिल किए गए हैं.

पैरामीटर बनाना ज़रूरी है

बाइक की दुकान के लिए, अपॉइंटमेंट शेड्यूल करने से पहले हमें तारीख और समय, दोनों की वैल्यू पता होनी चाहिए. डिफ़ॉल्ट रूप से, सभी Dialogflow पैरामीटर ज़रूरी नहीं होते हैं. इन्हें ज़रूरी बनाने के लिए, हमें हर ज़रूरी पैरामीटर के बगल में मौजूद बॉक्स को चुनना होगा. "अपॉइंटमेंट बनाएं और कोट करें; इंटेंट में हर पैरामीटर के आगे दिए गए बॉक्स में सही का निशान लगाएं:

हर पैरामीटर की ज़रूरत होने पर, हमें हर पैरामीटर के लिए एक प्रॉम्प्ट बनाना होगा. अनुरोधों में, उपयोगकर्ता से किसी ऐसे पैरामीटर के लिए वैल्यू देने के लिए कहा जाता है जो उपयोगकर्ता ने शुरू में अपने इंटेंट पर जाने के दौरान नहीं दिया था. (इस स्थिति में, कोई अपॉइंटमेंट लेना). किसी पैरामीटर के लिए अनुरोध बनाने के लिए , अनुरोध तय करें पर क्लिक करें और हर पैरामीटर के लिए ये निर्देश डालें:

पैरामीटर अनुरोध
date आपको किस दिन जाना है?
समय आपके लिए कौनसा समय ठीक है?

निर्देश डालने के बाद, सेव करें पर क्लिक करें.

इसे आज़माकर देखें!

अपने डिवाइस पर, अपॉइंटमेंट लें सुझाव पर टैप करें या लिखें और मुझे अपनी बाइक ठीक करने की सुविधा चाहिए. आपको जवाब और कोटेशन मिलता है, आप किस दिन नए कोटेशन पाना चाहते हैं; किसी तारीख ("कल") की जानकारी दें. साथ ही, आपको जवाब की तारीख के बारे में समय बताने वाला जवाब मिलेगा. उसके जवाब दें और आप देख पाएंगे कि आपका अपॉइंटमेंट सेट कर दिया गया है.

शुरुआती अनुरोध में कुछ जानकारी रखने वाली क्वेरी (यानी, “कल और कोटेशन के लिए अपॉइंटमेंट सेट अप करना चाहती हूं]) सही पैरामीटर (तारीख) में जानकारी भरें, तारीख की सूचना ("आप किस दिन आने वाले हैं?) पर जाएं और समय बताएं ("आपके लिए कौनसा समय काम करता है;) पर जाएं.

हमने अभी-अभी बिना कोड और बहुत कम सेट अप वाली पूरी तरह से यूनीक बातचीत बनाने के लिए, Dialogflow के साथ काम करने वाली इकाइयों और पैरामीटर का इस्तेमाल किया है! इसके बाद, हम आपको बताएंगे कि ग्राहक को जवाब देने के लिए, ग्राहक को ईमेल का इस्तेमाल करके, अपॉइंटमेंट शेड्यूल करने की सुविधा कैसे मिलेगी.

सेट अप करना: ग्राहक को सामान भेजने की सुविधा चालू करना

बाईं ओर दिए गए नेविगेशन पैनल में, इंटेंट पर क्लिक करें. इसके बाद, "अपॉइंटमेंट बुक करें" इंटेंट खोलें. पूरा करना खोलें और इस इंटेंट के लिए वेबहुक कॉल चालू करें चुनें. साथ ही, स्पोर्ट भरने के लिए वेबहुक कॉल चालू करें चुनें, ताकि वे दोनों चालू हो जाएं. इसके बाद, सेव करें पर क्लिक करें.

इन दोनों इंटेंट के चालू होने पर, जब इंटेंट ट्रिगर होता है, तब Dialogflow ज़रूरी पैरामीटर के लिए जवाब देने के साथ-साथ इंटेंट के मुताबिक रिस्पॉन्स बनाता है.

ग्राहक को सामान भेजने की प्रोसेस लागू करना

डायलॉग बॉक्स के बाएं नेविगेशन में, ग्राहक को आइटम भेजने का पेज खोलने के लिए, ग्राहक को आइटम भेजना पर क्लिक करें. नीचे की ओर स्क्रोल करें

intentMap.set('Hours', hoursHandler);

साथ ही, नीचे दी गई जानकारी को अगली लाइन के तौर पर जोड़ें:

intentMap.set('Make Appointment', makeAppointment);

इससे ऑटोमैटिकली की लाइब्रेरी को पता चलता है कि makeAppointment फ़ंक्शन को, "अपॉइंटमेंट बनाएं और कोट करें; इंटेंट से मेल खाने पर चलना चाहिए.

इसके बाद, नीचे दिए गए कोड को कॉपी करें और उसे currentlyOpen फ़ंक्शन के नीचे चिपकाएं. उपयोगकर्ता, जवाब देने के लिए, दो फ़ंक्शन, getSuggestedTimes और getSuggestedDates, काम की जानकारी वाली चिप सूचियां बनाते हैं.

function getSuggestedTimes() {
  return [
        {
          "reply": {
            "text": "9 am",
            "postbackData": "9:00am"
            }
        },
        {
          "reply": {
            "text": "10 am",
            "postbackData": "10:00am"
          }
        },
        {
          "reply": {
            "text": "1 pm",
            "postbackData": "1:00pm"
          }
        },
        {
          "reply": {
            "text": "2 pm",
            "postbackData": "2:00pm"
          }
        }
      ];
}

function getSuggestedDates() {
  return [
        {
          "reply": {
            "text": "Tomorrow",
            "postbackData": "Tomorrow"
          }
        },
        {
          "reply": {
            "text": "A week from now",
            "postbackData": "A week from now"
          }
        },
        {
          "reply": {
            "text": "Two weeks from now",
            "postbackData": "Two weeks from now"
          }
        }
      ];
}

इसके बाद, नीचे दिए गए कोड को hoursHandler में कॉपी करें और चिपकाएं. इसके बाद, डिप्लॉय करें पर क्लिक करें.

function makeAppointment(agent) {
    // extract required parameters
    const appointmentDate = agent.parameters.date;
    const appointmentTime = agent.parameters.time;

    const gotAppointmentDate = appointmentDate.length > 0;
    const gotAppointmentTime = appointmentTime.length > 0;

    let responseText = '';
    let suggestions = [];

    if(gotAppointmentDate && gotAppointmentTime) {
      // We have all required parameters, return success message
      responseText = 'Great! I\'ve set up your appointment for ' +
          appointmentDate + ' at ' + appointmentTime + '.  See you then!';
    }
    else if(gotAppointmentDate) {
      responseText = 'What time works for you?';
      suggestions = getSuggestedTimes();
    }
    else if(gotAppointmentTime) {
      responseText = 'What day do you want to come in?';
      suggestions = getSuggestedDates();
    }
    else {
      responseText = 'What day do you want to come in?';
      suggestions = getSuggestedDates();
    }

    let payload = {
      "fulfillmentMessages": [
      {
        "platform": "GOOGLE_RBM",
        "rbmText": {
          "text": responseText,
          "rbmSuggestion": suggestions
        }
      }
    ]
    };

    return response.status(200).json(payload);
  }

कोड की जांच करने के लिए कुछ मिनट का समय निकालें. ध्यान दें कि वैल्यू की जांच करने के लिए ज़रूरी पैरामीटर की जांच की जा रही है और अगर इन्हें सेट नहीं किया गया है, तो उपयोगकर्ता को सही मैसेज और सुझावों के सेट के लिए कहा जाता है.

इसे आज़माकर देखें!

अपने डिवाइस पर, अपॉइंटमेंट लें सुझाव पर टैप करें या लिखें और मुझे अपनी बाइक ठीक करने की सुविधा चाहिए. आपको जवाब और कोटेशन मिलते हैं, “आप किस दिन जाना चाहते हैं] के साथ-साथ, कुछ मददगार सुझाव: "कल", "अभी से एक हफ़्ते पहले, &"और दो हफ़्ते बाद से ". किसी तारीख ("कल") की जानकारी दें. इसके बाद, आपसे सवाल पूछे जाने पर जवाब मिलेगा. उसके जवाब दें और आप देख पाएंगे कि आपका अपॉइंटमेंट सेट हो गया है.

प्रसंगों वाला राज्य प्रबंधित करें

अवधि: 7:00

बातचीत की स्थिति में संदर्भ जोड़ना

उपयोगकर्ता के अपॉइंटमेंट को सेट अप करने के बाद, हो सकता है कि हम उससे कुछ और जानकारी इकट्ठा करना चाहें. मान लें कि हमारी साइकल की दुकान दो तरह की अपॉइंटमेंट देती है: ठीक करना या ट्यून-अप करना. हम जानना चाहते हैं कि उपयोगकर्ता को इनमें से क्या चाहिए.

शुरू करने के लिए, चलिए &&quot के लिए जवाब अपडेट करते हैं; अपॉइंटमेंट बनाएं &कोटेशन; इंटेंट से उपयोगकर्ता से पूछें कि उन्हें किस तरह के अपॉइंटमेंट की ज़रूरत है. नीचे दिए गए टेक्स्ट की मदद से, अपने makeAppointment के पूरा करने के फ़ंक्शन में सक्सेस रिस्पॉन्स को बदलें. इसके बाद, डिप्लॉयमेंट पर क्लिक करें.

responseText = 'Great! I\'ve set up your appointment for ' +
    appointmentDate + ' at ' + appointmentTime + '.  Do you need a repair for just a tune-up?';

इस सवाल का जवाब इकट्ठा करने के लिए, हमें एक और इंटेंट बनाना होगा. हालांकि, इस नए इंटेंट का मिलान इस सवाल का जवाब देने के बाद ही करना ज़रूरी है. इसे लागू करने के लिए, हम इसे फ़ॉलो-अप इंटेंट के तौर पर तय कर सकते हैं.

फ़ॉलो-अप इंटेंट ऐसे इंटेंट होते हैं जिनका मिलान सिर्फ़ उनके &कोटेशन और इंटेंट के बाद किया जा सकता है (इस मामले में, हमारा &कोटेशन और इंटेंट बनाएं) मेल खाते हैं. बाईं ओर नेविगेशन बार में इंटेंट पर क्लिक करें. अगर मेन्यू छिपा हुआ है, तो ऊपर बाएं कोने में मौजूद, मेन्यू ☰ बटन पर क्लिक करें. इसके बाद, माउस को "अपॉइंटमेंट बनाएं और कोट करें; इंटेंट पर ले जाएं. साथ ही, फ़ॉलो-अप इंटेंट जोड़ें पर क्लिक करें, जो इंटेंट के नाम के दाईं ओर दिखता है:

इसके बाद, ड्रॉपडाउन मेन्यू में जाकर, पसंद के मुताबिक बनाएं पर क्लिक करें.

Dialogflow अपने-आप फ़ॉलो-अप इंटेंट और कोट;नाम बनाएं - कस्टम," और ऐरो के बीच के संबंध को दिखाता है.

फ़ॉलो-अप इंटेंट का मिलान पैरंट इंटेंट से मेल खाने के बाद ही हो सकता है. ऐसा इसलिए है, क्योंकि इस इंटेंट का मिलान सिर्फ़ "अपॉइंटमेंट लें और कोट करें; इंटेंट से किया जाएगा, इसलिए हम मान सकते हैं कि उपयोगकर्ता से अभी-अभी सवाल पूछा गया है और कोटेशन मांगें.

इस सवाल का जवाब कैप्चर करने के लिए, हमें पहले कुछ इकाइयां तय करनी होंगी.

अपनी पहली इकाई बनाना

Dialogflow आपको डेवलपर इकाइयों को तय करने देता है, जो Dialogflow's की सिस्टम इकाइयों की तरह काम करती हैं. आइए, एक इकाई प्रकार बनाकर शुरुआत करें. हम चाहते हैं कि उपयोगकर्ता यह चुन पाएं कि वे किस तरह की अपॉइंटमेंट लेना चाहते हैं और हमारी दुकान के लिए उपलब्ध हैं, तो एंटिटी टाइप AppointmentType को कॉल करें. हम AppointmentType इकाई प्रकार में दो अलग-अलग तरह की अपॉइंटमेंट के लिए दो इकाइयां जोड़ेंगे: service और fix.

इकाई का टाइप बनाने के लिए:

  1. बाएं नेविगेशन मेन्यू में मौजूद, इकाइयों के बगल में मौजूद, + पर क्लिक करें.
  2. इकाई टाइप के नाम के लिए, "AppointmentType" डालें.
  3. टेक्स्ट फ़ील्ड पर क्लिक करें और ये एंट्री जोड़ें:
    • सेवा
    • ठीक करो
  4. कोई एंट्री डालने पर, टैब दबाने से आपका कर्सर समानार्थी फ़ील्ड में चला जाता है. हर एंट्री के लिए, नीचे दिए गए समानार्थी शब्द जोड़ें. पूरी स्ट्रिंग को कॉपी करने और चिपकाने के बजाय, हर शब्द को अलग-अलग जोड़ना न भूलें:
प्रवेश समानार्थक शब्द
सेवा
  • सेवा
  • ओवरहॉल
  • रखरखाव
  • ट्यून-अप
  • ट्यून अप करो
ठीक करो
  • ठीक करो
  • रिपेयर
  • मेंड
  • टूटा
  • फ़्लैट टायर
  • तय
  1. सेव करें पर क्लिक करें.

हर इकाई किस तरह की होनी चाहिए:

  • कैटगरी तय करने के लिए नाम ("AppointmentType")
  • एक या उससे ज़्यादा एंट्री ("service", "fix")
  • एक या एक से ज़्यादा समानार्थी शब्द ("maintenance"tototune ", वगैरह)

Dialogflow आसान बनाने के लिए, बहुवचन और कैपिटलाइज़ेशन जैसी चीज़ों का इस्तेमाल करता है. हालांकि, समानार्थी शब्दों का इस्तेमाल ज़रूर करें. आप जितनी ज़्यादा जानकारी जोड़ेंगे, आपके एजेंट उतने ही बेहतर तरीके से आपकी इकाइयां तय कर पाएंगे.

आपकी नई इकाई जोड़ी जा रही है

हमने अपॉइंटमेंट के लिए एंटिटी का टाइप तय कर दिया है, इसलिए अब हम इसका इस्तेमाल अपने "कोटेशन" वाक्यांश में और अपने अपॉइंटमेंट के लिए ट्रेनिंग वाक्यांश में कर सकते हैं:

  1. बाईं ओर दिए गए नेविगेशन पैनल में इंटेंट पर क्लिक करें. इसके बाद, "अपॉइंटमेंट लें और कोट करें; के बगल में दिए गए ऐरो पर क्लिक करें. ऐसा करने से, इंटेंट से जुड़े फ़ॉलो-अप के बारे में पता चलेगा. "अपॉइंटमेंट बनाएं - कस्टम" इंटेंट पर क्लिक करें.
  2. ट्रेनिंग वाक्यांश के तौर पर ये जोड़ें:

    • क्या आप मेरी बाइक ठीक कर सकते हैं?
    • मुझे मरम्मत की ज़रूरत है.

  3. आपके डाले गए ट्रेनिंग वाक्यांशों में, अपॉइंटमेंट के इकाई का टाइप अपने-आप एनोटेशन के तौर पर दिखेगा. इससे टेबल में AppointmentType पैरामीटर जुड़ जाता है, जो ट्रेनिंग वाक्यांश सेक्शन के नीचे होता है. इस पैरामीटर को ज़रूरी के तौर पर दिखाने के लिए, चेकबॉक्स पर क्लिक करें.

  4. निर्देशों के बारे में बताएं पर क्लिक करें और कोटेशन डालें. हम आपकी साइकल ठीक कर सकते हैं या उसे ठीक कर सकते हैं. आप किस तरह का कोटेशन लेना चाहते हैं;

  5. जवाब में, जवाब को "ठीक है; हम $AppointmentType." को शेड्यूल करेंगे, फिर सेव करें पर क्लिक करेंगे.

इसे आज़माकर देखें!

अपने डिवाइस पर, अपॉइंटमेंट लें सुझाव पर टैप करें या लिखें और मुझे अपनी बाइक ठीक करने की सुविधा चाहिए. आपको जवाब और कोटेशन मिलते हैं, “आप किस दिन जाना चाहते हैं] के साथ-साथ, कुछ मददगार सुझाव: "कल", "अभी से एक हफ़्ते पहले, &"और दो हफ़्ते बाद से ". किसी तारीख ("कल") की जानकारी दें. इसके बाद, आपको तारीख के किसी समय के बारे में पूछने वाला जवाब मिलेगा.

कोई समय चुनें और आपको दिखेगा कि आपका जवाब, सेवा के लिए है या ट्यून-अप के लिए.

इसके बाद, कोट और कोटेशन डालो और मुझे रिपेयर की ज़रूरत है. आपको जवाब और कोट दिखना चाहिए.

फ़िलहाल, इस इंटेंट का जवाब ("ठीक है, हम सुधार शेड्यूल करेंगे.") बहुत मददगार नहीं है. अगर जवाब की तारीख और समय शेड्यूल किया गया, तो जवाब देने से अच्छा होगा. ऐसा करने के लिए, हमें तारीख और समय की ज़रूरत होती है. हालांकि, तारीख और समय के पैरामीटर सिर्फ़ "अपॉइंटमेंट बनाएं और कोट करें; इंटेंट में मौजूद हैं, न कि "अपॉइंटमेंट बनाएं - कस्टम" इंटेंट में.

इंटेंट और संदर्भ

पैरामीटर और कोटेशन से इंटेंट पैरामीटर के साथ जवाब देने के लिए, आपको यह जानना ज़रूरी है कि फ़ॉलो-अप इंटेंट कैसे काम करते हैं. फ़ॉलो-अप इंटेंट संदर्भ का इस्तेमाल करते हैं, ताकि यह ट्रैक किया जा सके कि पैरंट इंटेंट ट्रिगर हुआ है या नहीं. अगर आप "अपॉइंटमेंट"इंटेंट;इंटेंट की जांच करते हैं, तो आपको आउटपुट कॉन्टेक्स्ट के तौर पर &"MakeAppointment-फ़ॉलोअप&कोटेशन दिखेगा; जो संख्या 2 से पहले आता है:

"अपॉइंटमेंट बनाएं और कोट करें; मिलान के बाद, Dialogflow संदर्भ को अटैच करता है "makeAppointment-फ़ॉलोअप&कोटेशन; दो बारी के लिए बातचीत में. इसलिए, जब उपयोगकर्ता सवाल का जवाब देता है ("क्या आपको रिपेयर की ज़रूरत है या सिर्फ़ ट्यून-अप"), तो संदर्भ और कोटेशन;MakeAppointment-फ़ॉलोअप&कोटेशन चालू है. कोई भी ऐसा इंटेंट जिसमें इनपुट का संदर्भ एक जैसा हो जब Dialogflow, इंटेंट से मेल खाता हो, तब उसे इस्तेमाल किया जाता है.

बाईं ओर मौजूद नेविगेशन में इंटेंट पर क्लिक करें. इसके बाद "MakeAppointment - कस्टम" इंटेंट पर क्लिक करें.

आप देख सकते हैं कि इंटेंट में और इनपुट संदर्भ ("makeApmentment- फ़ॉलोअप&कोटेशन;) उसी आउटपुट के संदर्भ के रूप में समान हैं (जैसे, अपॉइंटमेंट बनाएं) इस वजह से, "makeApment - custom" सिर्फ़ "अपॉइंटमेंट बुक करें&quot के बाद मिलता है; इंटेंट मैच होता है.

कॉन्टेक्स्ट और पैरामीटर

संदर्भ, पैरामीटर पैरामीटर की वैल्यू सेव करते हैं, जिसका मतलब है कि आप "अपॉइंटमेंट बनाएं और कोट करें; में बताए गए पैरामीटर की वैल्यू ऐक्सेस कर सकते हैं. साथ ही, &&tt;MakeAppointment - custom" जैसे दूसरे इंटेंट में मौजूद इंटेंट को ऐक्सेस कर सकते हैं.

नीचे दिए गए जवाब को "makeAppointment - custom" इंटेंट में जोड़ें और Save: "ठीक है, हम #MakeAppointment-फ़ॉलोअप.टाइम पर $AppointmentType, #MakeAppointment- फ़ॉलोअप.तारीख शेड्यूल करेंगे. उसके बाद, हम आपसे संपर्क करेंगे."

अब आप अपने एजेंट से दोबारा क्वेरी कर सकते हैं और सही जवाब पा सकते हैं. सबसे पहले, कोट और कोट डाल सकते हैं क्या मैं कल सुबह 11 बजे साइकल चलाने के लिए अपॉइंटमेंट सेट कर सकता हूँ; और इसके बाद, &quotसे रिपेयर और कोटेशन की ज़रूरत होगी.

अपॉइंटमेंट की पुष्टि करने वाले जवाब में, आप देखेंगे कि तारीख और समय पैरामीटर की वैल्यू को संदर्भ से हासिल कर लिया गया है.

रिस्पॉन्स फ़ॉर्मैट को बेहतर बनाना

अवधि: 5:00

तारीख और समय को फ़ॉर्मैट करने के लिए, ग्राहक को आइटम भेजने की सुविधा का इस्तेमाल करें

जैसा कि आपने देखा होगा, सक्सेस मैसेज में दिखने वाली तारीख और समय, उपयोगकर्ता के लिए आसान नहीं होते हैं. इसे ठीक करने के लिए, हमें पूरा करने का तरीका फिर से इस्तेमाल करना होगा. इससे हम तारीख और समय के पैरामीटर को इस तरह फ़ॉर्मैट कर सकते हैं कि उपयोगकर्ता उन्हें आसानी से पढ़ सके.

अपने "अपॉइंटमेंट बनाएं - कस्टम" इंटेंट पर जाएं और बाएं नेविगेशन में इंटेंट पर क्लिक करें. फिर "makeApment - custom" इंटेंट पर क्लिक करें. पेज के निचले हिस्से तक स्क्रोल करें और इस इंटेंट के लिए वेबहुक कॉल चालू करें पर टॉगल करें. इसके बाद, सेव करें पर क्लिक करें.

बाईं ओर नेविगेशन में, ग्राहक को सामान भेजने के लिंक पर क्लिक करके, सामान भेजने की प्रक्रिया पर जाएं. नीचे दिया गया कोड कॉपी करें और उसे makeAppointment फ़ंक्शन के नीचे चिपकाएं.

function makeAppointmentFollowUp(agent) {
    let context = agent.getContext('makeappointment-followup');

    // extract required parameters
    const appointmentDate = new Date(context.parameters.date);
    const appointmentTime = new Date(context.parameters.time);
    const appointmentType = agent.parameters.AppointmentType;

    // format date and time to be human-readable
    const dateAsString = appointmentDate.toLocaleDateString('en-US',
        { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' });
    const timeAsString = appointmentTime.toLocaleString('en-US',
        { hour: 'numeric', minute: 'numeric', hour12: true });

    // compose response for user
    let responseText = 'Okay, we'll schedule a ' + appointmentType + ', ' + dateAsString +
        ', at ' + timeAsString + '.  We'll see you then.';

    let payload = {
      "fulfillmentMessages": [
      {
        "platform": "GOOGLE_RBM",
        "rbmText": {
          "text": responseText
        }
      }
    ]
    };

    return response.status(200).json(payload);
  }

इस फ़ंक्शन के नीचे, लाइन intentMap.set('Make appointment', makeAppointment); ढूंढें और intentMap.set('Make appointment - custom', makeAppointmentFollowUp); जोड़ें, ताकि फ़ॉलो-अप इंटेंट को शुरू करने पर, पहले चिपकाए गए फ़ंक्शन को कॉल किया जा सके.

makeAppointmentFollowUp कोड पर एक नज़र डालें और देखें कि आने वाले संदर्भ और इस इंटेंट से पैरामीटर कैसे निकाले जा रहे हैं. responseText जनरेट किए जाने से पहले, कोड को तारीख और समय को फ़ॉर्मैट करना होगा, ताकि उसे आसानी से पढ़ा जा सके.

इसे आज़माकर देखें!

अपने डिवाइस पर, अपॉइंटमेंट लें सुझाव पर टैप करें या लिखें और मुझे अपनी बाइक ठीक करने की सुविधा चाहिए. आपको जवाब और कोटेशन मिलते हैं, “आप किस दिन जाना चाहते हैं] के साथ-साथ, कुछ मददगार सुझाव: "कल", "अभी से एक हफ़्ते पहले, &"और दो हफ़्ते बाद से ". किसी तारीख ("कल") की जानकारी दें. इसके बाद, आपको तारीख के किसी समय के बारे में पूछने वाला जवाब मिलेगा.

कोई समय चुनें और आपको दिखेगा कि आपका जवाब, सेवा के लिए है या ट्यून-अप के लिए.

इसके बाद, कोट और कोटेशन डालो और मुझे रिपेयर की ज़रूरत है. आपको पढ़ने में आसान फ़ॉर्मैट में अपॉइंटमेंट शेड्यूल, और तारीख और समय के साथ अपॉइंटमेंट की पुष्टि करनी होगी.

आपका काम पूरा हुआ!

अवधि: 1:00

बहुत बढ़िया!

अब आप डायलॉग फ़्लो की मदद से, आरबीएम एजेंट बनाने के सभी चरणों से गुज़र चुके हैं.

इस नए और मज़ेदार प्लैटफ़ॉर्म पर, वीडियो बनाने का आनंद लें!