ऐसा डायलॉग फ़्लो CX ऐप्लिकेशन बनाएं जो आसान भाषा में जवाब देता हो और उसे समझता हो

इस पेज पर, Google Chat ऐप्लिकेशन बनाने का तरीका बताया गया है. यह ऐप्लिकेशन, Dialogflow का इस्तेमाल करके, सामान्य भाषा को समझ सकता है और उसी में जवाब दे सकता है. इस गाइड में Dialogflow CX का इस्तेमाल किया गया है. यह Google Chat के साथ सीधे तौर पर इंटिग्रेट होता है. Dialogflow ES Google Chat गाइड में दिए गए निर्देशों का पालन करके, Dialogflow ES Google Chat ऐप्लिकेशन बनाया जा सकता है. इसके लिए, Dialogflow ES का इस्तेमाल किया जा सकता है.

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

यह सिर्फ़ एक उदाहरण है. Dialogflow Chat ऐप्लिकेशन, हर तरह के इंटरैक्शन में काम आते हैं. अगर इसमें इंसानों की तरह बातचीत करने की ज़रूरत होती है, तो इसके लिए Dialogflow Chat ऐप्लिकेशन का इस्तेमाल किया जाता है. पहले से बने एजेंट की मदद से, तुरंत शुरुआत की जा सकती है. साथ ही, यह भी दिखाया जा सकता है कि Dialogflow क्या-क्या कर सकता है. जैसे:

  • फ़्लाइट बुक करना
  • डॉक्टर से मिलने का समय शेड्यूल करना
  • खाना ऑर्डर करके डिलीवरी की सुविधा पाना
  • किसी खुदरा प्रॉडक्ट कैटलॉग के बारे में पूछे गए सवालों के जवाब देना. जैसे, क्या सामान अन्य रंगों में उपलब्ध है
  • Dialogflow के पहले से बने एजेंट को चुनने वाला पेज.
    पहली इमेज. Dialogflow Chat ऐप्लिकेशन के लिए, पहले से बना हुआ एजेंट चुनना.
  • Dialogflow CX में एजेंट की टेस्टिंग की जा रही है.
    दूसरी इमेज. Dialogflow CX में एजेंट की जांच करना, ताकि यह पक्का किया जा सके कि एजेंट का लॉजिक और कॉन्फ़िगरेशन आपकी उम्मीद के मुताबिक काम कर रहा है. इस डायग्राम में, विषय के हिसाब से पेजों का एक क्रम दिखाया गया है. ये पेज, बातचीत के कुछ खास चरणों से जुड़े हैं. जैसे, किराये की कार के लिए पिकअप और वापसी की जगह सेट करना. साथ ही, इनमें पेजों को जोड़ने वाला लॉजिक कॉन्फ़िगर किया गया है. बातचीत की जांच सिम्युलेटर में की जाती है.
  • Dialogflow Chat ऐप्लिकेशन को कॉन्फ़िगर करना.
    तीसरी इमेज. Google Cloud Console में Chat API कॉन्फ़िगरेशन पेज पर, Dialogflow CX एजेंट का इस्तेमाल करके जवाबों को प्रोसेस करने के लिए, Chat ऐप्लिकेशन को कॉन्फ़िगर करना.
  • Dialogflow CX Chat ऐप्लिकेशन की जांच करना
    चौथी इमेज. Google Chat में Dialogflow Chat ऐप्लिकेशन की मदद से, किराये की कार बुक करने के बारे में बातचीत करते हुए.

मकसद

  • अपना एनवायरमेंट सेट अप करें.
  • Dialogflow CX एजेंट बनाएं और उसे डिप्लॉय करें.
  • Dialogflow CX एजेंट की मदद से, Chat ऐप्लिकेशन बनाएं और उसे डिप्लॉय करें.
  • Chat ऐप्लिकेशन को टेस्ट करें.

ज़रूरी शर्तें

आर्किटेक्चर

यहां दिए गए डायग्राम में, Dialogflow की मदद से बनाए गए चैट ऐप्लिकेशन का आर्किटेक्चर दिखाया गया है:

Dialogflow की मदद से लागू किए गए Chat ऐप्लिकेशन का आर्किटेक्चर.

ऊपर दिए गए डायग्राम में, Dialogflow Chat ऐप्लिकेशन से इंटरैक्ट करने वाले उपयोगकर्ता के लिए, जानकारी का फ़्लो इस तरह होता है:

  1. कोई उपयोगकर्ता, Chat ऐप्लिकेशन को Chat में मैसेज भेजता है. यह मैसेज, डायरेक्ट मैसेज या Chat स्पेस में भेजा जाता है.
  2. Google Cloud में मौजूद Dialogflow वर्चुअल एजेंट, मैसेज को पाने और प्रोसेस करने के बाद जवाब जनरेट करता है.
  3. विकल्प के तौर पर, Dialogflow वेबहुक का इस्तेमाल करके, Dialogflow एजेंट तीसरे पक्ष की बाहरी सेवाओं के साथ इंटरैक्ट कर सकता है. जैसे, प्रोजेक्ट मैनेजमेंट सिस्टम या टिकट सिस्टम.
  4. Dialogflow एजेंट, Chat ऐप्लिकेशन की सेवा को Chat में जवाब भेजता है.
  5. जवाब, Chat स्पेस में दिया जाता है.

एनवायरमेंट सेट अप करना

Google API का इस्तेमाल करने से पहले, आपको उन्हें Google Cloud प्रोजेक्ट में चालू करना होगा. एक ही Google Cloud प्रोजेक्ट में, एक या उससे ज़्यादा एपीआई चालू किए जा सकते हैं.
  1. Google Cloud Console में, Google Chat API और Dialogflow API को चालू करें.

    एपीआई चालू करना

  2. पुष्टि करें कि आपने सही Cloud प्रोजेक्ट में एपीआई चालू किए हैं. इसके बाद, आगे बढ़ें पर क्लिक करें.

  3. पुष्टि करें कि आपने सही एपीआई चालू किए हैं. इसके बाद, चालू करें पर क्लिक करें.

Dialogflow CX एजेंट बनाना

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

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

Dialogflow CX एजेंट बनाने का तरीका यहां दिया गया है:

  1. Dialogflow CX कंसोल में, Dialogflow CX Console खोलें. मेन्यू > Dialogflow CX पर क्लिक करें.

    Dialogflow CX कंसोल पर जाएं

  2. कोई Google Cloud प्रोजेक्ट चुनें. अपना प्रोजेक्ट ढूंढने के लिए, आपको सभी पर क्लिक करके उसे खोजना पड़ सकता है.

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

    पहले से बनाए गए किसी एजेंट को चुनने के लिए, यह तरीका अपनाएं:

    1. पहले से बनाए गए एजेंट इस्तेमाल करें पर क्लिक करें.
    2. पहले से बनाया गया कोई एजेंट चुनें. इस गाइड के लिए, यात्रा: कार किराये पर लेना चुनें.

      एजेंट को शुरुआती, सामान्य या बेहतर के तौर पर रेटिंग दी जाती है. यह रेटिंग इस आधार पर दी जाती है कि एजेंट कितनी सुविधाओं का इस्तेमाल करता है और बातचीत के लॉजिक को कितनी बारीकी से समझता है. इंटरमीडिएट या ऐडवांस एजेंट चुनने के लिए, एजेंट के हिसाब से कस्टम सेटिंग और कॉन्फ़िगरेशन की ज़रूरत पड़ सकती है. इनमें Google Cloud Console में सुविधाओं और एपीआई को चालू करना भी शामिल है.

    3. एजेंट के तौर पर इंपोर्ट करें पर क्लिक करें.

    अपना एजेंट बनाने के लिए, यह तरीका अपनाएं:

    1. एजेंट बनाएं पर क्लिक करें.
    2. डेटा स्टोर एजेंट बनाने के लिए, अपने-आप जनरेट होने की सुविधा चुनें. इसके अलावा, अन्य तरह के एजेंट बनाने के लिए, खुद बनाएं चुनें.

    एजेंट बनाने की प्रोसेस के बारे में ज़्यादा जानने के लिए, Dialogflow CX एजेंट बनाना लेख पढ़ें.

  4. एजेंट की बुनियादी सेटिंग कॉन्फ़िगर करें:

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

  6. ज़रूरत के मुताबिक, एजेंट को पसंद के मुताबिक बनाएं. एजेंट को पसंद के मुताबिक बनाने की प्रोसेस के बारे में ज़्यादा जानने के लिए, Dialogflow CX एजेंट बनाना लेख पढ़ें.

  7. सबसे सही तरीका यह है कि एजेंट की जांच करें:

    1. एजेंट की जांच करें पर क्लिक करें.
    2. एनवायरमेंट में एजेंट की जांच करें को चुनें.
    3. एनवायरमेंट में, ड्राफ़्ट चुनें.
    4. फ़्लो में, डिफ़ॉल्ट स्टार्ट फ़्लो चुनें.
    5. पेज में, स्टार्ट पेज को चुनें.
    6. एजेंट से बात करें कंपोज़ बार में, Hello टाइप करें और Enter दबाएं. एजेंट, अपना नाम बताकर जवाब देता है.
    7. सैंपल टेस्ट बातचीत करके, टेस्ट पूरा करें.
  8. Dialogflow CX एजेंट बनाया जाता है. Dialogflow CX कंसोल पर वापस जाएं. मेन्यू > Dialogflow CX पर क्लिक करें.

    Dialogflow CX कंसोल पर जाएं

  9. एजेंट में जाकर, > नाम कॉपी करें पर क्लिक करें. इस नाम को सेव करें, क्योंकि Chat ऐप्लिकेशन को कॉन्फ़िगर करते समय इसका इस्तेमाल किया जाता है.

Chat ऐप्लिकेशन बनाएं और उसे Dialogflow एजेंट से कनेक्ट करें

Dialogflow CX एजेंट बनाने के बाद, उसे चैट ऐप्लिकेशन में बदलने के लिए यह तरीका अपनाएं:

  1. Google Cloud Console में, Google Chat API पर जाएं. "Google Chat API" खोजें और Google Chat API पर क्लिक करें. इसके बाद, मैनेज करें पर क्लिक करें.

    Chat API पर जाएं

  2. Configuration पर क्लिक करें और Chat ऐप्लिकेशन सेट अप करें:

    1. ऐप्लिकेशन का नाम में, Dialogflow App डालें.
    2. अवतार यूआरएल में, https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png डालें.
    3. ब्यौरा में, Responds to real human conversation डालें.
    4. सुविधाएं में जाकर, स्पेस और ग्रुप बातचीत में शामिल हों को चुनें.
    5. कनेक्शन सेटिंग में जाकर, Dialogflow चुनें.
    6. Dialogflow की सेटिंग में जाकर, Dialogflow CX चुनें.
    7. एजेंट या एनवायरमेंट के संसाधन का नाम में, Dialogflow CX एजेंट का वह नाम चिपकाएं जिसे आपने Dialogflow CX एजेंट बनाएं के आखिर में कॉपी किया था.
    8. अपने डोमेन में इस Chat ऐप्लिकेशन को कुछ लोगों और ग्रुप के लिए उपलब्ध कराएं. इसके बाद, अपना ईमेल पता डालें.
    9. लॉग में जाकर, लॉगिंग में गड़बड़ियों को लॉग करें चुनें.
  3. सेव करें पर क्लिक करें.

Chat ऐप्लिकेशन, Chat पर मैसेज पाने और उनका जवाब देने के लिए तैयार है.

Chat ऐप्लिकेशन की टेस्टिंग करना

Google Chat में मैसेज भेजकर, Dialogflow CX Chat ऐप्लिकेशन को आज़माएँ.

  1. Google Workspace खाते का इस्तेमाल करके Google Chat खोलें. आपने इसी खाते का इस्तेमाल करके, भरोसेमंद टेस्टर के तौर पर खुद को जोड़ा था.

    Google Chat पर जाएं

  2. नई चैट पर क्लिक करें.
  3. एक या उससे ज़्यादा लोगों को जोड़ें फ़ील्ड में, अपने Chat ऐप्लिकेशन का नाम डालें.
  4. नतीजों में से अपना Chat ऐप्लिकेशन चुनें. एक डायरेक्ट मैसेज खुलता है.

  5. ऐप्लिकेशन को भेजे गए नए डायरेक्ट मैसेज में, Hello टाइप करें और enter दबाएं.

    Dialogflow Chat ऐप्लिकेशन, अपना परिचय देकर जवाब देता है.

  6. सैंपल टेस्ट बातचीत करके, टेस्ट पूरा करें.

परीक्षा के लिए बातचीत का सैंपल

Dialogflow CX कंसोल या Google Chat में Dialogflow CX Chat ऐप्लिकेशन को टेस्ट करने के लिए, यहां दी गई बातचीत करें. इस जानकारी से आपको यह समझने में मदद मिलती है कि Dialogflow CX एजेंट, उपयोगकर्ता की बोलचाल की भाषा को कैसे समझता है. साथ ही, बातचीत के हर चरण में, वह बोलचाल की भाषा में जवाब कैसे देता है. यह बातचीत का सैंपल, यात्रा: कार का किराया नाम के पहले से बने एजेंट पर आधारित है.

Dialog जानकारी
एंड-यूज़र: नमस्ते
एजेंट: नमस्ते! मैं वर्चुअल कार रेंटल एजेंट हूं. हम आपको कार किराए पर लेने की नई बुकिंग शुरू करने में मदद कर सकते हैं. मैं आपकी क्या मदद कर सकता/सकती हूं?
  1. डिफ़ॉल्ट वेलकम इंटेंट को डिफ़ॉल्ट स्टार्ट फ़्लो में कॉल किया जाता है.
  2. इस स्टेट हैंडलर ("नमस्ते! मैं...") को जवाब देने के लिए सूची में जोड़ दिया जाता है.
  3. एजेंट, असली उपयोगकर्ता को जवाबों की सूची भेजता है.
उपयोगकर्ता: मुझे किराये पर कार चाहिए.
एजेंट: आपको वाहन कहाँ से पिक अप करना है?
  1. car_rental.reservation_create इंटेंट रूट, स्टार्ट पेज में मैच किया गया हो.
  2. इसके बाद, सेशन पिकअप की जगह वाले पेज पर चला जाता है.
  3. पिकअप की जगह पेज का फ़ॉर्म पूरा नहीं है. इसलिए, एजेंट pickup_location पैरामीटर का इस्तेमाल करके, उपयोगकर्ता को प्रॉम्प्ट करता है ("आपको कहां से पिकअप करना है..."), इसे जवाब की सूची में जोड़ दिया जाता है.
  4. एजेंट, असली उपयोगकर्ता को जवाबों की सूची भेजता है.
खरीदार: लास वेगास
एजेंट: ठीक है, आपको लास वेगास में पिकअप करने की सुविधा मिलेगी.
एजेंट: क्या आपको किसी और जगह से पिकअप करना है?
  1. आखिरी उपयोगकर्ता के इनपुट से, pickup_location पैरामीटर की वैल्यू सेट होती है. इस पैरामीटर के लिए एजेंट ने बातचीत के पिछले टर्न में अनुरोध किया था.
  2. Default Start Flow में, car_rental.return_different_location इंटेंट का रूट मैच किया जाता है.
  3. पिकअप की जगह पेज पर, फ़ॉर्म भरने के तरीके का आकलन किया जाता है और उसे कॉल किया जाता है. इसमें फ़ुलफ़िलमेंट ("ठीक है, आपका पिकअप...") है, जिसे जवाब की कतार में जोड़ा जाता है. इसके पैरामीटर रेफ़रंस, असली उपयोगकर्ता की ओर से दी गई असली वैल्यू में बदल जाते हैं.
  4. इसके बाद, सेशन जगह की पुष्टि करें पेज पर चला जाता है.
  5. जगह की पुष्टि करें पेज पर एंट्री फ़ुलफ़िलमेंट ("क्या ड्रॉप ऑफ़ करने की जगह अलग है...") मौजूद है, इसे जवाब की सूची में जोड़ दिया जाता है.
  6. एजेंट, असली उपयोगकर्ता को जवाबों की सूची भेजता है.
असली उपयोगकर्ता: हां. मैं कार को लॉस एंजेलिस में छोड़ दूँगा.
एजेंट: ठीक है, आपको लॉस ऐंजेलिस में छोड़ दिया जाएगा.
एजेंट: आपको किस तारीख और समय पर गाड़ी चाहिए?
  1. Default Start Flow में, car_rental.return_different_location इंटेंट का रूट मैच किया जाता है.
  2. इसके बाद, सेशन ड्रॉप-ऑफ़ की जगह वाले पेज पर चला जाता है.
  3. आखिरी उपयोगकर्ता का इनपुट, drop_off_location पैरामीटर की वैल्यू सेट करता है. इस पैरामीटर के लिए, एजेंट ने पिछली बातचीत में अनुरोध किया था.
  4. ड्रॉप ऑफ़ लोकेशन पेज पर फ़ॉर्म पूरा करने के तरीके का आकलन किया जाता है और उसे कॉल किया जाता है. इसमें अनुरोध पूरा करने की जानकारी ("ठीक है, आपका सामान...") शामिल है, जिसे जवाब की सूची में जोड़ा जाता है.
  5. इसके बाद, सेशन किराये पर लेने की अवधि वाले पेज पर चला जाता है.
  6. किराये की अवधि पेज पर फ़ॉर्म की वैल्यू पूरी नहीं हैं. इसलिए, यह उपयोगकर्ता को pickup_date_time पैरामीटर के लिए प्रॉम्प्ट करता है ("आपको किस तारीख और समय पर पिकअप करना है..."), इसे जवाब की सूची में जोड़ दिया जाता है.
  7. एजेंट, असली उपयोगकर्ता को जवाबों की सूची भेजता है.
एंड-यूज़र: मुझे 5 मार्च को दोपहर में कार लेनी है.
एजेंट: आपको किस तारीख और समय पर गाड़ी वापस करनी है?
  1. उपयोगकर्ता का इनपुट, pickup_date_time पैरामीटर की वैल्यू के तौर पर सेट होता है. इस पैरामीटर के लिए, एजेंट ने बातचीत के पिछले टर्न में अनुरोध किया था.
  2. किराये की अवधि पेज पर फ़ॉर्म की एक और वैल्यू मौजूद नहीं है. इसलिए, यह उपयोगकर्ता से drop_off_date_time पैरामीटर के लिए पूछता है ("आपको किस तारीख और समय पर..."), इसे जवाब की सूची में जोड़ दिया जाता है.
  3. एजेंट, असली उपयोगकर्ता को जवाबों की सूची भेजता है.
एंड-यूज़र: 15 मार्च को दोपहर 12 बजे.
एजेंट: पुष्टि करने के लिए:

आपको वाहन यहां से लेना है: लास वेगास 05-03-2024 12:00:00 और यहां छोड़ना है: लॉस एंजेलिस 15-03-2024 12:00:00

क्या यह जानकारी सही है?
  1. एंड-यूज़र के इनपुट से, drop_off_date_time पैरामीटर की वैल्यू मिलती है. इस पैरामीटर के लिए एजेंट ने बातचीत के पिछले टर्न में अनुरोध किया था.
  2. इसके बाद, सेशन किराये की अवधि की पुष्टि करें पेज पर चला जाता है.
  3. किराये की अवधि की पुष्टि करें पेज पर एंट्री फ़ुलफ़िलमेंट ("इसलिए पुष्टि करने के लिए...") मौजूद है, इसे जवाब की सूची में जोड़ दिया जाता है.
  4. एजेंट, असली उपयोगकर्ता को जवाबों की सूची भेजता है.
असली उपयोगकर्ता: हां, धन्यवाद.
Agent: बहुत बढ़िया! अब कोई वाहन चुनते हैं.
एजेंट: आपको इकॉनमी या लग्ज़री वाहन चाहिए?
  1. Confirm Rental Duration पेज पर, small_talk.confirmation.yes इंटेंट का मिलान किया जाता है.
  2. एजेंट, मैसेज के ज़रिए उपयोगकर्ता की पसंद की पुष्टि करता है ("बहुत बढ़िया! अब हम चुनते हैं..."), इसे जवाब की सूची में जोड़ दिया जाता है.
  3. इसके बाद, सेशन वाहन की जानकारी पेज पर रीडायरेक्ट हो जाता है.
  4. वाहन के बारे में जानकारी पेज का फ़ॉर्म पूरा नहीं है. इसलिए, एजेंट vehicle_type पैरामीटर का इस्तेमाल करके उपयोगकर्ता को प्रॉम्प्ट करता है ("क्या आपको इकोनॉमी या लग्ज़री..."), इसे जवाब की सूची में जोड़ दिया जाता है.
  5. एजेंट, असली उपयोगकर्ता को जवाबों की सूची भेजता है.
असली उपयोगकर्ता: कृपया इकॉनमी शिपिंग का विकल्प चुनें.
एजेंट: आपको Cymbal Car चाहिए या Cymbal Truck?
  1. $session.params.vehicle_type="economy_vehicle" इंटेंट का रूट मैच किया गया है.
  2. इसके बाद, सेशन किफ़ायती विकल्प पेज पर चला जाता है.
  3. किफ़ायती विकल्प पेज पर, एंट्री फ़ुलफ़िलमेंट ("क्या आपको...") की सुविधा उपलब्ध है, इसे जवाब की सूची में जोड़ दिया जाता है.
  4. एजेंट, असली उपयोगकर्ता को जवाबों की सूची भेजता है.
एंड-यूज़र: Cymbal Truck.
एजेंट: Cymbal Truck का किराया, हर दिन के हिसाब से 5,033 रुपये है. इसमें चार लोग बैठ सकते हैं. साथ ही, इसमें AM/FM रेडियो भी दिया गया है. क्या आपको पेमेंट करना है?
असली उपयोगकर्ता: हां, कृपया.
  1. $session.params.vehicle_type="Cymbal Truck" इंटेंट रूट मैच हो जाता है और vehicle_model पैरामीटर भर जाता है.
  2. इसके बाद, सेशन Confirm Cymbal Truck पेज पर चला जाता है.
  3. Cymbal Truck की पुष्टि करें पेज पर एंट्री फ़ुलफ़िलमेंट ("Cymbal Truck का किराया 5,033 रुपये प्रति दिन है...") मौजूद है, इसे जवाब की सूची में जोड़ दिया जाता है.
  4. एजेंट, असली उपयोगकर्ता को जवाबों की सूची भेजता है.
  5. उपयोगकर्ता का जवाब, small_talk.confirmation.yes रूट से मेल खाता है.
एजेंट: आपको किस तरह के कार्ड का इस्तेमाल करना है?
End-user: Altostrat
Agent: Please enter the card number.
एंड-यूज़र: 1234 1234 1234 1234
Agent: What is the name on the card?
एंड-यूज़र: चार्ली
एजेंट: बिलिंग के लिए सड़क का पता क्या है?
एंड-यूज़र: 1800 Amphibious Blvd. Mountain View, CA
एजेंट: बिलिंग का ज़िप कोड क्या है?
एंड-यूज़र: 94045
एजेंट: आपको Cymbal Car को 5 मार्च, 2024 को दोपहर 12:00:00 बजे लास वेगास से पिक करना है और 15 मार्च, 2024 को दोपहर 12:00:00 बजे इसे वापस करना है. इस यात्रा का कुल किराया 17,538 रुपये होगा.
एजेंट: हमारे साथ मिलकर कार किराए पर लेने के लिए धन्यवाद. आपका दिन शुभ हो!
  1. इसके बाद, सेशन पेमेंट पेज पर रीडायरेक्ट हो जाएगा.
  2. Payment फ़ॉर्म पूरा नहीं है. इसलिए, एजेंट उपयोगकर्ता से card_type, card_number, billing_name, billing_street_address, और billing_zip_code पैरामीटर के बारे में पूछता है ("What card type will..."), इन्हें क्रम से जवाब देने के लिए तैयार रखा जाता है और उपयोगकर्ता के जवाब देने पर भेजा जाता है. उपयोगकर्ता के जवाबों से, हर पैरामीटर की वैल्यू सेट होती है.
  3. इसके बाद, सेशन किराये की पुष्टि पेज पर चला जाता है.
  4. किराये पर लेने की पुष्टि वाले पेज पर, बुकिंग पूरी होने की जानकारी ("ठीक है, आपको पिकअप करने की अनुमति मिल गई है...") मौजूद है, इसे जवाब की सूची में जोड़ दिया जाता है.
  5. एजेंट, असली उपयोगकर्ता को जवाबों की सूची भेजता है.
  6. इसके बाद, सेशन सेशन खत्म करें पेज पर चला जाता है.

Dialogflow से कार्ड मैसेज भेजना

Dialogflow, टेक्स्ट या कार्ड मैसेज के ज़रिए जवाब दे सकता है. कार्ड मैसेज के साथ जवाब देने के लिए, इसे fulfillment में कस्टम पेलोड के तौर पर तय करें.

यहां दिए गए JSON में, फ़ुलफ़िलमेंट में कस्टम पेलोड के तौर पर कार्ड मैसेज भेजने का तरीका बताया गया है:

json

{
  'cardsV2': [{
    'cardId': 'createCardMessage',
    'card': {
      'header': {
        'title': 'A card message!',
        'subtitle': 'Sent from Dialogflow',
        'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
        'imageType': 'CIRCLE'
      },
      'sections': [
        {
          'widgets': [
            {
              'buttonList': {
                'buttons': [
                  {
                    'text': 'Read the docs!',
                    'onClick': {
                      'openLink': {
                        'url': 'https://developers.google.com/workspace/chat'
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  }]
}

सीमाएं और ज़रूरी बातें

  • चैट इंटरैक्शन इवेंट के लिए, सीमित सहायता उपलब्ध है. साथ ही, कुछ बातों का ध्यान रखना ज़रूरी है:
    • यहां दिए गए इंटरैक्शन इवेंट टाइप इस्तेमाल किए जा सकते हैं:
      • MESSAGE
      • ADDED_TO_SPACE
      • CARD_CLICKED
    • MESSAGE या ADDED_TO_SPACE इवेंट के लिए, Dialogflow एजेंट को भेजा गया क्वेरी इनपुट, चैट मैसेज में मौजूद argumentText फ़ील्ड की वैल्यू के बराबर होता है. अगर मैसेज में स्लैश कमांड शामिल है, तो text फ़ील्ड की वैल्यू का इस्तेमाल किया जाता है.
    • CARD_CLICKED इवेंट के लिए, Dialogflow एजेंट को भेजी गई क्वेरी के इनपुट को CARD_CLICKED.functionName के तौर पर फ़ॉर्मैट किया जाता है. इसमें functionName, इंटरैक्टिव कार्ड एलिमेंट (जैसे कि बटन) से जुड़े कार्रवाई ऑब्जेक्ट के function फ़ील्ड की वैल्यू से मेल खाता है.
    • Chat के हर इंटरैक्शन इवेंट का पूरा JSON पेलोड, Dialogflow को क्वेरी पैरामीटर में कस्टम पेलोड के तौर पर भेजा जाता है. साथ ही, WebhookRequest.payload फ़ील्ड की वैल्यू को क्वेरी करके, Dialogflow वेबहुक की मदद से इसे ऐक्सेस किया जा सकता है.
  • स्लैश कमांड का जवाब देने और कार्ड या डायलॉग से डेटा पाने के लिए ये बातें ध्यान में रखें:
    • जब Dialogflow Chat ऐप्लिकेशन को स्लैश कमांड वाला कोई मैसेज मिलता है, तो क्वेरी इनपुट में सिर्फ़ text फ़ील्ड की वैल्यू होती है. text फ़ील्ड, स्लैश कमांड के नाम से शुरू होता है. उदाहरण के लिए, /command. इसका इस्तेमाल, Dialogflow एजेंट के इंटेंट को कॉन्फ़िगर करने के लिए किया जा सकता है, ताकि वह स्लैश कमांड का पता लगा सके.
    • अगर Dialogflow एजेंट को चैट इंटरैक्शन इवेंट JSON पेलोड को प्रोसेस करना है, तो वह ऐसा Dialogflow वेबहुक का इस्तेमाल करके कर सकता है. इससे क्वेरी पैरामीटर में कस्टम पेलोड की जांच की जा सकती है.
    • Dialogflow एजेंट से डायलॉग दिखाने के लिए, एक कस्टम JSON पेलोड के साथ जवाब दें. इसमें एक ऐसा मैसेज शामिल हो जिसमें DIALOG कार्रवाई का जवाब शामिल हो.
    • कार्ड से मिले डेटा को प्रोसेस करने के लिए, Dialogflow एजेंट ऐसे इंटेंट का पता लगा सकता है जो CARD_CLICKED टेक्स्ट से शुरू होते हैं. साथ ही, वह एक कस्टम JSON पेलोड के साथ जवाब दे सकता है. इसमें सही कार्रवाई शामिल होती है.
  • लिंक की झलक दिखाने की सुविधा काम नहीं करती.
  • अगर Dialogflow एजेंट सिर्फ़ एक मैसेज का जवाब देता है, तो मैसेज को Google Chat पर तुरंत भेज दिया जाता है. अगर Dialogflow एजेंट एक से ज़्यादा मैसेज का जवाब देता है, तो सभी मैसेज को Chat में एसिंक्रोनस तरीके से भेजा जाता है. इसके लिए, Chat API में spaces.messages रिसॉर्स पर create तरीके को हर मैसेज के लिए एक बार कॉल किया जाता है.
  • Chat के साथ Dialogflow CX इंटिग्रेशन का इस्तेमाल करते समय, Dialogflow एजेंट और Chat ऐप्लिकेशन को एक ही Google Cloud प्रोजेक्ट में सेट अप किया जाना चाहिए. अगर आपको Dialogflow और Chat को अलग-अलग Cloud प्रोजेक्ट में सेट अप करना है, तो कनेक्शन को आसान बनाने के लिए, इंटरमीडिएट सर्वर सेट अप किया जा सकता है. इसके बारे में जानने के लिए, GitHub पर Dialogflow CX के लिए Chat इंटिग्रेशन का उदाहरण देखें.

समस्या हल करें

जब Google Chat ऐप्लिकेशन या कार्ड में कोई गड़बड़ी होती है, तो Chat इंटरफ़ेस पर एक मैसेज दिखता है. इसमें लिखा होता है कि "कोई गड़बड़ी हुई." या "आपका अनुरोध पूरा नहीं किया जा सका." कभी-कभी Chat के यूज़र इंटरफ़ेस (यूआई) में कोई गड़बड़ी का मैसेज नहीं दिखता है, लेकिन Chat ऐप्लिकेशन या कार्ड से कोई अनचाहा नतीजा मिलता है. उदाहरण के लिए, ऐसा हो सकता है कि कार्ड मैसेज न दिखे.

ऐसा हो सकता है कि Chat के यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी का मैसेज न दिखे. हालांकि, Chat ऐप्लिकेशन के लिए गड़बड़ी के लॉगिंग की सुविधा चालू होने पर, गड़बड़ी के बारे में बताने वाले मैसेज और लॉग डेटा उपलब्ध होता है. इससे आपको गड़बड़ियों को ठीक करने में मदद मिलती है. गड़बड़ियों को देखने, डीबग करने, और ठीक करने के बारे में मदद पाने के लिए, Google Chat से जुड़ी गड़बड़ियों को ठीक करना लेख पढ़ें.

व्यवस्थित करें

इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, अपने Google Cloud खाते से शुल्क न लिए जाने से बचने के लिए, हमारा सुझाव है कि आप Cloud प्रोजेक्ट मिटा दें.

  1. Google Cloud Console में, संसाधन मैनेज करें पेज पर जाएं. मेन्यू > IAM और एडमिन > संसाधन मैनेज करें पर क्लिक करें.

    Resource Manager पर जाएं

  2. प्रोजेक्ट की सूची में, वह प्रोजेक्ट चुनें जिसे आपको मिटाना है. इसके बाद, मिटाएं पर क्लिक करें.
  3. डायलॉग बॉक्स में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट मिटाने के लिए बंद करें पर क्लिक करें.
  • Dialogflow CX, Dialogflow एजेंट को डिज़ाइन करने के लिए स्टेट मशीन का इस्तेमाल करता है. इससे आपको बातचीत पर साफ़ तौर पर कंट्रोल मिलता है. साथ ही, इससे एंड-यूज़र को बेहतर अनुभव मिलता है और डेवलपमेंट का वर्कफ़्लो बेहतर होता है. Dialogflow Chat ऐप्लिकेशन बनाते समय, हमारा सुझाव है कि आप Dialogflow CX का इस्तेमाल करें.
  • Dialogflow ES, Chat ऐप्लिकेशन के साथ Dialogflow का इस्तेमाल करने का एक और तरीका है.