प्रॉम्प्ट

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

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

हर प्रॉम्प्ट के लिए, अलग-अलग तरह के दिलचस्प जवाब में से किसी एक को चुना जाता है Assistant की सुविधा, जो लोगों को प्रज़ेंट करती है:

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

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

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

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

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

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

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

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

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

उम्मीदवार

प्रॉम्प्ट में, candidates ऑब्जेक्ट, उपयोगकर्ता के डिवाइस की क्षमताओं की जानकारी दी जाती है. उदाहरण के लिए, Assistant डिसप्ले को रिच मोड में दिखाया जा सकता है रिस्पॉन्स सिर्फ़ तब मिलता है, जब कोई उपयोगकर्ता किसी Display-able ऐप्लिकेशन पर आपकी Action के साथ इंटरैक्ट करता है डिवाइस. 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: डिवाइस, लिखाई को बोली में बदलने या एसएसएमएल की सुविधा का इस्तेमाल करके, उपयोगकर्ता से बात कर सकता है.
  • 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."
      }]
    }
  }]
}
    

सुझाव

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

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

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

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

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

यमल

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"
    }]
  }]
}