Dialogflow से Actions Builder प्रोजेक्ट पर माइग्रेट करना

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

इस गाइड पर काम करने से पहले, आपको ऐक्शन बिल्डर के माइग्रेशन की खास जानकारी देने वाला डायलॉग बॉक्स देखना चाहिए. इसमें Dialogflow और Actions Builder के बीच के अहम सिद्धांतों के बारे में जानकारी दी गई है.

माइग्रेशन टूल क्या करता है

Dialogflow को Actions Builder माइग्रेशन टूल में, इंटेंट और इकाइयों जैसे खास Dialogflow एलिमेंट को, Action Builder के साथ काम करने के लिए बदला जाता है.

माइग्रेशन टूल, इन Dialogflow एलिमेंट को अपने-आप Actions Builder में माइग्रेट कर देता है:

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

माइग्रेशन टूल, इन Dialogflow एलिमेंट को हैंडल नहीं करता है:

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

माइग्रेशन टूल ऐक्सेस करें

माइग्रेशन टूल ऐक्सेस करने के लिए, Actions कंसोल में Dialogflow प्रोजेक्ट खोलें और डेवलप करें > कार्रवाइयां पर जाएं.

अगर आपको Actions कंसोल में इस्तेमाल किए गए प्रोजेक्ट के बारे में जानकारी नहीं है, तो Dialogflow कंसोल पर जाएं और यह तरीका अपनाएं:

  1. वह प्रोजेक्ट खोलें जिसे आपको माइग्रेट करना है और सेटिंग आइकॉन पर क्लिक करें.
  2. सामान्य > प्रोजेक्ट आईडी में जाकर, Google पर कार्रवाई लिंक पर क्लिक करें. यह चरण आपको उस खास प्रोजेक्ट के लिए Actions कंसोल पर ले जाता है.
  3. डेवलप करें > कार्रवाइयां पर जाएं और माइग्रेशन की झलक देखें पर क्लिक करें.

माइग्रेशन डैशबोर्ड देखने के लिए, जानकारी देने वाली स्लाइड पर जाएं और माइग्रेशन शुरू करें पर क्लिक करें.

माइग्रेशन डैशबोर्ड

माइग्रेशन डैशबोर्ड, माइग्रेशन के विकल्पों के साथ-साथ यह जानकारी भी दिखाता है कि कौनसे आइटम माइग्रेट किए जाएंगे.

माइग्रेशन के विकल्प

माइग्रेशन टूल में, आपके Dialogflow प्रोजेक्ट को Actions Builder पर माइग्रेट करने के दो विकल्प हैं:

  • नए प्रोजेक्ट के तौर पर माइग्रेट करना (इसका सुझाव दिया जाता है)
    • यह आपके मौजूदा Dialogflow प्रोजेक्ट को नहीं बदलता और एक कॉपी को नए प्रोजेक्ट में माइग्रेट करता है.
    • डिसप्ले नेम और डायरेक्ट्री की जानकारी, मौजूदा प्रोडक्शन प्रोजेक्ट से जुड़ी रहेगी. लाइव प्रोजेक्ट को माइग्रेट किए गए प्रोजेक्ट से ओवरराइट करने का तरीका जानने के लिए, सुझाई गई प्रोसेस देखें.
  • इस प्रोजेक्ट को माइग्रेट करें
    • यह Dialogflow के मौजूदा प्रोजेक्ट को बदल देता है. साथ ही, आपके प्रोजेक्ट के लिए तय किए गए मौजूदा डिसप्ले नेम और Assistant की डायरेक्ट्री की जानकारी को बनाए रखता है.

माइग्रेशन रिपोर्ट

नीचे दी गई जानकारी से जुड़े प्रोजेक्ट की खास जानकारी दिखाने के लिए, माइग्रेशन रिपोर्ट के हर सेक्शन को बड़ा करके देखा जा सकता है:

  • क्या पूरी तरह से माइग्रेट किया जाएगा.
  • क्या माइग्रेट किया जाएगा, लेकिन माइग्रेशन के बाद अतिरिक्त सेटअप की ज़रूरत होगी.
  • क्या माइग्रेट नहीं किया जाएगा और क्या मैन्युअल तौर पर जोड़ना होगा (अगर ज़रूरी हो).
  • आपका Dialogflow प्रोजेक्ट, किन सुविधाओं का इस्तेमाल करता है, जो Actions Builder में उपलब्ध नहीं होंगी.

माइग्रेशन रिपोर्ट भी डाउनलोड की जा सकती है. इससे अपने प्रोजेक्ट में माइग्रेशन के बाद बदलाव करते समय इसका इस्तेमाल किया जा सकता है.

पोस्ट माइग्रेशन सेट अप

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

सीन इस्तेमाल करने के लिए, बातचीत करने की अपनी प्रोसेस को अपडेट करें

माइग्रेशन टूल, Dialogflow इंटेंट के आधार पर ऐसे सीन जनरेट करता है जिनमें एक इनपुट कॉन्टेक्स्ट होता है. हालांकि, यह वन-टू-वन रिलेशनशिप नहीं होता. नए बातचीत मॉडल के साथ, Actions Builder में माइग्रेट किए गए कुछ सीन समझ में नहीं आ सकेंगे.

ऐसा हो सकता है कि आपको बातचीत के फ़्लो पर फिर से विचार करना पड़े. इसके लिए, इस बात का आकलन करें कि किस सीन की ज़रूरत है. आपकी सेट की गई कार्रवाई की जटिलता के आधार पर, जनरेट किए गए कुछ सीन आसानी से मिटाए जा सकते हैं. ऐसा तब होता है, जब सीन आपकी बातचीत के फ़्लो के हिसाब से सही न हों.

ग्लोबल इंटेंट देखें और अपडेट करें

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

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

ट्रेनिंग वाले मिलते-जुलते वाक्यांशों से इंटेंट एक साथ जोड़ें

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

उदाहरण के लिए, इंटेंट A में नीचे दिए गए ट्रेनिंग वाक्यांश हैं:

  • "ठीक है, मुझे पक्का करना है कि यह तैयार है"
  • "ठीक है, यह तैयार है"
  • "चलिए, ऐसा करते हैं"

इंटेंट B में ये ट्रेनिंग वाक्यांश हैं:

  • "ठीक है, मुझे पक्का करना है कि यह तैयार है"
  • "ठीक है, मुझे लगता है कि मैं तैयार हूं"

दोनों इंटेंट के बीच ट्रेनिंग वाले वाक्यांश एक जैसे हैं, इसलिए इंटेंट A और इंटेंट B को ज़्यादा सामान्य इंटेंट (इंटेंट C) में इकट्ठा करें और मूल सवाल मिटा दें. इंटेंट A या इंटेंट B के बारे में बताने वाले सीन में इंटेंट C का इस्तेमाल करें.

इंटेंट C में ये ट्रेनिंग वाक्यांश हैं:

  • "ठीक है, मुझे पक्का करना है कि यह तैयार है"
  • "ठीक है, यह तैयार है"
  • "चलिए, ऐसा करते हैं"
  • "ठीक है, मुझे लगता है कि मैं तैयार हूं"

इवेंट हैंडलिंग अपडेट करें

Dialogflow में कुछ इवेंट (fallback, media, और welcome) का इस्तेमाल करने वाले इंटेंट के लिए, माइग्रेशन टूल उस इवेंट के लिए मिलता-जुलता सिस्टम इंटेंट बनाता है. अगर एक जैसे Dialogflow इंटेंट में ट्रेनिंग वाले वाक्यांश हैं, तो उन ही ट्रेनिंग वाले वाक्यांशों के साथ एक और इंटेंट बनाया जाएगा.

Actions Builder में इवेंट का सेट अप पूरा करने के लिए, आपको ज़रूरत के हिसाब से वेबहुक हैंडलर और ट्रांज़िशन भी जोड़ने होंगे.

फ़ॉलबैक इंटेंट को मैनेज करने के लिए सिस्टम इंटेंट जोड़ें

Dialogflow में, फ़ॉलबैक इंटेंट ऐसे मामलों को हैंडल करते हैं जहां इंटेंट, किसी उपयोगकर्ता के इनपुट की पहचान नहीं करता. Actions Builder इन मामलों के लिए NO_MATCH और NO_INPOUT सिस्टम इंटेंट का इस्तेमाल करता है.

NO_MATCH और NO_INPUT सिस्टम इंटेंट, दोनों को किसी सीन में ज़्यादा से ज़्यादा तीन बार जोड़ा जा सकता है. उदाहरण के लिए, किसी सीन में NO_MATCH के तीन इंटेंट जोड़ने का मतलब है कि उपयोगकर्ता के जवाब में, आपकी सेट की गई कार्रवाई में क्या खोजा जा रहा है, इस बारे में ज़्यादा जानकारी के साथ जवाब दिया जा सकता है.

जहां आपके Dialogflow प्रोजेक्ट में फ़ॉलबैक इंटेंट का इस्तेमाल किया गया हो, वहां सिस्टम इंटेंट जोड़ना ज़रूरी है. आम तौर पर इस्तेमाल किए जाने वाले Actions Builder सिस्टम इंटेंट के कुछ उदाहरण, NO_MATCH और NO_INPUT हैं. इन सिस्टम इंटेंट के बारे में ज़्यादा जानने के लिए, सिस्टम इंटेंट देखें.

ग्राहक को आइटम भेजने की रणनीति अपडेट करना

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

इस बात को ध्यान में रखते हुए, हो सकता है कि आप Actions Builder की सुविधाओं का फ़ायदा पाने के लिए, अपने प्रोजेक्ट की ज़रूरतें पूरी करने के बारे में फिर से विचार कर सकते हैं:

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

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

डेटा को दूसरी जगह भेजने के उदाहरण

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

माइग्रेट किए गए प्रोजेक्ट की तुलना करने से, यह समझने में मदद मिलती है कि Dialogflow से Actions Builder पर माइग्रेट करते समय, किस तरह के बदलाव किए जाने चाहिए और किस तरह के बदलाव किए जाने चाहिए. लागू करने की तुलना करने के लिए, माइग्रेट किए गए इन सैंपल प्रोजेक्ट की समीक्षा की जा सकती है:

सैंपल प्रोजेक्ट Dialogflow कोड ऐक्शन बिल्डर कोड
Google के बारे में तथ्य प्रोजेक्ट कोड प्रोजेक्ट कोड
लेन-देन प्रोजेक्ट कोड प्रोजेक्ट कोड
खाता लिंक करना प्रोजेक्ट कोड प्रोजेक्ट कोड

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

इस प्रोसेस में, दो अलग-अलग Actions Builder प्रोजेक्ट के साथ काम करना शामिल है. इन दोनों प्रोजेक्ट को एक ही Dialogflow प्रोजेक्ट से माइग्रेट किया जाता है. साफ़ तौर पर कहा जाए, तो इन प्रोजेक्ट को ये कहा जाता है:

  • प्रयोग के तौर पर: इस प्रोजेक्ट का इस्तेमाल, आपके माइग्रेशन को सेट अप करने और उसकी जांच करने के लिए किया जाता है.
  • ओरिजनल: यह प्रोजेक्ट फ़िलहाल लाइव है और उपयोगकर्ताओं को दिखाया जा रहा है.

अपने प्रोजेक्ट को माइग्रेट करने के लिए, ये काम करें:

  1. Dialogflow की एक्सपोर्ट सुविधा का इस्तेमाल करके, अपने Dialogflow प्रोजेक्ट का बैकअप बनाएं.
  2. Actions कंसोल पर जाएं और वह प्रोजेक्ट खोलें जिसे आपको माइग्रेट करना है.
  3. डेवलप करें > कार्रवाइयां पर जाएं और माइग्रेशन की झलक देखें पर क्लिक करें.
  4. जानकारी देने वाली स्लाइड पर क्लिक करें और फिर माइग्रेशन शुरू करें पर क्लिक करें.
  5. नए प्रोजेक्ट के तौर पर माइग्रेट करें को चुनें.
  6. माइग्रेशन रिपोर्ट की समीक्षा करें और वैकल्पिक रूप से इसे आने वाले समय में इस्तेमाल करने के लिए डाउनलोड करें.
  7. माइग्रेट करें पर क्लिक करें.
  8. अपने "एक्सपेरिमेंटल" प्रोजेक्ट का नाम डालें और प्रोजेक्ट बनाएं पर क्लिक करें. प्रोजेक्ट आईडी को नोट कर लें.
  9. माइग्रेशन के बाद के सभी सेट अप पूरे करें और पुष्टि करें कि आपकी सेट की गई कार्रवाई उम्मीद के मुताबिक काम कर रही है.
  10. अपने "एक्सपेरिमेंटल" प्रोजेक्ट का ड्राफ़्ट बनाने के लिए, gactions सीएलआई का इस्तेमाल करें.

    gactions pull --project-id experimental-project-id

  11. Actions कंसोल में, अपना "ओरिजनल" Dialogflow प्रोजेक्ट फिर से खोलें.

  12. डेवलप करें > कार्रवाइयां पर जाएं और माइग्रेशन की झलक देखें पर क्लिक करें.

  13. इस प्रोजेक्ट को माइग्रेट करें चुनें.

  14. माइग्रेट करें पर क्लिक करें.

  15. ज़्यादा आइकॉन > प्रोजेक्ट सेटिंग पर क्लिक करें और प्रोजेक्ट आईडी को नोट कर लें.

  16. अपने लोकल सिस्टम पर, आपने जो "एक्सपेरिमेंटल" प्रोजेक्ट निकाला है उसकी settings.yaml फ़ाइल खोलें और projectId की जगह "ओरिजनल" प्रोजेक्ट का प्रोजेक्ट आईडी डालें.

  17. स्थानीय तौर पर सेव किए गए प्रोजेक्ट का ड्राफ़्ट पुश करने के लिए, gactions सीएलआई का इस्तेमाल करें.

    gactions push

  18. ऐल्फ़ा या बीटा चैनलों की मदद से पब्लिश करने के लिए यह तरीका अपनाएं या अपनी सेट की गई कार्रवाई को प्रोडक्शन में पब्लिश करें.