1. खास जानकारी
पिछली बार अपडेट किए जाने की तारीख: 07-08-2023
आपको क्या बनाना होगा
इस कोडलैब में, Dialogflow CX में एक वर्चुअल एजेंट बनाकर उसे डिप्लॉय और कॉन्फ़िगर किया जा सकता है, ताकि यात्रा करने वाले स्कूबा डाइवर को ग्रुप बुकिंग और प्राइवेट चार्टर की मदद से मदद मिल सके. वर्चुअल एजेंट के जवाब जनरेट करने के लिए, वर्चुअल एजेंट जनरेटिव एआई और Google के नए जनरेटिव लार्ज लैंग्वेज मॉडल (एलएलएम) का इस्तेमाल करेगा.
आपको इनके बारे में जानकारी मिलेगी
- काम के एपीआई चालू करने का तरीका
- Dialogflow, इंटेंट पैरामीटर से पेज फ़ॉर्म पैरामीटर की वैल्यू को अपने-आप पहले से भर कैसे लेता है
- Dialogflow में इवेंट हैंडलर कॉन्फ़िगर करने का तरीका
- फ़्लो में और पैरामीटर भरने के दौरान इस्तेमाल किए गए, मेल न खाने वाले इवेंट हैंडलर पर जनरेटिव फ़ॉलबैक चालू करने का तरीका
- बुनियादी और एजेंट से जुड़ी बातचीत की स्थितियों को मैनेज करने के लिए, अपने टेक्स्ट प्रॉम्प्ट को कॉन्फ़िगर करने का तरीका
- ज़रूरी पैरामीटर (उपयोगकर्ता की ओर से तय किए गए निर्देशों के अलावा) के लिए दोहराव वाले हैंडलर जनरेट करने के लिए, अच्छे इंटेंट और पैरामीटर की जानकारी लिखने का तरीका
- अपने एजेंट को टेस्ट करने और जनरेटिव फ़ॉलबैक को ट्रिगर करने वाले ग्राहक के सवालों को सिम्युलेट करने का तरीका
आपको इन चीज़ों की ज़रूरत होगी
- Google Cloud प्रोजेक्ट
- Chrome जैसा ब्राउज़र
2. सेट अप किया जा रहा है
Dialogflow CX में जनरेटिव फ़ॉलबैक की सुविधा का इस्तेमाल करने से पहले, आपको Dialogflow API को चालू करना होगा.
Cloud Console का इस्तेमाल करके, Dialogflow एपीआई को चालू करना
- अपने ब्राउज़र में Google Cloud Console खोलें.
- चालू किए जा सकने वाले एपीआई और सेवाओं को ब्राउज़ करने के लिए, Google Cloud Console में एपीआई लाइब्रेरी पर जाएं.
- एपीआई लाइब्रेरी पेज में सबसे ऊपर मौजूद खोज बार का इस्तेमाल करके,
Dialogflow API
खोजें. इसके बाद, उस सेवा पर क्लिक करें जो आपको दिख रही है. - अपने Google Cloud प्रोजेक्ट में Dialogflow API को चालू करने के लिए, चालू करें बटन पर क्लिक करें.
gcloud सीएलआई (वैकल्पिक) का इस्तेमाल करना
इसके अलावा, नीचे दिए गए gcloud कमांड का इस्तेमाल करके भी एपीआई को चालू किया जा सकता है:
gcloud services enable dialogflow.googleapis.com
अगर एपीआई चालू हो गया है, तो आपको इस तरह का मैसेज दिखेगा:
Operation "operations/..." finished successfully.
कोड पाएं
आपने वर्चुअल एजेंट को शुरुआत से नहीं बनाया है. हम आपको ऐसा एजेंट उपलब्ध कराएंगे जिसे आपको Dialogflow CX Console से वापस लाना होगा और फिर उसमें सुधार करना होगा.
सोर्स कोड डाउनलोड करने के लिए:
- नया ब्राउज़र टैब खोलें, एजेंट रिपॉज़िटरी पर जाएं और किसी कमांड-लाइन से उसका क्लोन बनाएं.
- शुरुआती एजेंट को JSON पैकेज के तौर पर एक्सपोर्ट किया गया है. फ़ाइल को अनज़िप करें, एजेंट की सेटिंग की जांच करें, फ़्लो की परिभाषा
Liveaboards.json
को देखें. इसके बाद, फ़्लो पेजों, इंटेंट, और इकाइयों को ब्राउज़ करें.
3. नया एजेंट बनाएं
Dialogflow कंसोल खोलें
इस कोडलैब के बाकी चरणों को पूरा करने के लिए, आपको अपने Google Cloud प्रोजेक्ट के साथ-साथ Dialogflow CX कंसोल का इस्तेमाल करना होगा.
- अपने ब्राउज़र में, Dialogflow CX कंसोल पर जाएं.
- वह Google Cloud प्रोजेक्ट चुनें जिसका इस्तेमाल करना है या इस्तेमाल करने के लिए एक नया प्रोजेक्ट बनाएं.
- आपको Dialogflow CX कंसोल में एजेंट की सूची दिखेगी.
अगर आप पहली बार Dialogflow CX का इस्तेमाल कर रहे हैं, तो अपनी ज़रूरतों के हिसाब से अपने प्रोजेक्ट और सेटिंग को कॉन्फ़िगर करने के बारे में ज़्यादा जानकारी के लिए, Dialogflow CX दस्तावेज़ देखें.
नया Dialogflow CX एजेंट बनाएं
- GitHub के रेपो से डाउनलोड किए गए एजेंट को वापस लाने के लिए, आपको एक नया एजेंट बनाना होगा. Dialogflow CX कंसोल में, पेज के सबसे ऊपर दाएं कोने में मौजूद, नया एजेंट बनाएं पर क्लिक करें.
- अपना एजेंट बनाएं विकल्प को चुनें.
- नीचे दी गई एजेंट सेटिंग के हिसाब से फ़ॉर्म भरें. इसके बाद, एजेंट बनाने के लिए, बनाएं पर क्लिक करें.
- डिसप्ले नेम के तौर पर चुनें:
Divebooker
- जगह के हिसाब से:
us-central1
- अपना पसंदीदा टाइम ज़ोन चुनें
en - English
को डिफ़ॉल्ट भाषा के तौर पर चुनें
- ऐसा करने पर, Dialogflow आपके लिए एजेंट को अपने-आप खोल देगा. हमारा काम अभी पूरा नहीं हुआ है!
Deletebooker एजेंट को वापस पाना
- एजेंट की सूची वाले पेज पर वापस जाएं और उस एजेंट की पहचान करें जिसे आपने अभी-अभी बनाया है. विकल्प
पर क्लिक करें. इसके बाद, वापस लाएं बटन पर क्लिक करें.
- अपलोड करें विकल्प चुनें. इसके बाद, उस ZIP फ़ाइल को छोड़ें या चुनें जिसे आपने GitHub रिपॉज़िटरी से पहले डाउनलोड किया है.
- हमने जो एजेंट उपलब्ध कराया है उसे इंपोर्ट करने के लिए, वापस लाएं बटन पर क्लिक करें
बहुत खूब! आपने अपना डाइविंग रिज़र्वेशन वर्चुअल एजेंट बना लिया है. यह एजेंट आपके ग्राहकों की मदद के लिए तैयार है. अगले सेक्शन में, आपको इसकी जांच करने का मौका मिलेगा और पता चलेगा कि यह लोगों के सवालों के जवाब देने और बुकिंग के अनुरोधों में मदद करने के मामले में कितना अच्छा है.
4. एजेंट की जांच करें
Dialogflow में मौजूद सिम्युलेटर की मदद से, एजेंट से चैट की जा सकती है और गड़बड़ियों का पता लगाया जा सकता है. हर मोड़ के लिए, ट्रिगर किए गए इंटेंट, एजेंट के जवाब, सक्रिय पेज, और सेशन पैरामीटर के लिए सही वैल्यू की पुष्टि की जा सकती है.
हम कुछ स्थितियों की जांच करेंगे. साथ ही, हर स्थिति में हम यह पता लगाएंगे कि एजेंट कोई खास जवाब क्यों दे रहा है. चलिए, पहले सवाल से शुरुआत करते हैं.
अनसुलझे इंटेंट
- Dialogflow कंसोल में और अपने एजेंट में, सिम्युलेटर खोलने के लिए टेस्ट एजेंट पर क्लिक करें.
- अपने एजेंट को अभिवादन लिखें, जैसे कि
Hello
औरwhat is a liveaboard?
से पूछें. यह सवाल किसी भी इंटेंट से मेल नहीं खाता है, एक सामान्य प्रॉम्प्ट जैसे "माफ़ करें, मुझे नहीं पता कि मदद कैसे करनी है" दिखाई देता है. यह देखा जा सकता है कि सिम्युलेटर पर ओरिजनल रिस्पॉन्स की जांच करके, sys.no-match-default बिल्ट-इन इवेंट को शुरू किया गया है या नहीं.
JSON से मिले जवाब के आखिर तक स्क्रोल करें. ध्यान दें कि मिलते-जुलते इंटेंट को खोजते समय, Dialogflow को पता चलता है कि यह एक NO_MATCH है और मेल नहीं खाने वाला इवेंट दिखाता है.
- बिल्ड टैब पर स्विच करें और लाइवबोर्ड फ़्लो का शुरुआती पेज खोलें.
डिफ़ॉल्ट रूप से, हर फ़्लो में नो-मैच और नो-इनपुट बिल्ट-इन इवेंट के लिए इवेंट हैंडलर होते हैं. ये इवेंट हैंडलर तब अपने-आप बन जाते हैं, जब कोई फ़्लो बनाया जाता है और इन्हें मिटाया नहीं जा सकता.
- sys.no-match-default इवेंट हैंडलर पर क्लिक करें और नीचे की ओर स्क्रोल करके, एजेंट के जवाब सेक्शन पर जाएं. Dialogflow, वैकल्पिक जवाबों की एक सूची देता है. हालांकि, असली उपयोगकर्ता को मैसेज के साथ-साथ अन्य जानकारी देने के लिए, अलग-अलग तरह के जवाब वाले मैसेज भी तय किए जा सकते हैं.
चलिए, अब हैपी पाथ की ओर बढ़ते हैं!
हैप्पी पाथ
इस दूसरे मामले में, खुद को एक गोताखोर बना दें जो अगले साल जुलाई में गैलापागोस द्वीप समूह में 12 लोगों के एक समूह के लिए, एक डाइविंग क्रूज़ बुक करना चाहता है.
- एजेंट के साथ नई बातचीत शुरू करने के लिए, सिम्युलेटर पैनल में रीसेट करें आइकॉन पर क्लिक करें.
- एजेंट को बताएं कि आपको गलापागोस द्वीप समूह के लिए चार्टर बुक करना है और अपनी यात्रा से जुड़ी जानकारी दें. आपको नीचे दिए गए उसी तरह के प्रॉम्प्ट का इस्तेमाल करने की ज़रूरत नहीं है. एक्सपेरिमेंट करें!
- शुरुआती पेज खोलें और head.send.group.request रूट पर क्लिक करें. नीचे की ओर स्क्रोल करके, ट्रांज़िशन सेक्शन पर जाएं. यहां इस इंटेंट के मैच होने पर, Dialogflow को पेज पर ट्रांज़िशन करने के लिए कहा जाता है.
- रूट की परिभाषा बंद करें और ज़्यादा जानकारी इकट्ठा करें पेज को बड़ा करें. एंट्री फ़ुलफ़िलमेंट और पैरामीटर की सूची पर ध्यान दें.
Dialogflow CX के हर पेज के लिए एक फ़ॉर्म तय किया जा सकता है. यह उन पैरामीटर की सूची है जिसे पेज के असली उपयोगकर्ता से इकट्ठा किया जाना चाहिए. ध्यान दें कि एजेंट ने यात्रा की जगह के बारे में नहीं पूछा, क्योंकि हमने इसे शुरुआती इनपुट में पास किया था और डेस्टिनेशन भी एक इंटेंट पैरामीटर है. जब कोई पेज शुरुआत में चालू होता है और उसके चालू रहने के दौरान, इंटेंट पैरामीटर जैसे नाम का कोई भी फ़ॉर्म पैरामीटर, सेशन पैरामीटर की वैल्यू पर अपने-आप सेट हो जाता है और उससे जुड़ा प्रॉम्प्ट स्किप कर दिया जाता है.
- मैनेज करें टैब पर जाएं और इंटेंट सेक्शन में head.send ग्रुप अनुरोध पर क्लिक करें. इस इंटेंट के लिए दिए गए ट्रेनिंग वाक्यांश और ट्रेनिंग वाक्यांशों के बारे में जानकारी देने वाले हिस्सों को देखें.
- ट्रेनिंग वाले वाक्यांश "मुझे 15 गोताखोरों के लिए कोस्टा रिका की एक ट्रिप आयोजित करनी है" के बारे में सोचें. "कोस्टा रिका" के साथ डेस्टिनेशन और "15" जोड़ा गया है मेहमानों की संख्या के साथ. जब ट्रेनिंग वाले वाक्यांश के हिस्सों के बारे में जानकारी दी जाती है, तो Dialogflow यह पहचान करता है कि ये हिस्से, असल वैल्यू के सिर्फ़ उदाहरण हैं. ये वैल्यू, असली उपयोगकर्ता रनटाइम के दौरान देंगे. यही वजह है कि "क्या आप गैलापागोस द्वीप समूह के लिए चार्टर उपलब्ध कराते हैं?" डायलॉग फ़्लो ने "गैलापागोस द्वीप समूह" से डेस्टिनेशन पैरामीटर निकाला है.
इसके बाद, हम यह देखेंगे कि एजेंट को फ़ॉर्म पैरामीटर भरने के लिए कहने पर, मान्य इनपुट न देने पर क्या होता है.
अमान्य इनपुट
- एजेंट के साथ नई बातचीत शुरू करने के लिए, सिम्युलेटर पैनल में रीसेट करें आइकॉन पर क्लिक करें.
- इस बार ग्रुप बुकिंग करने का इरादा ज़ाहिर करें. इस बार एजेंट को यह न बताएं कि आपको किस जगह जाना है. साथ ही, जब आपसे किसी रैंडम वैल्यू के साथ डेस्टिनेशन का जवाब मांगा जाए, जो कोस्टा रिका, गैलापागोस या मेक्सिको नहीं है.
- मैनेज करें टैब पर जाकर, संसाधन सेक्शन में जाकर इकाई के टाइप पर क्लिक करें. दो टैब पर ध्यान दें: सिस्टम टैब में जाकर, सिस्टम की उन इकाइयों को देखा जा सकता है जिनका इस्तेमाल फ़िलहाल आपका एजेंट कर रहा है. कस्टम टैब में उन कस्टम इकाइयों की सूची दिखती है जो इस एजेंट के लिए खास तौर पर बनाए गए डेटा का मिलान करने के लिए बनाई गई हैं.
- डेस्टिनेशन इकाई पर क्लिक करके जानें कि इकाई किन वैल्यू से मेल खाती है. "यूरोप" एंट्री में से एक नहीं है और यह कोई समानार्थी शब्द भी नहीं है.
- फ़्लो डायग्राम में, ज़्यादा जानकारी इकट्ठा करें पेज को बड़ा करें. इस पेज में फ़ॉर्म पैरामीटर शामिल होते हैं. डेस्टिनेशन पैरामीटर पर क्लिक करें.
- पैरामीटर पैनल पर, नीचे की ओर स्क्रोल करके दोहराए गए इवेंट हैंडलर सेक्शन पर जाएं. इसके बाद, मेल न खाने वाले डिफ़ॉल्ट इवेंट हैंडलर पर क्लिक करें.
पैरामीटर-लेवल के इस इवेंट हैंडलर को खास तौर पर, फ़ॉर्म भरने के दौरान असली उपयोगकर्ता के अमान्य इनपुट को मैनेज करने के लिए बनाया गया है. क्योंकि "यूरोप" अचानक दिखने वाला इनपुट है, sys.no-match-default इवेंट शुरू किया गया है, और इस इवेंट के लिए तय किए गए प्रतिनिधि हैंडलर को कॉल किया गया है. एजेंट के मुताबिक सेक्शन में, मैसेज के दोबारा मैसेज बताने के दो वैकल्पिक मैसेज दिए गए हैं.
बहुत बढ़िया! ये टेस्ट केस, ऐसे आम मामलों को दिखाते हैं जिन्हें एजेंट से सही तरीके से हैंडल करने की उम्मीद की जाती है. अक्सर उपयोगकर्ता ऐसे सवाल पूछते हैं जिनका जवाब बॉट नहीं दे सकता या वे ऐसे अनुरोध करते हैं जिन्हें बॉट पूरा नहीं कर पाता. लॉन्ग टेल के लिए डिज़ाइन बनाना बहुत मुश्किल है. इसका मतलब है कि अच्छी तरह से पहने जाने वाले पाथ को डिज़ाइन करने का काम, ज़्यादातर उपयोगकर्ता करेंगे. उन सभी चीज़ों के बारे में सोचें जो किसी बातचीत के दौरान गलत हो सकती हैं. साथ ही, उन सभी पाथ के बारे में भी सोचें जिनका इस्तेमाल उपयोगकर्ता उम्मीद से हटकर या काम न करने वाले पाथ से कर सकते हैं.
अपने-आप बोली की पहचान (एएसआर) में सुधार का मतलब है कि हमें तकरीबन हमेशा पता होता है कि उपयोगकर्ताओं ने क्या कहा. हालांकि, उपयोगकर्ताओं का मतलब तय करना अब भी एक चुनौती है. वाक्यों को अक्सर अलग-अलग नहीं समझा जा सकता; और उन्हें सिर्फ़ संदर्भ के हिसाब से ही समझा जा सकता है. कोडलैब के इस अगले सेक्शन में हम जानेंगे कि Google के सबसे नए जनरेटिव लार्ज लैंग्वेज मॉडल (एलएलएम), बातचीत को ट्रैक करने और बातचीत को आगे बढ़ाने में कैसे मदद कर सकते हैं.
5. जनरेटिव फ़ॉलबैक चालू करें
जनरेटिव फ़ॉलबैक की सुविधा क्या है?
जनरेटिव फ़ॉलबैक की सुविधा, एक Dialogflow CX सुविधा है. यह वर्चुअल एजेंट के जवाब जनरेट करने के लिए, Google के लार्ज लैंग्वेज मॉडल (एलएलएम) का इस्तेमाल करती है.
यह कैसे मदद करता है?
इन मुख्य इस्तेमाल के मामलों में, लोगों के कुछ सामान्य अनुरोध होते हैं. जैसे, एजेंट की बात को दोहराना. जैसे, अगर उपयोगकर्ता को कुछ समझ नहीं आता है, तो उसके पूछने पर लाइन को रोककर बातचीत के बारे में खास जानकारी देना. हमने अपने पहले टेस्ट में, एजेंट इस सवाल का जवाब नहीं दे सका कि "लाइवबोर्ड क्या है?" क्योंकि हमने इसके लिए कोई इंटेंट नहीं बनाया है और स्कूबा डाइविंग और लाइवबोर्ड से जुड़े इस तरह के सामान्य सवालों के जवाब देने के लिए फ़्लो डिज़ाइन किया है.
मज़बूत इंटेंट होने के बावजूद, अब भी गड़बड़ी की गुंजाइश है. उपयोगकर्ता बिना आवाज़ के (कोई इनपुट गड़बड़ी नहीं) या कुछ अनचाहा (कोई मिलान नहीं गड़बड़ी) बोलकर स्क्रिप्ट बंद कर सकते हैं. हालांकि, गड़बड़ियों को होने से रोकना बेहतर है, उन्हें उन्हें हैंडल करने से अच्छा लगता है, लेकिन गड़बड़ियों को पूरी तरह से टाला नहीं जा सकता. "माफ़ करें, मुझे नहीं पता कि मदद कैसे करनी है" जैसे सामान्य प्रॉम्प्ट या ऐसे मिनिमम तरीके से काम करने वाले समाधान अक्सर काफ़ी नहीं होते. गड़बड़ी के मैसेज, कोऑपरेटिव प्रिंसिपल से प्रेरित होने चाहिए. इसके मुताबिक, बेहतर तरीके से बातचीत करने के लिए इस बात का ध्यान रखा जाता है कि बातचीत करने वाले लोगों के बीच कम ही सहयोग हो रहा है.
अगले सेक्शन में हम देखेंगे कि ग्राहक के अनुभव को बेहतर बनाने के लिए, जनरेटिव फ़ॉलबैक की सुविधा को कैसे कॉन्फ़िगर किया जा सकता है, ताकि इंटेंट कवरेज बढ़ाया जा सके और गड़बड़ियों को आसानी से मैनेज किया जा सके.
पूरे फ़्लो के नो मैच वाले इवेंट के लिए जनरेटिव फ़ॉलबैक चालू करें
फ़्लो, पेज या पैरामीटर भरने के दौरान इस्तेमाल किए गए, मेल न खाने वाले इवेंट हैंडलर पर जनरेटिव फ़ॉलबैक चालू किया जा सकता है. अगर मैच नहीं करने वाले इवेंट के लिए जनरेटिव फ़ॉलबैक चालू किया जाता है, तो जब भी वह इवेंट ट्रिगर होगा, तब Dialogflow जनरेट किया गया ऐसा जवाब देने की कोशिश करेगा जिसके बारे में उपयोगकर्ता को बताया जाएगा. अगर जवाब जनरेट नहीं हो पाता है, तो एजेंट का सामान्य जवाब जारी किया जाएगा.
मेल न खाने वाले इवेंट हैंडलर पर अपने एजेंट में जनरेटिव फ़ॉलबैक चालू किया जा सकता है. इसका इस्तेमाल फ़्लो, पेज या पैरामीटर के पूरा होने के लिए किया जा सकता है.
हम ऐसे सभी लाइवबोर्ड फ़्लो के लिए जनरेटिव फ़ॉलबैक चालू करना शुरू कर देंगे जो डिफ़ॉल्ट तौर पर मेल न खाने वाले डिफ़ॉल्ट इवेंट के लिए सेट किए गए हों.
- फ़्लो का शुरुआती पेज बड़ा करें.
- इवेंट हैंडलर में sys.no-match-default पर क्लिक करें.
- एजेंट के जवाब में जाकर, जनरेटिव फ़ॉलबैक चालू करें को चुनें. इसके बाद, सेव करें पर क्लिक करें
मेल न खाने वाले खास इवेंट के लिए जनरेटिव फ़ॉलबैक चालू करें
अब हम जनरेटिव फ़ॉलबैक चालू करना चाहते हैं, ताकि एजेंट के यात्रियों की संख्या के बारे में पूछने पर, अमान्य इनपुट को हैंडल किया जा सके:
- ज़्यादा जानकारी इकट्ठा करें पेज खोलें. इसमें फ़ॉर्म पैरामीटर मौजूद होते हैं. मेहमानों की संख्या पैरामीटर पर क्लिक करें.
- टारगेट कोई मैच नहीं करने वाले इवेंट हैंडलर पर जाएं (नीचे की ओर रिप्रॉम्प्ट इवेंट हैंडलर सेक्शन तक स्क्रोल करें, फिर मैच नहीं करने वाले डिफ़ॉल्ट इवेंट हैंडलर पर क्लिक करें
- एजेंट के जवाब में जाकर, जनरेटिव फ़ॉलबैक चालू करें को चुनें
- आखिर में, सेव करें पर क्लिक करें
- अब डेस्टिनेशन और ईमेल पते के लिए जनरेटिव फ़ॉलबैक चालू करने के लिए, यह तरीका दोहराएं
बहुत बढ़िया! आपने अनचाहे इंटेंट और अमान्य पैरामीटर वैल्यू को मैनेज करने के लिए, जनरेटिव फ़ॉलबैक चालू किया है. इसके बाद, हम जनरेटिव फ़ॉलबैक की सुविधा को कॉन्फ़िगर करने का तरीका देखेंगे. इसके लिए, हम एक टेक्स्ट प्रॉम्प्ट दिखाएंगे, जो एलएलएम को जवाब देने के निर्देश देगा.
6. जनरेटिव फ़ॉलबैक कॉन्फ़िगर करें
जनरेटिव फ़ॉलबैक की सुविधा, जनरेट किया गया जवाब जनरेट करने के लिए, बड़े लैंग्वेज मॉडल को अनुरोध भेजती है. अनुरोध, टेक्स्ट प्रॉम्प्ट के तौर पर होता है. इसमें आम भाषा के साथ-साथ, एजेंट और बातचीत की मौजूदा स्थिति के बारे में जानकारी होती है. सुविधा को कई तरीकों से कॉन्फ़िगर किया जा सकता है:
- जवाब जनरेट करने के लिए, कोई खास (पहले से तय किया गया) प्रॉम्प्ट चुनें.
- पसंद के मुताबिक प्रॉम्प्ट तय करें.
पहले से तय किया गया प्रॉम्प्ट चुनना
- Dialogflow CX कंसोल में, Agent Settings पर क्लिक करें
- ML टैब पर जाएं. इसके बाद, ML सब-टैब पर जाएं.
यह सुविधा दो टेंप्लेट प्रॉम्प्ट के साथ बॉक्स से बाहर आती है, डिफ़ॉल्ट टेंप्लेट (जो दिखता नहीं है) और उदाहरण टेंप्लेट, जो आपको अपने प्रॉम्प्ट लिखने में मदद करता है.
- उदाहरण टेंप्लेट चुनें और उसकी जांच करने के लिए, ड्रॉपडाउन के दाईं ओर मौजूद बदलाव करें बटन पर क्लिक करें.
पहले से तय प्रॉम्प्ट की मदद से, वर्चुअल एजेंट बातचीत की सामान्य स्थितियों को हैंडल कर सकता है. उदाहरण के लिए:
- उपयोगकर्ता का स्वागत करें और उसे अलविदा कहें.
- अगर उपयोगकर्ता नहीं समझ पाया, तो एजेंट ने जो कहा उसे दोहराएं.
- उपयोगकर्ता के पूछने पर लाइन को रोककर रखें.
- बातचीत की खास जानकारी दें.
चलिए, Divebooker एजेंट के लिए कोई खास टेक्स्ट प्रॉम्प्ट देते हैं!
7. अपना प्रॉम्प्ट तय करें
- नीचे दिए गए प्रॉम्प्ट को कॉपी करें और उसे टेक्स्ट प्रॉम्प्ट वाली जगह में चिपकाएं
You are a friendly agent that likes helping traveling divers. You are under development and you can only help $flow-description At the moment you can't help customers with land-based diving and courses. You cannot recommend local dive shops and diving resorts. Currently you can $route-descriptions The conversation between the human and you so far was: ${conversation USER:"Human:" AGENT:"AI"} Then the human asked: $last-user-utterance You say:
- नए प्रॉम्प्ट को नए टेंप्लेट के तौर पर सेव करने के लिए, नए टेंप्लेट के तौर पर सेव करें चुनें (टेंप्लेट का नया नाम चुनें) और पैनल के दाएं कोने में सेव करें चुनें.
- नए प्रॉम्प्ट को असल में ऐक्टिव प्रॉम्प्ट बनाने के लिए, आपको सेटिंग को सेव भी करना होगा.
टेक्स्ट प्रॉम्प्ट लिखते समय, साफ़ और सटीक जानकारी दें. साथ ही, कम शब्दों में ज़्यादा जानकारी दें. एलएलएम के लिए प्रॉम्प्ट को तैयार करने के तरीके का, एलएलएम के जवाब की क्वालिटी पर काफ़ी असर पड़ सकता है. एलएलएम को निर्देशों का पालन करने की ट्रेनिंग दी जाती है. इसलिए, आपका प्रॉम्प्ट जितने ज़्यादा सटीक निर्देश देगा, आपको उतने ही बेहतर नतीजे मिलेंगे. आपको मिलने वाले नतीजों के आधार पर एक प्रॉम्प्ट तैयार करें और उसे बेहतर बनाने के लिए कोशिश करें.
असरदार प्रॉम्प्ट बनाने के लिए, यहां दिए गए सबसे सही तरीके अपनाएं:
- साफ़ तौर पर और कम शब्दों में उस टास्क की जानकारी दें जो आपको एलएलएम से करना है. न ज़्यादा, न कम. इसे पूरा और छोटा रखें.
- इसके अलावा, प्रॉम्प्ट सटीक और अच्छी तरह से तय होना चाहिए. साथ ही, साफ़ तौर पर जानकारी देने वाली या साफ़ तौर पर जानकारी देने वाली भाषा का इस्तेमाल नहीं करना चाहिए.
- मुश्किल कामों को छोटे-छोटे हिस्सों में बांटकर, आसानी से मैनेज करें. टास्क को छोटे-छोटे चरणों में बांटकर, मॉडल को एक बार में किसी एक चीज़ पर फ़ोकस करने में मदद की जा सकती है. साथ ही, गड़बड़ियों या भ्रम की संभावना को कम किया जा सकता है.
- जवाब की क्वालिटी को बेहतर बनाने के लिए, अपने प्रॉम्प्ट में उदाहरण जोड़ें. एलएलएम, जवाब देने के उदाहरणों से, कॉन्टेक्स्ट के हिसाब से जानकारी लेता है.
किस तरह का संदर्भ जनरेट किया जाना चाहिए, इसकी सामान्य भाषा में जानकारी देने के अलावा, प्रॉम्प्ट बनाते समय इन प्लेसहोल्डर का भी इस्तेमाल किया जा सकता है:
$conversation
एजेंट और उपयोगकर्ता के बीच की बातचीत. हालांकि, इसमें आखिरी उपयोगकर्ता की बातचीत शामिल नहीं होती है. मोड़ के प्रीफ़िक्स इस्तेमाल किए जा सकते हैं (उदाहरण के लिए: "ह्यूमन", "एआई" या "आप", "एजेंट") लिखें.$last-user-utterance
आखिरी उपयोगकर्ता की बातचीत.$flow-description
ऐक्टिव फ़्लो की जानकारी.$route-descriptions
ऐक्टिव इंटेंट के इंटेंट का ब्यौरा.
अब हमारे पास शुरुआती टेक्स्ट प्रॉम्प्ट है. हमारा अगला काम यह पक्का करना है कि फ़्लो और इंटेंट के ब्यौरे सही हों.
8. फ़्लो और इंटेंट की जानकारी जोड़ें
फ़्लो का ब्यौरा जोड़ें
- लाइवबोर्ड फ़्लो में कोई जानकारी जोड़ने के लिए, फ़्लो सेक्शन में फ़्लो पर कर्सर घुमाकर फ़्लो की सेटिंग को ऐक्सेस करें.
- विकल्प
बटन पर क्लिक करें.
- फ़्लो सेटिंग चुनें और यह जानकारी (या इससे मिलती-जुलती जानकारी) जोड़ें:
search, find and book liveaboards
.
- सेव करें पर क्लिक करें
इंटेंट की जानकारी जोड़ें
- आइए, अब head.send.group.request इंटेंट में एक अच्छा ब्यौरा जोड़ते हैं. मैनेज करें टैब पर स्विच करें और संसाधन सेक्शन में, इंटेंट चुनें. इसके बाद, head.send.group.request इंटेंट चुनें.
- यह जानकारी जोड़ें:
assist users with group or full charter reservations. Initially collect travel details including departure period, destination, number of guests (min 4 max 15 people), contact details. The destination must be one of the following in the Pacific: Costa Rica, Mexico, Galapagos Islands
ध्यान दें कि ब्यौरे में ज़रूरी जानकारी होती है. जैसे, नाव में कम से कम कितने लोग बैठ सकते हैं और उनमें ज़्यादा से ज़्यादा कितने लोग ठहर सकते हैं. इस बात का ध्यान रखें!
- सेव करें पर क्लिक करें
और काम हो गया! आपने फ़्लो और पैरामीटर फ़ुलफ़िलमेंट, दोनों के लिए, मेल न खाने वाले इवेंट हैंडलर पर जनरेटिव फ़ॉलबैक चालू किया है. आपने अपना टेक्स्ट प्रॉम्प्ट भी तय किया है कि जनरेटिव फ़ॉलबैक की सुविधा, एक बड़े लैंग्वेज मॉडल पर पास होती है, ताकि जनरेटिव रिस्पॉन्स तैयार किया जा सके.
अगले सेक्शन में, आपको फिर से अपने एजेंट को टेस्ट करने का मौका मिलेगा. इससे आपको पता चलेगा कि वह एजेंट, पहले वाले मुश्किल सवालों का कैसे जवाब दे सकता है.
9. अपने एजेंट की फिर से जांच करें
अब आपने वर्चुअल एजेंट पर जनरेटिव फ़ॉलबैक को कॉन्फ़िगर और चालू कर लिया है. इसलिए, अब इसी तरह के मुश्किल सवाल पूछे जा सकते हैं और देखा जा सकता है कि यह रिस्पॉन्स को कैसे हैंडल करता है.
सिम्युलेटर को फिर से खोलने के लिए, टेस्ट एजेंट पर क्लिक करें.
एजेंट से लाइवबोर्ड और लाइवस्ट्रीम डाइविंग के बारे में फिर से पूछें. अब से यह नोट किया जाएगा कि कैसे हर डायलॉग में उपयोगकर्ता तय किए गए मैसेज और जनरेट किए गए जवाबों को लाल बॉक्स में हाइलाइट किया जाता है.
क्या आपको सामान्य दोहराव के बजाय जानकारी देने वाला अच्छा जवाब मिला? बढ़िया! आपने एजेंट से जिन टास्क को पूरा करवाना है उनके बारे में साफ़ और सटीक जानकारी देने के बाद (टेक्स्ट प्रॉम्प्ट और फ़्लो के ब्यौरे में), आपका बॉट अब ज़्यादा स्मार्ट हो गया है. इससे कोई खास मकसद तय किए बिना, ज़्यादा जानकारी वाले सवालों के जवाब देने की बात हो रही है. आपका ग्राहक इस बात की सराहना करेगा कि कोई कार्रवाई न करने वाले जवाब के बजाय, एजेंट उन्हें ज़्यादा सोच-समझकर जवाब दे सकता है.
संकोच न करें और एजेंट से बात करें, क्योंकि आप अभी तक एक प्रमाणित गोताखोर नहीं हैं, इसलिए उससे पूछें कि क्या वह स्कूबा डाइविंग कोर्स ढूंढने में आपकी मदद कर सकता है.
जी हां. फ़िलहाल, हमने यह एजेंट इस तरह से डिज़ाइन नहीं किया है कि वह स्कूबा के कोर्स में मदद कर सके. एजेंट को यह कैसे पता चलता है? मैसेज में हमने साफ़ तौर पर बताया है कि एजेंट किस काम में आपकी मदद कर सकता है और किस तरह का नहीं. "फ़िलहाल, ज़मीन पर डाइविंग और कोर्स करने के लिए ग्राहकों की मदद नहीं की जा सकती. स्थानीय डाइव शॉप और डाइविंग रिज़ॉर्ट के सुझाव नहीं दिए जा सकते"
अब इस खुशनुमा माहौल को फिर से आज़माएं और इसे बेहतर बनाएं. चलिए देखते हैं, यह अनुभव कैसे बदल गया.
जब Dialogflow किसी इंटेंट को मैच करता है या फ़्लो डिज़ाइन के मुताबिक पैरामीटर इकट्ठा करने की कोशिश करता है, तो वह डिज़ाइन के समय तय किए गए सभी मकसद दिखाएगा. जब उपयोगकर्ता, यात्रा की खास जानकारी के लिए अनुरोध करके या अपना फ़ोन नंबर देने का अनुरोध करता है, तब जनरेटिव फ़ॉलबैक की सुविधा काम करती है.
बढ़िया! आपने एक बार फिर से खुशी का अनुभव लिया है और हम उम्मीद करते हैं कि आपकी और एजेंट के साथ अच्छी और सामान्य बातचीत हुई होगी. साथ ही, एजेंट के साथ आपकी बातचीत अच्छी रही होगी.
माफ़ करें, बातचीत के दौरान चीज़ें गलत हो सकती हैं. चलिए, एक अलग जाँच करते हैं. इस बार जब आपसे मेहमानों की संख्या जानने के लिए कहा जाएगा कि कोई 15 से बड़ी कोई संख्या है, तो ऐसा करें.
यहां कुछ बातों की जानकारी दी गई है:
- 20 एक मान्य संख्या क्यों नहीं है? हमने इंटेंट के ब्यौरे में मेहमानों की संख्या की सीमा तय की है: "एजेंट जानकारी इकट्ठा करता है, जैसे जाने का समय, मंज़िल, मेहमानों की संख्या***(कम से कम 4 लोग 15 लोग)*** *, संपर्क की जानकारी*" को अपनाएं. एलएलएम से जनरेट हुआ जनरेटिव जवाब "माफ़ करें, हम ज़्यादा से ज़्यादा 15 मेहमानों के ग्रुप बुकिंग करने में ही मदद कर सकते हैं" मेहमानों की संख्या पर लगाई गई पाबंदियों के हिसाब से है. इसे बेहतर तरीके से लागू करने के लिए, मेहमानों की संख्या एक कस्टम RegExp इकाई है जो सिर्फ़ 4 से 15 की रेंज में शामिल नंबर से मेल खाती है.
- बातचीत इसलिए आगे बढ़ती है, क्योंकि उपयोगकर्ता अब भी 15 गोताखोरों के लिए ऑफ़र पाने में दिलचस्पी रखता है. सामान्य बातचीत के दौरान ऐसा अक्सर होता है. इसलिए, हम बार-बार अपना इरादा बदल देते हैं! ध्यान दें कि एजेंट किस तरह साथ मिलकर काम करता है और वह लोगों को धीरे-धीरे कामयाब पाथ पर ले जाता है.
बातचीत की सुविधा में, डायलॉग के आधे हिस्से को स्क्रिप्ट किया जाता है. इसमें यह उम्मीद की जाती है कि डायलॉग इतना मज़बूत होगा कि कोई भी व्यक्ति सामने आकर कार्रवाई कर सके. लॉन्ग टेल डिज़ाइन करते समय, डेवलपर को इस बात पर ध्यान देना होगा कि उपयोगकर्ता आपके डायलॉग के हर चरण में क्या बोल सकते हैं. इससे रूट, हैंडलर, और पैरामीटर तय किए जा सकेंगे. इसलिए, हमने Dialogflow CX में जनरेटिव फ़ॉलबैक की सुविधा जोड़ी है. इससे डेवलपर, बातचीत के डिज़ाइन से जुड़े सिद्धांतों पर ज़्यादा ध्यान दे पाएंगे. साथ ही, वे उपयोगकर्ताओं को बातचीत का बेहतर अनुभव देने के लिए, उन्हें लागू करने से जुड़ी जानकारी पर कम ध्यान दे पाएंगे.
एक बार फिर से कोशिश करते हैं. इस बार बॉट को फिर से चुनौती दे रहे हैं, ताकि पता चल सके कि यह जगह मालदीव जैसी उपलब्ध जगहों की सूची में शामिल नहीं है. इसके बाद, हम यह जानेंगे कि पर्दे के पीछे क्या होता है.
ध्यान दें कि हमने डेस्टिनेशन पैरामीटर के लिए no-match
इवेंट पर जनरेटिव फ़ॉलबैक भी चालू किया है. इसलिए, जनरेट किया गया रिस्पॉन्स जनरेट करने के लिए, बड़े लैंग्वेज मॉडल को अनुरोध भेजा जाता है. पहले से दिए गए सामान्य जवाबों (एजेंट का कहना है) को अनदेखा कर दिया जाता है.
नीचे दिए गए टेक्स्ट बॉक्स से, आपको यह बेहतर तरीके से समझने में मदद मिलेगी कि प्लेसहोल्डर बड़े लैंग्वेज मॉडल को भेजे गए अनुरोध को आकार देने में कैसे मदद करते हैं.
यह कस्टम टेक्स्ट प्रॉम्प्ट है, जिसे हमने Dialogflow में बोल्ड में हाइलाइट किए गए प्लेसहोल्डर के साथ कॉन्फ़िगर किया है:
You are a friendly agent that likes helping traveling divers. You are under development and you can only help $flow-description At the moment you can't help customers with land-based diving and courses. You cannot recommend local dive shops and diving resorts. Currently you can $route-descriptions The conversation between the human and you so far was: ${conversation USER:"Human:" AGENT:"AI"} Then the human asked: $last-user-utterance You say:
नीचे दिए गए टेक्स्ट बॉक्स में, मैंने बड़े लैंग्वेज मॉडल से मिले इनपुट को शामिल किया है. साथ ही, हमने ऐसा आउटपुट भी शामिल किया है जिसमें जनरेट किया गया जवाब मौजूद है. इसके बारे में, उपयोगकर्ता को बताया जाएगा:
llm_input: You are a friendly agent that likes helping traveling divers. You are under development and you can only help search, find and book liveaboards. At the moment you can't help customers with land-based diving and courses. You cannot recommend local dive shops and diving resorts. Currently you can assist users who are looking for a group reservation or a full charter. Initially collect travel details including departure period, destination, number of guests (min 4 max 15 people), contact details. The destination must be one of the following in the Pacific: Costa Rica, Mexico, Galapagos Islands. The conversation between the human and you so far was: Human: Hi, my name's Alessia AI Hi Alessia, what can I help you with today? Human: Can you help me find a nice boat for myself and my family? AI To assist you with that I need to collect the details of your travel and then we'll get back to you with an offer shortly. Where would you like to go? We can organize a charter in Costa Rica, Galapagos Islands and several locations around Mexico Then the human asked: The kids want to go to the Maldives llm_output: You say: I'm sorry Alessia, we can only help you with liveaboards in Costa Rica, Galapagos Islands and several locations around Mexico.
पहले किए गए परीक्षण की तरह ही, उपयोगकर्ता को वापस भेजा गया जवाब मॉडल से जनरेट किया जाता है और वह इंटेंट विवरण के हिस्से के रूप में हमारी दी गई जानकारी पर निर्भर करता है: "डेस्टिनेशन (गंतव्य) पैसिफ़िक में इनमें से कोई एक होना चाहिए: कोस्टा रिका, मेक्सिको, गैलापागोस द्वीप समूह"
प्रतिबंधित वाक्यांशों की सूची बदलें
जनरेटिव फ़ॉलबैक की सुविधा को कई तरीकों से कॉन्फ़िगर किया जा सकता है:
- जवाब जनरेट करने के लिए, कोई खास (पहले से तय किया गया) प्रॉम्प्ट चुनें.
- पसंद के मुताबिक प्रॉम्प्ट तय करें.
- प्रतिबंधित वाक्यांशों की सूची बदलें.
अब तक हमने शुरुआती दो तरीकों पर गौर कर लिया है. आइए, तीसरे विकल्प के बारे में जानते हैं.
- एजेंट सेटिंग में, एमएल टैब पर जाएं. इसके बाद, जनरेटिव एआई सब-टैब पर जाएं.
- प्रतिबंधित वाक्यांश सेक्शन में, सूची में ये वाक्य जोड़ें:
Dangerous country
Hateful place
Medical assistance
- सेव करें पर क्लिक करें.
- रीसेट करें आइकॉन पर क्लिक करें और पिछली स्थिति की फिर से जांच करें. दुनिया भर में कोई सुंदर गोता लगाने की जगह उपलब्ध कराने के बजाय, प्रतिबंधित वाक्यांशों में से किसी एक को डालें.
प्रतिबंधित वाक्यांशों की सूची में, प्रॉम्प्ट और जनरेट किए गए जवाब की जांच की जाती है. प्रतिबंधित वाक्यांश ऐसे वाक्यांश हैं जिन पर जनरेटिव एआई के इस्तेमाल पर पाबंदी है. अगर इनपुट में प्रतिबंधित वाक्यांश या असुरक्षित माने जाने वाले वाक्यांश शामिल हैं, तो जनरेट करने की प्रोसेस पूरी नहीं हो पाएगी. इसके बजाय, जनरेट किया गया सामान्य जवाब (एजेंट का कहना है कि उसी कार्रवाई में कहा गया है) जारी किया जाएगा.
बहुत बढ़िया! हमने ऐसी कई स्थितियों के बारे में बात की है जिनमें जनरेटिव एआई से मदद मिल सकती है. बेझिझक टेस्ट करते रहें!
10. बधाई हो
कोडलैब पूरा करने पर बधाई! आराम करने का समय!
आपने वर्चुअल एजेंट बना लिया है. साथ ही, आपने फ़्लो में और पैरामीटर भरने के दौरान इस्तेमाल किए गए no-match
इवेंट हैंडलर पर जनरेटिव फ़ॉलबैक चालू कर दिया है.
अच्छे फ़्लो और इंटेंट के ब्यौरे के साथ जनरेटिव फ़ॉलबैक की सुविधा से, एजेंट से खास और को-ऑपरेटिव जवाब मिल सकते हैं. यह सुविधा, "माफ़ करें, मुझे नहीं पता कि आपकी मदद कैसे करनी है" जैसे सामान्य प्रॉम्प्ट के बजाय, इससे एजेंट से खास जवाब मिल सकते हैं या "माफ़ करें, आपने गलत विकल्प डाला है". बड़े लैंग्वेज मॉडल से जनरेट हुए गड़बड़ी के प्रॉम्प्ट, उपयोगकर्ताओं को कामयाब पाथ पर वापस ला सकते हैं. इसके अलावा, ये प्रॉम्प्ट यह भी तय कर सकते हैं कि क्या हो सकता है और क्या नहीं.
बातचीत से जुड़ी अन्य स्थितियों की जांच करें. साथ ही, Dialogflow CX और जनरेटिव एआई से जुड़ी अन्य सुविधाओं को एक्सप्लोर करें.
स्टोरेज खाली करें
कोडलैब में इस्तेमाल किए जाने वाले संसाधनों के लिए, Google Cloud खाते में लगने वाले शुल्क से बचने के लिए, क्लीनअप का इस्तेमाल करें:
- Dialogflow CX कंसोल पर जाएं और अपने बनाए गए सभी एजेंट मिटाएं.
- Google Cloud Console में, एपीआई और सेवाएं पेज पर जाएं. इसके बाद, Dialogflow API को बंद करें.
आगे पढ़ें
इन गाइड और संसाधनों की मदद से, बातचीत वाले एआई और जनरेटिव एआई के बारे में ज़्यादा जानें:
- Dialogflow CX के लिए दस्तावेज़
- जनरेटिव फ़ॉलबैक के दस्तावेज़
- Google Cloud में जनरेटिव एआई
- PLM के बारे में जानकारी
लाइसेंस
इस काम को क्रिएटिव कॉमंस एट्रिब्यूशन 2.0 जेनरिक लाइसेंस के तहत लाइसेंस मिला है.