प्रॉम्प्ट

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

रिस्पॉन्स के टाइप

हर सवाल के लिए, आपको अलग-अलग तरह के दिलचस्प जवाब चुनने होते हैं, ताकि Assistant इन्हें उपयोगकर्ताओं को दिखा सके:

  • आसान जवाब: आसान जवाब, चैट बबल की तरह दिखते हैं. इनमें मौजूद टेक्स्ट, आवाज़ के लिए लिखाई को बोली में बदलने (टीटीएस) या स्पीच सिंथेसिस मार्कअप लैंग्वेज (एसएसएमएल) का इस्तेमाल करते हैं. सिर्फ़ सामान्य जवाब ही सभी तरह के डिवाइस पर काम करते हैं.
  • रिच रिस्पॉन्स: रिच रिस्पॉन्स में विज़ुअल या फ़ंक्शनल एलिमेंट होते हैं, जो आपकी कार्रवाइयों के साथ उपयोगकर्ता इंटरैक्शन को बेहतर बनाते हैं. बेहतर जवाबों की सुविधा से, टेबल में मौजूद डेटा दिखाया जा सकता है या लंबी अवधि का ऑडियो कॉन्टेंट भी चलाया जा सकता है.
  • विज़ुअल चुनने के जवाब: विज़ुअल चुनने पर मिलने वाले जवाबों की मदद से, उपयोगकर्ता को कई विकल्पों में से चुनने के लिए एक विज़ुअल इंटरफ़ेस मिलता है. ये विकल्प, शीर्षक या इमेज के हिसाब से आसानी से अलग हो सकते हैं.
  • मीडिया से जुड़े जवाब: मीडिया से मिलने वाले जवाबों की मदद से, SSML के मुकाबले आपकी कार्रवाइयों को ज़्यादा समय तक ऑडियो कॉन्टेंट चलाने की सुविधा मिलती है. साथ ही, मीडिया कंट्रोल के साथ एक विज़ुअल कॉम्पोनेंट भी मिलता है.
  • इंटरैक्टिव कैनवस: इंटरैक्टिव कैनवस, जवाबों को फ़ुल-स्क्रीन वेब व्यू के रूप में रेंडर करता है. यह इंटरैक्टिव वेब ऐप्लिकेशन की तरह काम करता है. Assistant, इस ऐप्लिकेशन को उपयोगकर्ता के साथ बातचीत के दौरान जवाब के तौर पर भेजती है. कैनवस में एचटीएमएल, सीएसएस, और JavaScript जैसे वेब स्टैंडर्ड की ओर से जोड़े गए लचीलेपन के लिए थोड़े अलग प्रॉम्प्ट फ़ॉर्मैट का इस्तेमाल किया जाता है.

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

प्रॉम्प्ट का फ़ॉर्मैट

अपने Actions प्रोजेक्ट में, YAML या JSON फ़ॉर्मैट में प्रॉम्प्ट तय करें. हर प्रॉम्प्ट में ज़्यादा से ज़्यादा दो आसान जवाब हो सकते हैं और वैकल्पिक तौर पर एक रिच रिस्पॉन्स तय किया जा सकता है. जवाबों को नीचे बताए गए तरीके से परिभाषित किया गया है:

  • first_simple: उपयोगकर्ता को भेजने के लिए, शुरुआती मैसेज या बोली (आसान) जवाब.
  • content: साधारण जवाबों के बाद भेजने के लिए, ज़्यादा बेहतर जवाब वाला पूरक कॉन्टेंट.
  • last_simple उपयोगकर्ता को भेजने के लिए, फ़ाइनल टेक्स्ट या बोली (आसान) जवाब.
  • canvas: इंटरैक्टिव कैनवस के साथ इंटिग्रेट किए गए वेब ऐप्लिकेशन का रेफ़रंस देता है.

डिफ़ॉल्ट रूप से, प्रॉम्प्ट प्रॉम्प्ट सूची में एक-दूसरे के साथ ऊपर बताए गए क्रम में जुड़े होते हैं. उपयोगकर्ता जवाब दे सके, इससे पहले Assistant उसे प्रॉम्प्ट की सूची में मौजूद सभी प्रॉम्प्ट दिखाती है.

इसके अलावा, इन सुविधाओं का इस्तेमाल करके प्रॉम्प्ट को सुविधा भी दी जा सकती है:

  • उम्मीदवार: उम्मीदवार अपने डिवाइस की क्षमताओं के हिसाब से जवाब तय करने की सुविधा देता है. उदाहरण के लिए, जब कोई उपयोगकर्ता डिसप्ले वाले डिवाइस पर आपकी सेट की गई कार्रवाई से इंटरैक्ट करता है, तब ही Assistant उसे बेहतर जवाब दे सकती है.
  • वैरिएंट: वैरिएंट, किसी मैसेज के वैकल्पिक वैरिएशन होते हैं. उदाहरण के लिए, जब भी कोई उपयोगकर्ता आपकी सेट की गई कार्रवाई को शुरू करता है, तब आपके पास Assistant को वेलकम मैसेज के पांच अलग-अलग वैरिएंट में से चुनने का विकल्प होता है.
  • सुझाव: जब Assistant आपके डिवाइस पर कोई सूचना दिखाती है, तो डिसप्ले वाले डिवाइस पर सुझावों को सुझाव वाले चिप की सुविधा मिलती है.

डिफ़ॉल्ट प्रॉम्प्ट में एक कैंडिडेट, एक वैरिएंट, और first_simple रिस्पॉन्स का इस्तेमाल किया जाता है.

उम्मीदवार

प्रॉम्प्ट में, candidates ऑब्जेक्ट की मदद से उपयोगकर्ता के डिवाइस की क्षमताओं के आधार पर जवाब दिए जा सकते हैं. उदाहरण के लिए, जब कोई उपयोगकर्ता डिसप्ले वाले डिवाइस पर आपकी सेट की गई कार्रवाई से इंटरैक्ट करता है, तब ही Assistant उसे बेहतर जवाब दे सकती है. यह तय करने के लिए कि Assistant किस तरह के डिवाइस पर कैंडिडेट दिखा सकती है, candidates ऑब्जेक्ट की selector प्रॉपर्टी का इस्तेमाल करें.

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

वाईएएमएल

candidates:
  - selector:
      surface_capabilities:
        capabilities:
          - RICH_RESPONSE
    first_simple:
      variants:
        - speech: Here's a simple message.
    content:
      card:
        title: Image card title
        text: Some details about the image
        image:
          url: 'https://www.example.com/image/'
  - first_simple:
      variants:
        - speech: Text explains what the image might have shown in more detail.
    

JSON

{
  "candidates": [{
    "selector": {
      "surface_capabilities": {
        "capabilities": ["RICH_RESPONSE"]
      }
    },
    "first_simple": {
      "variants": [{
        "speech": "Here's a simple message."
      }]
    },
    "content": {
      "card": {
        "title": "Image card title",
        "text": "Some details about the image",
        "image": {
          "url": "https://www.example.com/image/"
        }
      }
    }
  }, {
    "first_simple": {
      "variants": [{
        "speech": "Text explains what the image might have shown in more detail."
      }]
    }
  }]
}
    

किसी उम्मीदवार के लिए, एक या उससे ज़्यादा योग्यताएं दी जा सकती हैं. यहां दी गई सूची में, सुविधा के लिए उपलब्ध सभी ज़रूरी शर्तों के बारे में बताया गया है:

  • SPEECH: लिखाई को बोली में बदलने या SSML के ज़रिए डिवाइस, उपयोगकर्ता से बात कर सकता है.
  • RICH_RESPONSE: डिवाइस कार्ड, सूचियां, और टेबल जैसे रिच जवाब दिखा सकता है.
  • LONG_FORM_AUDIO: डिवाइस पर संगीत और पॉडकास्ट जैसे लंबी अवधि का ऑडियो मीडिया चल सकता है.
  • INTERACTIVE_CANVAS: डिवाइस, इंटरैक्टिव कैनवस रिस्पॉन्स दिखा सकता है.
  • WEB_LINK: डिवाइस, वेब ब्राउज़र खोलने के लिए रिच रिस्पॉन्स वाले वेब लिंक इस्तेमाल कर सकता है.
  • HOME_STORAGE: डिवाइस होम स्टोरेज में मौजूद डेटा को सेव कर सकता है और उसे ऐक्सेस कर सकता है.

वैरिएंट

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

उदाहरण के लिए, वेलकम मैसेज के अलग-अलग वैरिएंट उपलब्ध कराएं, ताकि आपकी सेट की गई कार्रवाई को शुरू करने पर, लोगों को हर बार एक ही जवाब न सुनाई दे:

वाईएएमएल

candidates:
  - first_simple:
      variants:
        - speech: Hello.
        - speech: Hi there.
        - speech: Welcome.
    

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Hello."
      },{
        "speech": "Hi there."
      },{
        "speech": "Welcome."
      }]
    }
  }]
}
    

Suggestions

स्मार्ट डिसप्ले पर सुझाव वाले चिप का उदाहरण

सुझावों की मदद से, डिसप्ले की सुविधा वाले डिवाइसों पर उपयोगकर्ताओं को सुझाव के चिप दिखते हैं. ऐसा तब होता है, जब Assistant आपके डिवाइस पर प्रॉम्प्ट दिखाती है. उपयोगकर्ता के जवाबों को संकेत देने के लिए बातचीत जारी रखने या पिवट करने के लिए सुझाव चिप का इस्तेमाल करें. टैप करने पर, सुझाव वाला चिप, डिसप्ले किए गए टेक्स्ट को बातचीत के तौर पर दिखाता है. जैसे, उपयोगकर्ता ने उसे टाइप किया हो.

एक बार में आठ सुझाव ज़्यादा से ज़्यादा दिखाए जा सकते हैं. हर सुझाव में ज़्यादा से ज़्यादा 25 सादे टेक्स्ट वाले वर्ण हो सकते हैं.

कोई सुझाव जोड़ने के लिए, कोई Suggestion ऑब्जेक्ट डालें. हर सुझाव को अलग title फ़ील्ड में रखें. हर टाइटल, सुझाव वाले चिप के सेट में शामिल नहीं होना चाहिए. Actions Builder में, इस ऑब्जेक्ट को YAML और JSON में suggestions के तौर पर दिखाया जाता है.

उदाहरण के लिए, किसी सवाल के साथ "हां" और "नहीं" का सुझाव दिया जा सकता है:

वाईएएमएल

candidates:
  - first_simple:
      variants:
        - speech: 'Welcome, do you want to play a game?'
    suggestions:
      - title: 'Yes'
      - title: 'No'
    

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Welcome, do you want to play a game?"
      }]
    },
    "suggestions": [{
      "title": "Yes"
    }, {
      "title": "No"
    }]
  }]
}