सामान्य जवाब (Dialogflow)

Dialogflow में एक्सप्लोर करें

Dialogflow में अपने जवाबों का नमूना इंपोर्ट करने के लिए, जारी रखें पर क्लिक करें. इसके बाद, सैंपल को डिप्लॉय और टेस्ट करने के लिए, यह तरीका अपनाएं:

  1. एजेंट का नाम डालें और सैंपल के लिए, नया Dialogflow एजेंट बनाएं.
  2. एजेंट इंपोर्ट होने के बाद, एजेंट पर जाएं पर क्लिक करें.
  3. मुख्य नेविगेशन मेन्यू से, ग्राहक को आइटम भेजना पर जाएं.
  4. इनलाइन एडिटर चालू करें. इसके बाद, डिप्लॉय करें पर क्लिक करें. एडिटर में सैंपल होता है कोड.
  5. मुख्य नेविगेशन मेन्यू से, इंटिग्रेशन पर जाएं. इसके बाद, Google पर क्लिक करें Assistant पर टैप करें.
  6. स्क्रीन पर दिखने वाली मॉडल विंडो में, बदलावों की अपने-आप झलक देखने की सुविधा चालू करें. इसके बाद, जांच करें पर क्लिक करें ऐक्शन सिम्युलेटर खोलने के लिए.
  7. सैंपल की जांच करने के लिए, सिम्युलेटर में Talk to my test app डालें!
जारी रखें

आसान जवाब, विज़ुअल तौर पर चैट बबल की तरह दिखते हैं. इनमें लिखाई को बोली में बदलने की सुविधा इस्तेमाल की जाती है (टीटीएस) या आवाज़ के लिए स्पीच सिंथेसिस मार्कअप लैंग्वेज (एसएसएमएल).

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

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

प्रॉपर्टी

पहली इमेज. जवाब देने में आसान उदाहरण (स्मार्टफ़ोन)

आसान जवाबों में ये ज़रूरी शर्तें होती हैं और ये ज़रूरी नहीं हैं प्रॉपर्टी को कॉन्फ़िगर किया जा सकता है:

  • actions.capability.AUDIO_OUTPUT के साथ प्लैटफ़ॉर्म पर काम करता है या actions.capability.SCREEN_OUTPUT सुविधाएं.
  • हर चैट बबल में 640 से ज़्यादा वर्ण नहीं होने चाहिए. स्ट्रिंग तय सीमा से ज़्यादा लंबी हैं पहले वर्ड ब्रेक (या खाली सफ़ेद जगह) पर, 640 वर्णों से पहले काटा गया.

  • चैट बबल में दिखने वाला कॉन्टेंट, फ़ोनेटिक सबसेट होना चाहिए या टीटीएस/एसएसएमएल आउटपुट. इससे उपयोगकर्ताओं को आपकी बातों को समझने में मदद मिलती है और यह जानकारी बढ़ती है समझने की क्षमता.

  • प्रति मोड़ ज़्यादा से ज़्यादा दो चैट बबल.

  • Google को सबमिट किया जाने वाला चैट हेड (लोगो) 192x192 पिक्सल का होना चाहिए और को ऐनिमेट नहीं किया जा सकता.

दूसरी इमेज. जवाब देने में आसान उदाहरण (स्मार्ट डिसप्ले)

नमूना कोड

Node.js

app.intent('Simple Response', (conv) => {
  conv.ask(new SimpleResponse({
    speech: `Here's an example of a simple response. ` +
      `Which type of response would you like to see next?`,
    text: `Here's a simple response. ` +
      `Which response would you like to see next?`,
  }));
});

Java

@ForIntent("Simple Response")
public ActionResponse welcome(ActionRequest request) {
  ResponseBuilder responseBuilder = getResponseBuilder(request);
  responseBuilder.add(
      new SimpleResponse()
          .setTextToSpeech(
              "Here's an example of a simple response. "
                  + "Which type of response would you like to see next?")
          .setDisplayText(
              "Here's a simple response. Which response would you like to see next?"));
  return responseBuilder.build();
}

Node.js

conv.ask(new SimpleResponse({
  speech: `Here's an example of a simple response. ` +
    `Which type of response would you like to see next?`,
  text: `Here's a simple response. ` +
    `Which response would you like to see next?`,
}));

Java

ResponseBuilder responseBuilder = getResponseBuilder(request);
responseBuilder.add(
    new SimpleResponse()
        .setTextToSpeech(
            "Here's an example of a simple response. "
                + "Which type of response would you like to see next?")
        .setDisplayText(
            "Here's a simple response. Which response would you like to see next?"));
return responseBuilder.build();

JSON

ध्यान दें कि नीचे दिए गए JSON में, वेबहुक के रिस्पॉन्स के बारे में बताया गया है.

{
  "payload": {
    "google": {
      "expectUserResponse": true,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "Here's an example of a simple response. Which type of response would you like to see next?",
              "displayText": "Here's a simple response. Which response would you like to see next?"
            }
          }
        ]
      }
    }
  }
}

JSON

ध्यान दें कि नीचे दिए गए JSON में, वेबहुक के रिस्पॉन्स के बारे में बताया गया है.

{
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "possibleIntents": [
        {
          "intent": "actions.intent.TEXT"
        }
      ],
      "inputPrompt": {
        "richInitialPrompt": {
          "items": [
            {
              "simpleResponse": {
                "textToSpeech": "Here's an example of a simple response. Which type of response would you like to see next?",
                "displayText": "Here's a simple response. Which response would you like to see next?"
              }
            }
          ]
        }
      }
    }
  ]
}

एसएसएमएल और साउंड

जवाबों में एसएसएमएल और साउंड का इस्तेमाल करने से, उन्हें और बेहतर बनाया जाता है. साथ ही, उपयोगकर्ता अनुभव मिलता है. नीचे दिए गए कोड स्निपेट आपको जवाब देने का तरीका बताते हैं जो SSML का इस्तेमाल करता है:

Node.js

app.intent('SSML', (conv) => {
  conv.ask(`<speak>` +
    `Here are <say-as interpet-as="characters">SSML</say-as> examples.` +
    `Here is a buzzing fly ` +
    `<audio src="https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg"></audio>` +
    `and here's a short pause <break time="800ms"/>` +
    `</speak>`);
  conv.ask('Which response would you like to see next?');
});

Java

@ForIntent("SSML")
public ActionResponse ssml(ActionRequest request) {
  ResponseBuilder responseBuilder = getResponseBuilder(request);
  responseBuilder.add(
      "<speak>"
          + "Here are <say-as interpet-as=\"characters\">SSML</say-as> examples."
          + "Here is a buzzing fly "
          + "<audio src=\"https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg\"></audio>"
          + "and here's a short pause <break time=\"800ms\"/>"
          + "</speak>");
  return responseBuilder.build();
}

Node.js

conv.ask(`<speak>` +
  `Here are <say-as interpet-as="characters">SSML</say-as> examples.` +
  `Here is a buzzing fly ` +
  `<audio src="https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg"></audio>` +
  `and here's a short pause <break time="800ms"/>` +
  `</speak>`);
conv.ask('Which response would you like to see next?');

Java

ResponseBuilder responseBuilder = getResponseBuilder(request);
responseBuilder.add(
    "<speak>"
        + "Here are <say-as interpet-as=\"characters\">SSML</say-as> examples."
        + "Here is a buzzing fly "
        + "<audio src=\"https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg\"></audio>"
        + "and here's a short pause <break time=\"800ms\"/>"
        + "</speak>");
return responseBuilder.build();

JSON

ध्यान दें कि नीचे दिए गए JSON में, वेबहुक के रिस्पॉन्स के बारे में बताया गया है.

{
  "payload": {
    "google": {
      "expectUserResponse": true,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "<speak>Here are <say-as interpet-as=\"characters\">SSML</say-as> examples.Here is a buzzing fly <audio src=\"https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg\"></audio>and here's a short pause <break time=\"800ms\"/></speak>"
            }
          },
          {
            "simpleResponse": {
              "textToSpeech": "Which response would you like to see next?"
            }
          }
        ]
      }
    }
  }
}

JSON

ध्यान दें कि नीचे दिए गए JSON में, वेबहुक के रिस्पॉन्स के बारे में बताया गया है.

{
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "possibleIntents": [
        {
          "intent": "actions.intent.TEXT"
        }
      ],
      "inputPrompt": {
        "richInitialPrompt": {
          "items": [
            {
              "simpleResponse": {
                "textToSpeech": "<speak>Here are <say-as interpet-as=\"characters\">SSML</say-as> examples.Here is a buzzing fly <audio src=\"https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg\"></audio>and here's a short pause <break time=\"800ms\"/></speak>"
              }
            },
            {
              "simpleResponse": {
                "textToSpeech": "Which response would you like to see next?"
              }
            }
          ]
        }
      }
    }
  ]
}

ज़्यादा जानकारी के लिए, एसएसएमएल से जुड़ा रेफ़रंस दस्तावेज़ देखें.

साउंड लाइब्रेरी

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