कार्रवाइयां परिभाषित करें (Dialogflow)

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

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

  • डिफ़ॉल्ट कार्रवाई: हर कार्रवाई प्रोजेक्ट में वेलकम इंटेंट होना चाहिए, जो काम करता हो का इस्तेमाल करके बातचीत शुरू कर सकते हैं. वेलकम मैसेज यह है यह तब ट्रिगर होता है, जब उपयोगकर्ता किसी कार्रवाई का नाम बोलकर ( उदाहरण के लिए, "Ok Google, ExampleAction से बात करो"). इस वेलकम इंटेंट की पहचान इससे की गई है actions.intent.MAIN इंटेंट का नाम.
  • डीप लिंकिंग के लिए अन्य कार्रवाइयां: यहां अन्य कार्रवाइयां बनाई जा सकती हैं: ऐसे इंटेंट के साथ आपका Action पैकेज जिसे आपने तय किया है. इससे उपयोगकर्ताओं को किसी खास फ़ंक्शन को शुरू करने के लिए, इंटेंट के साथ किसी कार्रवाई का नाम बोलकर उदाहरण के लिए: "Ok Google, जूते खोजने के लिए ExampleAction से बात करो").

ज़्यादा जानकारी के लिए, इंटेंट और शुरू करने की सुविधा देखें ये वोकेशन मॉडल काम करते हैं.

डिफ़ॉल्ट कार्रवाई तय करें

हर कार्रवाई पैकेज में एक और सिर्फ़ एक इंटेंट होना चाहिए, जो actions.intent.MAIN इंटेंट. यह इंटेंट तब ट्रिगर होता है, जब उपयोगकर्ता आपके नाम के हिसाब से कार्रवाई (उदाहरण के लिए, "Ok Google, ExampleAction से बात करो").

action.json नाम का बॉयलरप्लेट ऐक्शन पैकेज फ़ाइल जनरेट करने के लिए, इसके लिए, नीचे दिया गया तरीका अपनाएं:

  1. gactions सीएलआई डाउनलोड करें.
  2. अपने Action प्रोजेक्ट की सोर्स फ़ाइलों के लिए एक लोकल डायरेक्ट्री बनाएं.
  3. टर्मिनल में इन कमांड को चलाएं:

    $ cd PROJECT_DIRECTORY
    $ gactions init

ऐक्शन पैकेज वाली फ़ाइल जनरेट होने के बाद, प्लेसहोल्डर कॉन्टेंट को अपने वैल्यू. यहां ExampleAction के लिए बदलावों वाले action.json का उदाहरण दिया गया है:

{
  "actions": [
    {
      "description": "Default welcome intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to ExampleAction"
          ]
        }
      }
    }
  ],
  "conversations": {
    "ExampleAction": {
      "name": "ExampleAction",
      "url": "https://www.example.com/ExampleAction"
    }
  },
  "locale": "en"
}

अतिरिक्त कार्रवाइयों के बारे में बताएं

आपके पास ऐसी अन्य कार्रवाइयों की जानकारी देने का विकल्प होता है जो एंट्री पॉइंट के तौर पर काम करती हैं. इससे उपयोगकर्ताओं को साफ़ तौर पर, उनके मकसद में साफ़ तौर पर अंतर बताया जा सकता है. इसके लिए, उन्हें करना चाहते हैं (उदाहरण के लिए, "Ok Google, ExampleAction से बात करो" जूते.").

अन्य कार्रवाइयों के बारे में बताने के लिए:

  1. actions कलेक्शन में, हर एंट्री पॉइंट के लिए कोई कार्रवाई तय करें.

    उदाहरण के लिए, यह कोड एक और "खरीदें" कोड दिखाता है ऐसी कार्रवाई जो तय करती है:
    • com.example.ExampleAction.BUY का इंटेंट नाम
    • इस इंटेंट के ट्रिगर होने पर, उपयोगकर्ता के इनपुट से पार्स करने के लिए parameters. यह तब काम आता है, जब आपको कार्रवाई वाले वाक्यांश से खास डेटा की ज़रूरत हो जब उपयोगकर्ताओं ने कार्रवाई को शुरू किया हो.
    • queryPatterns से पता चलता है कि इंटेंट को ट्रिगर करने के लिए उपयोगकर्ताओं को क्या कहना होगा. क्वेरी पैटर्न में Schema.org के टाइप शामिल हो सकते हैं जो पार्स करने के लिए पैरामीटर तय करते हैं.
    {
      "description": "Direct access",
      "name": "BUY",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "com.example.ExampleAction.BUY",
        "parameters": [
          {
            "name": "color",
            "type": "org.schema.type.Color"
          }
        ],
        "trigger": {
          "queryPatterns": [
            "find some $org.schema.type.Color:color sneakers",
            "buy some blue suede shoes",
            "get running shoes"
          ]
        }
      }
    }
          
  2. conversationName तय करके, इस इंटेंट के पूरा होने की जानकारी दें जो conversations ऑब्जेक्ट में किसी आइटम से मेल खाती है.

    {
      "conversations": {
        "ExampleAction": {
          "name": "ExampleAction",
          "url": "https://www.example.com/ExampleAction"
        }
      }
    }
        

यहां फ़ुल ऐक्शन पैकेज का उदाहरण दिया गया है:

{
  "actions": [
    {
      "description": "Default welcome intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to ExampleAction"
          ]
        }
      }
    },
    {
      "description": "Direct access",
      "name": "BUY",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "com.example.ExampleAction.BUY",
        "parameters": [
          {
            "name": "color",
            "type": "org.schema.type.Color"
          }
        ],
        "trigger": {
          "queryPatterns": [
            "find some $org.schema.type.Color:color sneakers",
            "buy some blue suede shoes",
            "get running shoes"
          ]
        }
      }
    }
  ],
  "conversations": {
    "ExampleAction": {
      "name": "ExampleAction",
      "url": "https://www.example.com/ExampleAction"
    }
  },
  "locale": "en"
}