กำหนดการดำเนินการ (Dialogflow)

การดำเนินการคือจุดแรกเข้าของแอปซึ่งเป็นตัวกำหนดการเรียกใช้และการค้นพบ สำหรับแอปของคุณ คุณประกาศการดำเนินการในไฟล์ JSON ที่เรียกว่าแพ็กเกจการดำเนินการ ซึ่งคุณจะอัปโหลดไปยังโปรเจ็กต์นักพัฒนาซอฟต์แวร์ในภายหลังเมื่อต้องการทดสอบ หรือ ส่งโปรเจ็กต์ Actions เพื่อรับการอนุมัติ แพ็กเกจการดำเนินการคือไฟล์ JSON ที่ กำหนด Actions ในโปรเจ็กต์ Actions

หากต้องการกำหนด Actions ในแพ็กเกจ Action คุณต้องสร้าง Intent ที่กำหนดวิธีการ จะมีการเรียกใช้การดำเนินการและปลายทางการดำเนินการตามคำสั่งซื้อที่เกี่ยวข้องเมื่อ Intent เกิดขึ้น คุณสร้างการดำเนินการประเภทต่อไปนี้ได้

  • การดำเนินการเริ่มต้น: ทุกโปรเจ็กต์ของ Actions ต้องมีความตั้งใจในการต้อนรับซึ่งทำหน้าที่ เป็นจุดเริ่มต้นสำหรับให้ผู้ใช้เริ่มต้นการสนทนา จุดประสงค์ในการต้อนรับคือ ถูกเรียกเมื่อผู้ใช้เรียกใช้การดำเนินการอย่างชัดแจ้งโดยพูดชื่อการดำเนินการ (สำหรับ เช่น "Ok Google คุยกับ ExampleAction") จุดประสงค์ในการต้อนรับนี้คือ ชื่อ Intent actions.intent.MAIN
  • การดำเนินการเพิ่มเติมสำหรับการลิงก์ในรายละเอียด: คุณสามารถสร้างการดำเนินการเพิ่มเติมใน แพ็กเกจการดำเนินการที่มี Intent ที่คุณกำหนดด้วยตนเอง วิธีนี้ช่วยให้ผู้ใช้ เพื่อเรียกใช้ฟังก์ชันเฉพาะโดยพูดชื่อการดำเนินการพร้อมกับ Intent (เช่น "Ok Google ขอคุยกับ ExampleAction เพื่อหารองเท้าหน่อย")

ดูความตั้งใจและการเรียกใช้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธี โมเดลการเรียกใช้เหล่านี้ใช้งานได้

กำหนดการกระทำเริ่มต้น

แพ็กเกจการดำเนินการทุกแพ็กเกจต้องมี Intent เพียงรายการเดียวที่จัดการ Intent actions.intent.MAIN ระบบจะเรียกใช้ Intent นี้เมื่อผู้ใช้เรียกใช้ การดำเนินการตามชื่อ (เช่น "Ok Google พูดกับ ExampleAction")

หากต้องการสร้างไฟล์แพ็กเกจการดำเนินการแบบ Boilerplate ที่ชื่อ action.json ให้ใช้ ขั้นตอนต่อไปนี้

  1. ดาวน์โหลด gactions CLI
  2. สร้างไดเรกทอรีในเครื่องสำหรับไฟล์ต้นทางของโปรเจ็กต์การดำเนินการ
  3. เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล

    $ cd PROJECT_DIRECTORY
    $ gactions init

เมื่อสร้างไฟล์แพ็กเกจการดำเนินการแล้ว ให้แทนที่เนื้อหาของตัวยึดตำแหน่งด้วย ต่อไปนี้คือตัวอย่างของ action.json ที่มีการเปลี่ยนแปลงสำหรับ ExampleAction

{
  "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 ให้ระบุการดำเนินการสำหรับจุดแรกเข้าทุกจุด

    ตัวอย่างเช่น โค้ดต่อไปนี้แสดงแท็ก "ซื้อ" เพิ่มเติม การดำเนินการที่กำหนดสิ่งต่อไปนี้
    • ชื่อ Intent ของ com.example.ExampleAction.BUY
    • parameters เพื่อแยกวิเคราะห์จากข้อมูลที่ผู้ใช้ป้อนเมื่อมีการเรียกให้แสดง Intent นี้ วิธีนี้มีประโยชน์หากคุณต้องการข้อมูลเฉพาะจากวลีการดำเนินการเมื่อ ผู้ใช้เรียกใช้การดำเนินการ
    • 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. ระบุ Fulfillment สำหรับ Intent นี้โดยการระบุ 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"
}