Dialogflow ES का इस्तेमाल करके, Google Chat ऐप्लिकेशन बनाना

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

मकसद

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

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

आर्किटेक्चर

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

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

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

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

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

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

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

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

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

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

अगर आपके पास पहले से कोई Dialogflow ES एजेंट नहीं है, तो:

  1. Dialogflow ES Console पर जाएं.
  2. Create Agent पर क्लिक करें.
  3. इसे कोई नाम दें. साथ ही, डिफ़ॉल्ट भाषा और टाइम ज़ोन चुनें.
  4. इसे अपने क्लाउड प्रोजेक्ट से जोड़ें.
  5. बनाएं पर क्लिक करें.
  6. अपने चैट ऐप्लिकेशन के बातचीत वाले फ़्लो के लिए, अपनी ज़रूरत के हिसाब से इंटेंट और इकाइयां बनाएं. ग्रीटिंग इंटेंट से शुरुआत की जा सकती है.
  7. अपने प्रोजेक्ट आईडी को नोट कर लें.

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

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

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

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

    Chat API पर जाएं

  2. कॉन्फ़िगरेशन पर क्लिक करें और 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 ES को चुनें.
    7. अपने डोमेन में Chat ऐप्लिकेशन को कुछ लोगों और ग्रुप के लिए उपलब्ध कराएं को चुनें. इसके बाद, अपना ईमेल पता डालें.
    8. लॉग में जाकर, लॉगिंग में लॉग की गई गड़बड़ियां चुनें.
  3. सेव करें पर क्लिक करें.

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

Chat ऐप्लिकेशन को आज़माना

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

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

    Google Chat पर जाएं

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

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

    Dialogflow Chat ऐप्लिकेशन, वेलकम मैसेज भेजकर जवाब देता है.

टेक्स्ट वाले जवाब

टेक्स्ट वाले जवाब, Google Chat पर टेक्स्ट मैसेज के तौर पर भेजे जाते हैं. इस फ़ॉर्मैटिंग की मदद से, टेक्स्ट को बोल्ड या इटैलिक किया जा सकता है. इसके लिए, टेक्स्ट को कुछ (मार्कडाउन लाइट) सिंबल में रैप करें.

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

"fulfillmentMessages": [
{
   "text": {
   "text": [
        "This is a test."
   ]
},
  "platform": "GOOGLE_HANGOUTS"
},

कार्ड

कार्ड के जवाब, Google Chat पर कार्ड मैसेज के तौर पर भेजे जाते हैं.

इमेज

इमेज वाले जवाब, Google Chat को Google Chat इमेज विजेट के तौर पर भेजे जाते हैं.

कस्टम पेलोड

Google Chat पर अन्य तरह के चैट मैसेज भेजने के लिए, कस्टम पेलोड का इस्तेमाल किया जा सकता है.

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

कार्ड के साथ मैसेज बनाने के लिए, कस्टम पेलोड का उदाहरण यहां दिया गया है:

{ "hangouts": { "hostAppDataAction": { "chatDataAction": {
  "createMessageAction": { "message": { "cardsV2": [{
    "cardId": "pizza",
    "card": {
      "header": {
        "title": "Pizza Delivery Customer Support",
        "subtitle": "pizzadelivery@example.com",
        "imageUrl": "https://goo.gl/aeDtrS"
      },
      "sections": [{ "widgets": [{ "textParagraph": {
        "text": " Your pizza is here!"
      }}]}]
    }
  }]}}
}}}}

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

  • Dialogflow के साथ Google Chat ऐप्लिकेशन इस्तेमाल करते समय, चैट इवेंट ऑब्जेक्ट के लिए इन बातों का ध्यान रखना ज़रूरी है और इनकी ये सीमाएं हैं:
    • ऐप्लिकेशन होम इवेंट: फ़िलहाल, APP_HOME इवेंट के लिए सहायता उपलब्ध नहीं है.
    • Dialogflow क्वेरी इनपुट: Dialogflow एजेंट को क्वेरी इनपुट के तौर पर भेजा गया टेक्स्ट, इवेंट टाइप पर निर्भर करता है:
      • MESSAGE: यह चैट मैसेज में मौजूद argumentText फ़ील्ड की वैल्यू है.
      • APP_COMMAND: स्ट्रिंग "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE: डिफ़ॉल्ट रूप से वेलकम इवेंट भेजा जाता है.
      • REMOVED_FROM_SPACE: स्ट्रिंग "REMOVED_FROM_SPACE_PAYLOAD".
      • CARD_CLICKED: स्ट्रिंग "BUTTON_CLICKED_PAYLOAD".
      • WIDGET_UPDATED: स्ट्रिंग "WIDGET_UPDATED_PAYLOAD" (इसका इस्तेमाल अपने-आप पूरा होने की सुविधा के लिए किया जाता है).
    • पूरा इवेंट पेलोड: चैट इंटरैक्शन इवेंट का पूरा JSON पेलोड, Dialogflow को WebhookRequest.payload फ़ील्ड में भेजा जाता है. इसे Dialogflow वेबहुक में ऐक्सेस किया जा सकता है. ज़्यादा जानकारी के लिए, Dialogflow ES के वेबहुक अनुरोध का दस्तावेज़ देखें.
  • कमांड का जवाब देने और कार्ड या डायलॉग से डेटा पाने के लिए ध्यान रखने वाली बातें:
  • लिंक की झलक दिखाने की सुविधा काम नहीं करती.
  • अगर Dialogflow एजेंट सिर्फ़ एक मैसेज भेजता है, तो वह मैसेज Google Chat को सिंक्रोनस तरीके से भेजा जाता है. अगर Dialogflow एजेंट कई मैसेज के साथ जवाब देता है, तो सभी मैसेज को Chat में एसिंक्रोनस तरीके से भेजा जाता है. इसके लिए, Chat API में spaces.messages रिसॉर्स पर create तरीके को हर मैसेज के लिए एक बार कॉल किया जाता है.
  • Chat के साथ Dialogflow ES इंटिग्रेशन का इस्तेमाल करते समय, Dialogflow एजेंट और Chat ऐप्लिकेशन को एक ही Google Cloud प्रोजेक्ट में सेट अप किया जाना चाहिए.

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

अपने Chat ऐप्लिकेशन को डीबग करने के लिए, गड़बड़ी के लॉग की समीक्षा करें. यह ऐप्लिकेशन Dialogflow का इस्तेमाल करता है. इसलिए, आपके पास लॉगिंग और समस्या हल करने के लिए कई संसाधन उपलब्ध हैं:

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

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

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

    Resource Manager पर जाएं

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