1. खास जानकारी
Google Assistant डेवलपर प्लैटफ़ॉर्म की मदद से, आप Google Assistant की सुविधा को बढ़ाने के लिए सॉफ़्टवेयर बना सकते हैं. यह एक वर्चुअल असिस्टेंट है, जिसे 100 करोड़ से ज़्यादा डिवाइसों पर ऐक्सेस किया जा सकता है. इसमें स्मार्ट स्पीकर, फ़ोन, कार, टीवी, हेडफ़ोन वगैरह शामिल हैं. उपयोगकर्ता Assistant का इस्तेमाल करके बातचीत करते हैं, जैसे कि किराने का सामान खरीदना या राइड बुक करना. डेवलपर के तौर पर, आप Assistant डेवलपर प्लैटफ़ॉर्म का इस्तेमाल आसानी से कर सकते हैं. साथ ही, उपयोगकर्ताओं और तीसरे पक्ष की सेवा देने वाली कंपनी के बीच बेहतर और असरदार बातचीत करने का अनुभव आसानी से बना सकते हैं और उन्हें मैनेज कर सकते हैं.
इस कोडलैब में Google Assistant के साथ डेवलप होने वाले इंटरमीडिएट-लेवल के सिद्धांतों के बारे में बताया गया है. साथ ही, यह पहले लेवल के कोडलैब में बनाई गई कार्रवाई को बनाता है. हमारा सुझाव है कि आप इसे शुरू करने से पहले, लेवल 1 के कोडलैब (कोड बनाना सीखना) को पूरा करें.
इस कोडलैब में आपकी बनाई गई कार्रवाई, उपयोगकर्ताओं को उनके हिसाब से पौराणिक कथा, ग्रिफ़िनबर्ग में की खोज के बारे में बताती है.
आप क्या बनाएंगे #39;
इस कोडलैब में आप एक बेहतरीन 'बातचीत की कार्रवाई' बनाते हैं. इसके लिए, नीचे दिए गए फ़ंक्शन इस्तेमाल करते हैं:
- उपयोगकर्ता से डेटा इकट्ठा करता है और वैल्यू के आधार पर, बातचीत की सूचनाओं में बदलाव करता है
- बातचीत को आगे बढ़ाने के लिए, फ़ॉलो-अप सवालों के जवाब देता है
- गेम लूप बनाता है, ताकि उपयोगकर्ता किस्मत हासिल करने के बाद, फिर से ऐक्शन से इंटरैक्ट कर सके
डिवाइस बनाना शुरू करने से पहले, आप Google Assistant की सुविधा वाले डिवाइस पर, "Ok Google, फैट और फ़ॉर्चून से बात करो" बोलकर लाइव ऐक्शन से इंटरैक्ट कर सकते हैं. लौटने वाले उपयोगकर्ता के लिए, इस कार्रवाई के लिए डिफ़ॉल्ट पाथ नीचे दिया गया इंटरैक्शन है:
आप इन चीज़ों के बारे में जानेंगे
- उपयोगकर्ता से डेटा इकट्ठा करने के लिए, स्लॉट इस्तेमाल करने का तरीका
- किसी सीन में लॉजिक जोड़ने के लिए, conditions का इस्तेमाल कैसे करें
- गेम लूप जोड़ने का तरीका
- सहायक पाथ जोड़ने का तरीका
आपको इनकी ज़रूरत होगी
इस कोडलैब के लिए ज़रूरी शर्तों में ये शामिल हैं:
- वेब ब्राउज़र, जैसे कि Google Chrome
- पूरे हो चुके कोडलैब (पहला चरण) की कार्रवाइयों वाला प्रोजेक्ट (प्रोजेक्ट बिल्डर लेवल 1 का इस्तेमाल करके Google Assistant के लिए Actions बनाना)
इस कोडलैब के पूरा होने के कोड को समझने के लिए, JavaScript (ES6) के बारे में जानें. हालांकि, यह ज़रूरी नहीं है.
2. बातचीत वाला इंटरफ़ेस बनाना जारी रखें
पहले कोडलैब में, आपने Start
के एक आसान सीन के साथ, बातचीत की एक आसान कार्रवाई बनाई.
इस कोडलैब में आप अपनी कार्रवाई के लिए बातचीत की अवधि बढ़ा सकते हैं. नीचे दिए गए सेक्शन में, आप अपनी कार्रवाई को नीचे दिए गए काम करने के लिए कॉन्फ़िगर करते हैं:
- जब उपयोगकर्ता अपनी किस्मत जानना चाहता है, तब
Fortune
के नए सीन में ट्रांज़िशन करें - उपयोगकर्ता से पूछें कि वह अपनी यात्रा के लिए कौनसी सहायता चुनना चाहता है
- उपयोगकर्ता की पसंद के हिसाब से, खास जानकारी देने वाला कॉन्टेंट डिलीवर करना
Fortune
सीन बनाएं
इस सेक्शन में, आप Fortune
सीन बनाते हैं और यह तय करते हैं कि बातचीत के दौरान उपयोगकर्ता का ट्रांज़िशन कैसे होता है.
Fortune
नाम का नया सीन बनाने के लिए, यह तरीका अपनाएं:
- अपना कोडलैब लेवल 1 ऐक्शन प्रोजेक्ट खोलें.
- नेविगेशन बार में डेवलप करें पर क्लिक करें.
- सीज़न के नीचे, शुरू करें सीन पर क्लिक करें.
- विकल्प खोलने के लिए, हां इंटेंट (हां से मेल खाने पर बॉक्स) पर क्लिक करें.
- प्रॉम्प्ट को हटाने के लिए अनुरोध भेजें को हटाएं.
- ट्रांज़िशन सेक्शन में, ड्रॉप-डाउन मेन्यू पर क्लिक करके टेक्स्ट बॉक्स में क्लिक करें और
Fortune
टाइप करें. - जोड़ें पर क्लिक करें. इससे
Fortune
नाम का एक नया सीन बन जाएगा. ऐसा करने से,Start
सीन सेFortune
सीन में ट्रांज़िशन तब भी होगा, जब उपयोगकर्ता अपनी किस्मत सुनना चाहता है.
Fortune
सीन के लिए बातचीत के लॉजिक के बारे में बताएं
इस कोडलैब में, आप उपयोगकर्ता से पूछने के लिए अपना Fortune
सीन कॉन्फ़िगर करते हैं, &और आप अपने मिशन, ड्रैगन, अनुवादक या कंपासबोकोट में मदद करने के लिए क्या चुनते हैं; आगे बढ़ने से पहले, आप उपयोगकर्ता से ज़रूरी जानकारी इकट्ठा करने के लिए स्लॉट फ़िलिंग नाम की सुविधा का इस्तेमाल कर सकते हैं.
आपका Action तीन तरह की मदद करता है: ड्रैगन, अनुवादक, और कंपास. अपनी कार्रवाई को इस तरह कॉन्फ़िगर करने के लिए कि उपयोगकर्ता के ## इनपुट में इन तीन विकल्पों को पहचाना जा सके, आपको नया टाइप बनाना होगा.
आप उपयोगकर्ता से क्या जानकारी पाना चाहते हैं, यह बताने के लिए सीन के #39; स्लॉट स्लॉट के अंदर टाइप का इस्तेमाल कर सकते हैं. जब NLU इंजन को उपयोगकर्ता के इनपुट में किसी स्लॉट मैच का पता चलता है, तो वह स्लॉट को टाइप किए गए पैरामीटर के तौर पर निकालता है, ताकि आप किसी सीन में इसके साथ लॉजिक लगा सकें.
available_options
का टाइप बनाएं
इस सेक्शन में, आप available_options
नाम का एक नया टाइप बनाते हैं, जो उपयोगकर्ताओं के अनुरोध के जवाब में तीन विकल्प (ड्रैगन, अनुवादक, और कंपास) बताता है. अगर उपयोगकर्ता कुछ ऐसा कहता है, तो आप इन विकल्पों के लिए कुछ समानार्थी शब्द भी परिभाषित करते हैं. बाद के सेक्शन में, आप स्लॉट में available_options
टाइप को यह बताने के लिए जोड़ते हैं कि आप उपयोगकर्ता का विकल्प #39 पाना चाहते हैं.
available_options
टाइप बनाने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में, टाइप पर क्लिक करें.
- + (प्लस का निशान) पर क्लिक करें,
available_options
लिखें, औरEnter
दबाएं. - विकल्प खोलने के लिए
available_options
पर क्लिक करें.
टाइप को जानकारी के की-वैल्यू पेयर के तौर पर कॉन्फ़िगर किया जाता है, जहां कुंजी टाइप का नाम होता है और वैल्यू उस कुंजी के समानार्थी शब्द होते हैं. जब आप कुंजी तय करते हैं, तो उसे अपने-आप वैल्यू के तौर पर जोड़ दिया जाता है.
उपयोगकर्ता के पास जो तीन विकल्प हैं उन्हें जोड़ने के लिए, यह तरीका अपनाएं:
- स्क्रोल करके एंट्री जोड़ें सेक्शन पर जाएं.
- नई एंट्री फ़ील्ड में,
dragon
टाइप करें औरEnter
दबाएं. यह कार्रवाईdragon
कुंजी बनाती है. - मान जोड़ें फ़ील्ड में
hydra
लिखें औरEnter
को मान के रूप में जोड़ने के लिएEnter
दबाएं. इसके बाद,lizard
वैल्यू के लिए यह तरीका दोहराएं. - बाकी की कुंजियां और उनसे जुड़ी वैल्यू जोड़ें:
translator | translator
,communicator
,machine
,decoder
, औरtranslate
compass | compass
,direction
,guide
- सेव करें पर क्लिक करें.
आपकी कार्रवाई अब यह समझ लेती है कि available_options
ड्रैगन, अनुवादक और कंपास है. साथ ही, वह कुछ मिलते-जुलते समान शब्दों को भी पहचान सकता है.
स्लॉट भरने की सुविधा को कॉन्फ़िगर करें
इसके बाद, आपको Fortune
सीन में स्लॉट भरने की सुविधा को कॉन्फ़िगर करना होगा. स्लॉट भरने के लॉजिक को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में, सीज़न के नीचे, फ़ॉर्चून पर क्लिक करें.
Fortune
स्लॉट में, स्लॉट फ़िलिंग के लिए + (प्लस का निशान) पर क्लिक करें.- स्लॉट का नाम डालें फ़ील्ड में, स्लॉट के नाम के रूप में
chosenOptions
जोड़ें. - प्रकार चुनें ड्रॉप-डाउन सूची में, स्लॉट प्रकार के रूप में
available_options
चुनें. - यह स्लॉट ज़रूरी है चेकबॉक्स चुनें.
- 'Google के अनुरोध' भेजें चुनें और यहां दिए गए मैसेज और सुझाव वाले चिप जोड़ें:
candidates:
- first_simple:
variants:
- speech: >-
What do you choose to help you on your quest, a dragon, a
translator, or a compass?
suggestions:
- title: 'Dragon'
- title: 'Translator'
- title: 'Compass'
- सेव करें पर क्लिक करें.
अब आपनेavailable_options
# स्लॉट में available_options
का प्रकार जोड़ दिया है. इससे आपकी कार्रवाई में वह जानकारी शामिल होती है, जो आगे बढ़ने से पहले आपको उपयोगकर्ता से इकट्ठा की जाने वाली जानकारी (उनकी मदद की पसंद) चाहिए. आपने स्लॉट में भी एक प्रॉम्प्ट कॉन्फ़िगर किया है, जिसे उपयोगकर्ता के सीन के स्लॉट भरने के स्टेज पर पहुंचने पर प्रॉम्प्ट की सूची में जोड़ दिया जाता है.
ध्यान दें कि जब आपने स्लॉट का नाम chosenOptions
रखा है, तो पसंद के मुताबिक स्लॉट की वैल्यू फ़ील्ड के नाम को भी इसी नाम से अपडेट किया जाता है ($session.params.chosenOptions
). आप इस पैरामीटर को ऐक्सेस कर सकते हैं. इसके लिए, Actions Builder में और क्लाइंट लाइब्रेरी में जाकर उसे पूरा करें.
scene.slots.status == "FINAL"
शर्त कॉन्फ़िगर करें
जब आप कोई स्लॉट जोड़ते हैं, तो स्थिति scene.slots.status == "FINAL"
को शर्त के साथ अपने-आप जोड़ दिया जाता है.
शर्त scene.slots.status == "FINAL"
में स्लॉट भरने के लिए उसकी जांच की जाती है. सभी स्लॉट भरने के बाद, स्थिति वेबहुक को ट्रिगर कर सकती है, नए सीन पर ट्रांज़िशन कर सकती है या प्रॉम्प्ट सूची में अनुरोध जोड़ सकती है.
इस सेक्शन में, आप स्लॉट भर जाने के बाद प्रॉम्प्ट की सूची में अनुरोध जोड़ने के लिए, scene.slots.status == "FINAL"
को कॉन्फ़िगर करते हैं.
इस अनुरोध को FINAL
शर्त में जोड़ने के लिए, यह तरीका अपनाएं:
- विकल्प विंडो खोलने के लिए
scene.slots.status == "FINAL"
पर क्लिक करें. - ईमेल भेजें चुनें और यहां बताया गया तरीका जोड़ें:
candidates:
- first_simple:
variants:
- speech: You picked $session.params.chosenOptions.
- सेव करें पर क्लिक करें.
सिम्युलेटर में अपनी कार्रवाई जांचना
इस बिंदु पर, आपने तय किया है कि स्लॉट भरने के लिए उपयोगकर्ता को कौन से विकल्प चुनने चाहिए. उपयोगकर्ता से यह जानकारी लेने के बाद, आपकी कार्रवाई को उनके ज़रिए चुने गए खास विकल्प का रेफ़रंस देना चाहिए.
अपनी कार्रवाई की जांच करने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में, जांच करें पर क्लिक करें.
- Input फ़ील्ड में
Talk to my test app
क्लिक करें या लिखें औरEnter
दबाएं. - इनपुट फ़ील्ड में
Yes
टाइप करें औरEnter
दबाएं. इसके अलावा, आप हां के सुझाव वाले चिप पर भी क्लिक कर सकते हैं.
dragon
पर क्लिक करें, टाइप करें या बोलें. आपको &कोटेशन मिला. अनुरोध मिला है
अगले सेक्शन में, आप हर उस सहायता के लिए प्रॉम्प्ट को कस्टमाइज़ कर सकते हैं जिसे उपयोगकर्ता चुन सकता है.
शर्तों का इस्तेमाल करके, अनुरोधों को पसंद के मुताबिक बनाना
इस सेक्शन में, आप हर विकल्प के लिए शर्तें जोड़ते हैं जिसे उपयोगकर्ता चुन सकते हैं. साथ ही, हर शर्त के लिए अपने हिसाब से अनुरोध जोड़ सकते हैं.
dragon
के भाग्य को पसंद के मुताबिक बनाएं
शर्त को अपडेट करने और उपयोगकर्ता के चुनने पर संकेत को पसंद के मुताबिक बनाने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में डेवलप करें पर क्लिक करें.
- नेविगेशन बार में, किस्मत वाले सीन पर क्लिक करें.
- विकल्प विंडो खोलने के लिए
scene.slots.status == "FINAL"
पर क्लिक करें. - शर्त के स्टेटमेंट को इसमें अपडेट करें:
scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon"
- ईमेल भेजें चुनें.
- कोड एडिटर में, ऐसे संकेत के साथ प्रॉम्प्ट को अपडेट करें:
candidates:
- first_simple:
variants:
- speech: >-
The people of Gryffinberg will be awestruck by the beauty and power
of the ancient dragon. Much to your dismay, the townspeople fall
into dispute over who will receive the honor of riding the dragon
first. You return home from your quest without everlasting glory or
a dragon.
- सेव करें पर क्लिक करें.
अब, जब कोई उपयोगकर्ता "dragon&quat; या ऐसी ही कोई चीज़ बोलता है, तो आपकी कार्रवाई उस चुनाव के आधार पर एक भाग्य प्रदान करती है. इसके बाद, बाकी बचे दो विकल्पों को जोड़ें.
translator
के भाग्य को पसंद के मुताबिक बनाएं
शर्त जोड़ने और उपयोगकर्ता के चुनने के लिए संकेत को अपनी पसंद के मुताबिक बनाने के लिए, कोट करने वाले &कोटेशन का विकल्प चुनें. इसके लिए, यह तरीका अपनाएं:
- शर्त के बगल में मौजूद + (प्लस का निशान) पर क्लिक करें.
scene.slots.status == "FINAL" && session.params.chosenOptions == "translator"
को else if फ़ील्ड में जोड़ें.- मैसेज भेजें चुनें.
- अपने कोड एडिटर में यह सूचना जोड़ें:
candidates:
- first_simple:
variants:
- speech: >-
With the help of the translator, the rival factions in Gryffinberg
are finally able to communicate with each other and resolve their
disputes. You will complete your quest to restore peace in the town.
The translator will be used on many subsequent journeys across the
earth. After its work is done, it retires honorably to a premier
location in the Gryffinberg History Museum.
- सेव करें पर क्लिक करें.
compass
के भाग्य को पसंद के मुताबिक बनाएं
शर्त जोड़ने और उपयोगकर्ता के चुनने पर संकेत को पसंद के मुताबिक बनाने के लिए, कोटेशन का यह तरीका अपनाएं:
- शर्त के बगल में मौजूद + (प्लस का निशान) पर क्लिक करें.
scene.slots.status == "FINAL" && session.params.chosenOptions == "compass"
को और टेक्स्ट बॉक्स में जोड़ें.- मैसेज भेजें चुनें.
- कोड एडिटर में यह सूचना जोड़ें:
candidates:
- first_simple:
variants:
- speech: >-
The compass will help you find the mystical and ancient Library of
Gryffinberg. Among its infinite stacks of dusty books, you find one
entitled "Wisdom of the Ages". By the time you've read the
50,000-page tome, the townspeople have forgotten their problems. You
will write a second edition of "Wisdom of the Ages", but have
limited commercial success.
- सेव करें पर क्लिक करें.
सिम्युलेटर में अपनी कार्रवाई जांचना
इस समय, आपकी कार्रवाई को उपयोगकर्ता के चुने गए विकल्प के आधार पर, वह खास जानकारी देनी चाहिए.
अपनी कार्रवाई की जांच करने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में, जांच करें पर क्लिक करें.
- इनपुट फ़ील्ड में
Talk to my test app
टाइप करें औरEnter
दबाएं. - इनपुट फ़ील्ड में
Yes
टाइप करें औरEnter
दबाएं. इसके अलावा, आप हां के सुझाव वाले चिप पर क्लिक करें. Translator
पर क्लिक करें, टाइप करें या बोलें.
आपको &कोटेशन, कोटेशन के विकल्प का सही विकल्प मिलेगा.
3. गेम लूप जोड़ें
इस सेक्शन में, अपनी कार्रवाई को कॉन्फ़िगर किया जाता है, ताकि उपयोगकर्ता कोई दूसरा विकल्प चुन सके और चुनने के बाद अलग किस्मत की बात सुनें. यह बदलाव, "क्या आप फिर से ब्राउज़ करना चाहते हैं; मैसेज के आखिर में है. इस लूप को बनाने के लिए, आप पहले बनाए गए yes
और no
इंटेंट का फिर से इस्तेमाल कर सकते हैं. साथ ही, उन्हें Again
नाम के एक नए सीन में जोड़ सकते हैं.
Again
सीन बनाएं
इस सेक्शन में, आप एक नया Again
सीन बनाते हैं और एक ऐसा संकेत जोड़ते हैं जो उपयोगकर्ता से पूछता है कि क्या वे कोई दूसरा विकल्प चुनना चाहते हैं.
Again
सीन बनाने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में डेवलप करें पर क्लिक करें.
- सीज़न के नीचे दिए गए + (प्लस का निशान) पर क्लिक करें.
Again
लिखें औरEnter
दबाएं.- नेविगेशन बार में
Again
सीन पर क्लिक करें. - Enter पर के आगे मौजूद + (प्लस का निशान) पर क्लिक करें.
- 'Google के अनुरोध' भेजें चुनें. इसके बाद, नीचे दिए गए निर्देशों और चिप को जोड़ें:
candidates:
- first_simple:
variants:
- speech: >-
That is what I see for you. Would you like to choose a different option and
explore another future?
suggestions:
- title: 'Yes'
- title: 'No'
- सेव करें पर क्लिक करें.
Fortune
से Again
सीन में ट्रांज़िशन जोड़ें
जब उपयोगकर्ता अपना भाग्य पूरा कर लेता है, तब बातचीत को नए Again
सीन पर ले जाने की ज़रूरत होती है.
Fortune
सीन से Again
सीन में ट्रांज़िशन जोड़ने के लिए, यह तरीका अपनाएं:
- किस्मत वाले सीन पर क्लिक करें.
- विकल्प विंडो खोलने के लिए, पहली शर्त (
scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon"
) पर क्लिक करें. - स्क्रोल करें और ट्रांज़िशन में जाकर,
Again
चुनें. - सेव करें पर क्लिक करें.
- विकल्प विंडो खोलने के लिए दूसरी शर्त पर क्लिक करें.
- स्क्रोल करें और ट्रांज़िशन में जाकर,
Again
चुनें. - सेव करें पर क्लिक करें.
- विकल्प विंडो खोलने के लिए तीसरी शर्त पर क्लिक करें.
- स्क्रोल करें और ट्रांज़िशन में जाकर,
Again
चुनें. - सेव करें पर क्लिक करें.
सिम्युलेटर में अपनी कार्रवाई जांचना
ऐसी स्थिति में, आपकी कार्रवाई को उपयोगकर्ता को उनका भविष्य मिलने के बाद यह सूचना देनी चाहिए: &कोटेशन;मैं आपके लिए यही देखता हूं. क्या आप कोई दूसरा विकल्प चुनना चाहते हैं और आने वाले समय में किसी दूसरे कोटेशन को एक्सप्लोर करना चाहते हैं;
अपनी कार्रवाई की जांच करने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में, जांच करें पर क्लिक करें.
- इनपुट फ़ील्ड में
Talk to my test app
टाइप करें औरEnter
दबाएं. - इनपुट फ़ील्ड में
Yes
टाइप करें औरEnter
दबाएं. इसके अलावा, आप हां के सुझाव वाले चिप पर क्लिक करें. dragon
पर क्लिक करें, टाइप करें या बोलें.
आपको ड्रैगन विकल्प और Again
संकेत के लिए भाग्य मिलेगा.
इंटेंट जोड़ें और Again
सीन पर ट्रांज़िशन करें
इस सेक्शन में, आप Again
सीन में yes
और no
इंटेंट जोड़ते हैं, ताकि आपकी कार्रवाई यह समझ सके कि उपयोगकर्ता नया विकल्प चुनना चाहता है या नहीं. आप yes
और no
इंटेंट के लिए, सही ट्रांज़िशन भी जोड़ते हैं. yes
इंटेंट, Fortune
सीन में बदल जाता है, जबकि no
इंटेंट सिस्टम सिस्टम End conversation
में बदल जाता है.
Again
सीन में इंटेंट और ट्रांज़िशन जोड़ने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में डेवलप करें पर क्लिक करें.
Again
सीन पर क्लिक करें.- उपयोगकर्ता इंटेंट हैंडलिंग के बगल में मौजूद + (प्लस का निशान) पर क्लिक करें.
- इंटेंट ड्रॉप-डाउन मेन्यू से हां चुनें.
- ट्रांज़िशन ड्रॉप-डाउन मेन्यू में,
Fortune
चुनें. - सेव करें पर क्लिक करें.
- उपयोगकर्ता इंटेंट हैंडलिंग के बगल में मौजूद + (प्लस का निशान) पर क्लिक करें.
- इंटेंट ड्रॉप-डाउन मेन्यू से नहीं चुनें.
- ट्रांज़िशन ड्रॉप-डाउन मेन्यू में से, बातचीत खत्म करें को चुनें.
- ईमेल भेजें चुनें और कोड एडिटर में यह सूचना जोड़ें:
candidates:
- first_simple:
variants:
- speech: >-
It pleases me that you are satisfied with your choice. Best of luck on your quest. Farewell.
- सेव करें पर क्लिक करें.
सिम्युलेटर में अपनी कार्रवाई जांचना
आपकी कार्रवाई को अब यह समझना चाहिए कि क्या उपयोगकर्ता नया विकल्प चुनना या बातचीत खत्म करना चाहता है.
yes
इंटेंट की जांच करने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में, जांच करें पर क्लिक करें.
- इनपुट फ़ील्ड में
Talk to my test app
टाइप करें औरEnter
दबाएं. - इनपुट फ़ील्ड में
Yes
टाइप करें औरEnter
दबाएं. इसके अलावा, आप हां के सुझाव वाले चिप पर क्लिक करें. - किसी एक विकल्प पर क्लिक करें, टाइप करें या बोलें.
- इनपुट फ़ील्ड में
Yes
टाइप करें औरEnter
दबाएं.
आपको एक अनुरोध मिलेगा, &कोटेशन; आप अपने मिशन, ड्रैगन, अनुवादक या कंपासबोकट में मदद करने के लिए क्या चुनते हैं;
no
इंटेंट की जांच करने के लिए, यह तरीका अपनाएं:
- किसी एक विकल्प पर क्लिक करें, टाइप करें या बोलें.
- इनपुट फ़ील्ड में
No
लिखें औरEnter
दबाएं.
आपको End conversation
सूचना मिलेगी: &kot;;हमें खुशी है कि आप अपनी पसंद से संतुष्ट हैं. आपकी तलाश के लिए शुभकामनाएं. अलविदा.
4. सहायक पाथ जोड़ें
आपने #39; मुख्य ऐक्शन बनाया है, ताकि ज़्यादातर उपयोगकर्ता आपकी कार्रवाई का इस्तेमाल करें. हालांकि, उपयोगकर्ता Fortune
सीन के प्रॉम्प्ट का जवाब दे सकता है और &;अपने मिशन में आपकी मदद करने के लिए, आप किसी ड्रैगन, अनुवादक, या कंपासबार को कोट में किस तरह का विकल्प चुनना चाहते हैं: दिए गए विकल्पों में से कोई एक विकल्प न चुनें.
इस सेक्शन में, आप अपनी कार्रवाई को समझने के लिए कॉन्फ़िगर करते हैं. इससे आप यह समझ सकते हैं कि कोई उपयोगकर्ता & & " दिया गया & & quot; इस लॉजिक को कॉन्फ़िगर करने के लिए, आपको एक नया type
बनाना होगा जिसमें ये अन्य विकल्प शामिल हों. साथ ही, एक नया इंटेंट, other_option
हो, जो किसी उपयोगकर्ता के इनमें से किसी एक विकल्प से मेल खाने पर दिखे. आपको इंटेंट पैरामीटर की पहचान करने और उन्हें इकट्ठा करने के लिए, other_option
इंटेंट के अंदर ट्रेनिंग के वाक्यांशों की जानकारी भी देनी होगी.
जब Assistant' का प्राकृतिक भाषा में इस्तेमाल होने वाला (एनएलयू) इंजन उपयोगकर्ता के इनपुट में पैरामीटर मिलान का पता लगाता है, तब यह मान को टाइप किए गए पैरामीटर के रूप में निकालता है, ताकि आप किसी सीन में इसके साथ तर्क लागू कर सकें. इस कोडलैब में, आप अपनी कार्रवाई को कॉन्फ़िगर करते हैं, ताकि उपयोगकर्ता की मदद के लिए जानकारी निकाली जा सके और प्रॉम्प्ट में उस विकल्प का रेफ़रंस दिया जा सके.
unavailable_options
का टाइप बनाएं
अब आप ऐसा unavailable_options
टाइप बना सकते हैं जिसमें कई तरह के विकल्प शामिल हों, ताकि आपकी कार्रवाई उस डेटा को उपयोगकर्ता के इनपुट में पहचान सके.
unavailable_options
टाइप बनाने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में डेवलप करें पर क्लिक करें.
- टाइप में + (प्लस का निशान) पर क्लिक करें.
unavailable_options
लिखें औरEnter
दबाएं.- विकल्प खोलने के लिए
unavailable_options
पर क्लिक करें. - एंट्री जोड़ें सेक्शन में, ये एंट्री और इससे जुड़ी वैल्यू डालें:
|
|
|
|
|
|
|
|
आपकी की-वैल्यू टेबल कुछ इस तरह दिखनी चाहिए:
- सेव करें पर क्लिक करें.
other_option
इंटेंट बनाएं
इसके बाद, आप other_option
नाम का एक इंटेंट बनाते हैं और ट्रेनिंग के वाक्यांश जोड़ते हैं, जिनमें unavailable_options
टाइप के विकल्प शामिल होते हैं. यह इंटेंट तब मेल खाता है, जब उपयोगकर्ता unavailable_options
टाइप में शामिल विकल्प चुनता है.
other_option
इंटेंट बनाने और कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:
- कस्टम इंटेंट में + (प्लस का निशान) पर क्लिक करें.
other_option
लिखें औरEnter
दबाएं.- विंडो खोलने के लिए
other_option
पर क्लिक करें. - नीचे दिए गए ट्रेनिंग वाक्यांश जोड़ें और हर एक के बाद
Enter
दबाएं:
I want to use spells
I really really want to use a phone
magic!
cash
I want to ride a horse
- इंटेंट पैरामीटर जोड़ें सेक्शन में, पैरामीटर के नाम को
chosenUnavailableOption
में अपडेट करें. - सेव करें पर क्लिक करें.
जब आप ट्रेनिंग के लिए वाक्यांश डालते हैं, तो ऐक्शन बिल्डर, spells
, phone
, magic
, cash
, और horse
को unavailable_options
टाइप से पहचान लेता है. साथ ही, उन शब्दों को अपने-आप हाइलाइट (एनोटेशन) करता है. ऐक्शन बिल्डर, इंटेंट पैरामीटर जोड़ें सेक्शन में इंटेंट पैरामीटर अपने-आप जोड़ देता है, जैसा कि इस इमेज में दिखाया गया है.
इंटेंट पैरामीटर की मदद से, आपको विकल्प का नाम निकालना और उसे प्रॉम्प्ट में इस्तेमाल करना आसान हो जाता है.
Fortune
सीन में other_option
इंटेंट जोड़ें
अब आपके पास इंटेंट, other_option
है, जो उपयोगकर्ता को ऐसा विकल्प दे सकता है जो मूल विकल्पों में से एक और #39;नहीं है. इस सेक्शन में, आप Fortune
सीन में other_option
इंटेंट जोड़ते हैं. उपयोगकर्ता और #39; के इनपुट के आधार पर प्रॉम्प्ट को पसंद के मुताबिक बनाने के लिए, इंटेंट पैरामीटर का इस्तेमाल करें.
Fortune
सीन में other_option
इंटेंट जोड़ने के लिए, यह तरीका अपनाएं:
- किस्मत वाले सीन पर क्लिक करें.
- उपयोगकर्ता इंटेंट हैंडलिंग के बगल में मौजूद + (प्लस का निशान) पर क्लिक करें.
- इंटेंट ड्रॉप-डाउन मेन्यू से
other_option
चुनें. - ईमेल भेजें चुनें और यहां बताया गया तरीका जोड़ें:
candidates:
- first_simple:
variants:
- speech: >-
I have seen the future and a $intent.params.chosenUnavailableOption.original
will not aid you on your journey.
एक्सप्रेशन $intent.params.chosenUnavailableOption
का मतलब इंटेंट पैरामीटर ऑब्जेक्ट है और $intent.params.chosenUnavailableOption.original
से उस ऑब्जेक्ट और #39; के मान का पता चलता है. original property
का मतलब ऐसे रॉ इनपुट से है जिसे उपयोगकर्ता बताता है.
- सेव करें पर क्लिक करें.
जब कोई उपयोगकर्ता Fortune
सीन के दौरान unavailable_options
टाइप में दिए गए किसी विकल्प को कहता है, तो other_option
इंटेंट मेल खाता है और प्रॉम्प्ट की सूची में एक संकेत जोड़ता है. कोई ट्रांज़िशन तय नहीं है, इसलिए सीन स्टेज का फिर से आकलन करके, सीन एक्ज़ीक्यूशन लूप जारी रहता है. इसके बाद, chosenOptions
स्लॉट, प्रॉम्प्ट की सूची में अपना प्रॉम्प्ट जोड़ता है और प्रॉम्प्ट की सूची उपयोगकर्ता को डिलीवर की जाती है.
सिम्युलेटर में अपनी कार्रवाई जांचना
आपकी कार्रवाई को अब ठीक से जवाब देना चाहिए, जब कोई उपयोगकर्ता unavailable_options
टाइप में दिए गए विकल्पों में से किसी एक को चुनता है और बताता है कि उपयोगकर्ता ने कौनसी मदद चुनी है. इसके बाद, आपकी कार्रवाई को उपयोगकर्ता को मूल विकल्पों (ड्रैगन, अनुवादक या कंपास) में से किसी एक को चुनने का संकेत देना चाहिए.
सिम्युलेटर में अपनी कार्रवाई को आज़माने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में, जांच करें पर क्लिक करें.
- इनपुट फ़ील्ड में
Talk to my test app
टाइप करें औरEnter
दबाएं. - इनपुट फ़ील्ड में
Yes
टाइप करें औरEnter
दबाएं. इसके अलावा, आप हां के सुझाव वाले चिप पर क्लिक करें. - इनपुट फ़ील्ड में
magic
टाइप करें औरEnter
दबाएं.
आपने देखा हो कि दिए गए टेक्स्ट को इस्तेमाल करने से पहले, हो सकता है कि यह सही ( &_) ' & &साइज' में न हो. आप इन समस्याओं को इन सेक्शन में हल कर रहे हैं.
unavailable_options
हैंडलर जोड़ें
unavailable_options
टाइप के हिसाब से सही विकल्प से पहले &? सबसे पहले, आपको अपनी कार्रवाई को कॉन्फ़िगर करना होगा, ताकि कंसोल में हैंडलर को कॉल किया जा सके.
unavailable_options
हैंडलर जोड़ने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में डेवलप करें पर क्लिक करें.
Fortune
सीन पर क्लिक करें.- विंडो खोलने के लिए, उपयोगकर्ता इंटेंट हैंडलिंग में जाकर, other_option से मेल खाने पर पर क्लिक करें.
- मैसेज भेजें चेकबॉक्स को मिटाएं.
- अपने वेबहुक को कॉल करें चेकबॉक्स को चुनें.
- इवेंट हैंडलर के लिए टेक्स्ट बॉक्स में
unavailable_options
डालें.
- सेव करें पर क्लिक करें.
ऑर्डर को पूरा करने के लिए अपडेट करें और उसे डिप्लॉय करें
अब जब आपने अपनी कार्रवाई #unavailable_options
इवेंट हैंडलर को कॉल करने के लिए कर ली है, तो आप अपनी फ़ुलफ़िलर में हैंडलर अपडेट करके उसे डिप्लॉय कर सकते हैं.
ग्राहक को सामान भेजने की स्थिति अपडेट करने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में वेबहुक पर क्लिक करें.
greeting
हैंडलर के तहत यह कोड जोड़ें:
app.handle('unavailable_options', conv => {
const option = conv.intent.params.chosenUnavailableOption.original;
const optionKey = conv.intent.params.chosenUnavailableOption.resolved;
let message = 'I have seen the future and ';
if(optionsNeedA.has(optionKey)){
message = message + 'a ';
}
message = message + `${option} will not aid you on your journey. `;
conv.add(message);
});
const app = conversation();
के तहत यह कोड जोड़ें:
const optionsNeedA = new Set();
optionsNeedA.add('horse').add('phone');
- ग्राहक को बचाएं पर क्लिक करें.
- ग्राहक को डिलीवर करें पर क्लिक करें. डिप्लॉयमेंट पूरा हो जाने पर एडिटर के ऊपर एक मैसेज दिखता है, जिसमें लिखा है आपका क्लाउड फ़ंक्शन डिप्लॉयमेंट अप-टू-डेट है.
कोड को समझना
unavailable_options
हैंडलर ये काम करता है:
conv
ऑब्जेक्ट सेoption
डेटा मिलता है औरoriginal
प्रॉपर्टी कोoption
असाइन करता है, जो कि उपयोगकर्ता का रॉ इनपुट हैresolved
प्रॉपर्टी कोoptionKey
असाइन करता है, जोunavailable_options
टाइप की कुंजी है- देखें कि क्या
optionKey
उन विकल्पों में से एक है जिन्हें & & & "; की ज़रूरत है. conv.add(message)
से मैसेज जोड़ता है
सिम्युलेटर में अपनी कार्रवाई जांचना
अब आपकी कार्रवाई को इस आधार पर प्रॉम्प्ट में बदलाव करना चाहिए कि unavailable_options
टाइप में से उपयोगकर्ता के विकल्प के लिए एक &कोटेशन & कोटेशन की ज़रूरत है या नहीं.
अपनी कार्रवाई की जांच करने के लिए, यह तरीका अपनाएं:
- नेविगेशन बार में, जांच करें पर क्लिक करें.
- Input फ़ील्ड में
Talk to my test app
क्लिक करें या लिखें औरEnter
दबाएं. - इनपुट फ़ील्ड में
Yes
टाइप करें औरEnter
दबाएं. इसके अलावा, आप हां के सुझाव वाले चिप पर क्लिक करें. - इनपुट फ़ील्ड में
magic
टाइप करें औरEnter
दबाएं. - इनपुट फ़ील्ड में
horse
टाइप करें औरEnter
दबाएं.
आपकी कार्रवाई में & वो & &कोटेशन के पहले विकल्प को जोड़ा जाना चाहिए. ऐसा करते समय &&ot;a&kot; विकल्प के बिना प्रॉम्प्ट बनाते समय.
अपने प्रोजेक्ट में जगह खाली करें [सुझाया गया]
संभावित शुल्कों से बचने के लिए, ऐसे प्रोजेक्ट निकालने का सुझाव दिया जाता है जिनका आप इस्तेमाल नहीं करना चाहते हैं. इस कोडलैब में बनाए गए प्रोजेक्ट मिटाने के लिए, यह तरीका अपनाएं:
- क्लाउड प्रोजेक्ट और संसाधनों को मिटाने के लिए, शट डाउन करें (मिटाएं) सेक्शन में दिए गए चरणों को पूरा करें.
- ज़रूरी नहीं: अपने प्रोजेक्ट को तुरंत कंसोल से हटाने के लिए, प्रोजेक्ट मिटाएं देखें. अगर आप यह चरण पूरा नहीं करते हैं, तो आपका प्रोजेक्ट करीब 30 दिनों के बाद अपने-आप हट जाएगा.
5. बधाई हो!
अब आपने Google Assistant के लिए, कार्रवाइयाँ बनाने के लिए मौजूद ज़रूरी कौशल के बारे में जान लिया है.
आपने क्या कवर किया
- Node.js के लिए लाइब्रेरी का डेटा भेजने वाली लाइब्रेरी का इस्तेमाल करके, बातचीत वाली कार्रवाइयां बनाने का तरीका
- उपयोगकर्ता से डेटा इकट्ठा करने के लिए स्लॉट का इस्तेमाल कैसे करें
- सीन में तर्क जोड़ने के लिए, शर्तों का इस्तेमाल कैसे करें
- गेम लूप जोड़ने का तरीका
- सहायक पाथ जोड़ने का तरीका
ज़्यादा जानें
Google Assistant के लिए कार्रवाइयां बनाने के बारे में ज़्यादा जानने के लिए, इन संसाधनों को एक्सप्लोर करें:
- Google Assistant के लिए Actions बनाने के दस्तावेज़
- सैंपल कोड और लाइब्रेरी के लिए, Google GitHub पेज पर कार्रवाइयां
- Google Assistant के साथ काम करने वाले डेवलपर के लिए, आधिकारिक Reddit समुदाय
- बातचीत से जुड़ी कार्रवाइयों के बारे में सबसे सही तरीकों और दिशा-निर्देशों के लिए बातचीत डिज़ाइन से जुड़े दिशा-निर्देश
हमारे नए एलानों के बारे में जानने के लिए, Twitter पर @ActionsGoogle पर जाएं और #AoGDevs को ट्वीट करें कि आप अपना क्या शेयर करना चाहते हैं!
सुझाव सर्वे
जाने से पहले, कृपया अपने अनुभव के बारे में एक छोटा सा सर्वे भरें.