Ý định tích hợp (Dialogflow)

Ý định tích hợp là một giá trị nhận dạng duy nhất mà bạn có thể chỉ định để cho biết Trợ lý Google mà Hành động của bạn có thể đáp ứng một danh mục người dùng cụ thể yêu cầu. Ví dụ: dưới đây là một số ví dụ về truy vấn của người dùng Trợ lý sẽ so khớp với ý định tích hợp:

  • "Chơi trò chơi" ý định tích hợp: "Ok Google. Chơi một trò chơi trí nhớ"
  • "Xem tử vi" ý định tích hợp: "Ok Google. Xem tử vi cho tôi"

Trong quá trình Khám phá hành động, Trợ lý có thể sử dụng siêu dữ liệu về Hành động của bạn, bao gồm cả các ý định tích hợp mà bạn đã chỉ định, để đề xuất Hành động của bạn cho người dùng. Để giảm thiểu số lượt truyền nhận cuộc trò chuyện trọn vòng, Trợ lý cũng cố gắng quét các thông số trong truy vấn của người dùng rồi chuyển chúng đến Hành động của bạn.

Để xem danh sách đầy đủ các ý định tích hợp mà Trợ lý hỗ trợ, bao gồm các thông số và truy vấn người dùng mẫu, hãy xem Thông tin tham khảo về ý định tích hợp.

Tích hợp các ý định tích hợp

Tuỳ thuộc vào cách bạn xây dựng Hành động, có nhiều cách để tích hợp các ý định tích hợp.

Dialogflow

Nếu đang sử dụng Dialogflow để tạo Hành động, bạn có thể đính kèm một ý định tích hợp đồ hoạ trong bảng điều khiểnDialogflow.

Để đính kèm một ý định tích hợp bằng Dialogflow, hãy làm theo các bước sau:

  1. Mở bảng điều khiểnDialogflow, chọn nhân viên hỗ trợ của bạn rồi chuyển đến Màn hình Ý định.
  2. Tạo hoặc chọn ý định mà tác nhân của bạn kích hoạt khi nhận được ý định ý định tích hợp cụ thể. Mở phần Sự kiện, rồi nhấp vào Thêm Sự kiện.

    Hình 1. Thêm một sự kiện Dialogflow trong bảng điều khiển Dialogflow.
  3. Trong trường Sự kiện, nhập tên của sự kiện có ý định tích hợp cho sự kiện tác nhân người dùng (ví dụ: actions_intent_PLAY_GAME).

    Hình 2. Đính kèm ý định tích hợp cho nhân viên hỗ trợ trong bảng điều khiển Dialogflow.
  4. Nhấp vào Lưu.

SDK Hành động

Nếu đang sử dụng SDK Hành động để tạo Hành động, bạn phải chỉ định liên kết giữa ý định tích hợp và Hành động trong gói Hành động.

Để đính kèm một ý định tích hợp bằng Actions SDK, hãy làm theo các bước sau:

  1. Chỉ định ý định tích hợp vào trường tên trong định nghĩa Hành động.
  2. Tải gói hành động lên dự án Actions bằng cách sử dụng công cụ gactions, dưới dạng được mô tả trong Tổng quan về SDK Hành động.

Ví dụ: đoạn mã sau đây cho biết cách bạn có thể thêm CHECK_AIR_QUALITY ý định tích hợp:

{
   "actions":[
      {
         "description":"Default Welcome Intent",
         "name":"MAIN",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.MAIN"
         }
      },
      {
         "description":"Check Air Quality",
         "name":"CHECK_AIR_QUALITY",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.CHECK_AIR_QUALITY"
         }
      }
   ],
   "conversations":{
      "conversation_1":{
         "name":"conversation_1",
         "url":"https://example.com/fulfillment",
         "fulfillmentApiVersion":2
      }
   }
}

Xử lý các tham số ý định tích hợp sẵn

Khi Hành động của bạn được gọi thông qua một ý định tích hợp, phương thức thực hiện có thể nhận thông số bổ sung. Giản đồ ý định xác định tên của các tham số và loại của chúng dưới dạng loại nguyên gốc hoặc schema.org thực thể. Để xem giản đồ cho ý định tích hợp Hành động trò chuyện, hãy xem Thông tin tham khảo về ý định tích hợp.

Bạn không bắt buộc phải sử dụng các tham số cho ý định tích hợp. Trợ lý sẽ xử lý việc điền các tham số có giá trị nếu chúng có thể được trích xuất từ lệnh gọi của người dùng ý định tích hợp.

Ví dụ: giản đồ của actions.intent.CHECK_AIR_QUALITY tích hợp ý định xác định 4 tham số không bắt buộc:

Tên thông số Loại
attributes Một giá trị chuỗi.
location Đối tượng schema.org/Place.
temporalCoverage Đối tượng schema.org/Duration.
timeIndicator EnumeratedDuration (tiện ích dành riêng cho Google).

Đoạn mã sau đây cho thấy một ví dụ về webhook cuộc trò chuyện (JSON) yêu cầu khi người dùng gọi Hành động của bạn bằng cách nói "Chất lượng không khí như thế nào Ngày mai là San Francisco?":

"inputs":[
      {
         "intent":"actions.intent.CHECK_AIR_QUALITY",
         "rawInputs":[
            {
               "inputType":"VOICE",
               "query":"what is the air quality in san francisco tomorrow"
            }
         ],
         "arguments":[
            {
               "name":"location",
               "structuredValue":{
                  "geo":{
                     "longitude":-122.41941550000001,
                     "latitude":37.7749295
                  },
                  "@context":"https://schema.org",
                  "@type":"Place",
                  "name":"san francisco"
               }
            },
            {
               "name":"temporalCoverage",
               "rawText":"2018-04-25",
               "textValue":"2018-04-25"
            }
         ]
      }
   ]

Trong ví dụ này, tham số sẽ nhận các giá trị sau:

  • Tham số location chứa schema.org/Place cho "San Francisco".
  • Tham số temporalCoverage chứa schema.org/Duration giá trị cho ngày mai tương ứng với thời gian của lệnh gọi.
  • Không có giá trị nào cho tham số attributestimeIndicator bởi vì cụm từ gọi của người dùng không bao gồm những thông tin như vậy.

Nếu bạn sử dụng Thư viện ứng dụng Actions on Google cho Node.js, bạn có thể truy xuất giá trị của các tham số như trong đoạn mã sau:

app.intent('actions.intent.CHECK_AIR_QUALITY', (conv) => {
  const attributes = conv.arguments.get('attributes');
  const location = conv.arguments.get('location');
  const temporal_coverage = conv.arguments.get('temporalCoverage');
  Const time_indicator = conv.arguments.get('timeIndicator')

  // Your Action logic. If you need to use any of the parameter values,
  // you should check first that it is defined. Arguments.get returns
  // undefined if it can't find a value for a parameter.

});

Kiểm thử việc tích hợp với ý định tích hợp

Hãy làm theo các bước sau để kiểm tra quá trình tích hợp:

  1. Mở Trình mô phỏng thao tác khi đã bật Hành động thử nghiệm, hoặc đang mở Trợ lý trên thiết bị của bạn.
  2. Nói hoặc nhập một truy vấn liên quan đến ý định tích hợp. Ví dụ: "Tôi muốn chơi một trò chơi."
  3. Trong hộp thoại chọn ứng dụng bạn mới thấy, hãy tìm Thao tác của bạn.
  4. Chọn ứng dụng để gửi ý định đến ứng dụng đó.
Hình 3. Hộp thoại lựa chọn hành động dẫn đến
từ một cụm từ có ý định tích hợp sẵn.
Hình 4. Gọi một Hành động đính kèm với ý định tích hợp.

Các phương pháp hay nhất để sử dụng ý định tích hợp

Bạn nên làm theo các phương pháp hay nhất sau đây khi sử dụng ý định tích hợp:

  • Ánh xạ ý định tích hợp với hành động cụ thể: Khi một ý định tích hợp cụ thể kích hoạt Hành động của bạn, chuyển người dùng đến ý định cụ thể và trong Hành động của mình một cách dễ dàng nhất có thể. Cho ví dụ: nếu Hành động của bạn hỗ trợ ý định tích hợp PLAY_GAME và nhận được ý định đó, bạn cần đưa người dùng ngay lập tức đến tính năng trò chơi cho Hành động của bạn. Tránh hỏi lại người dùng xem họ có muốn chơi trò chơi hay không.
  • Xử lý các tham số ý định tích hợp: Hãy nhớ sử dụng ý định tích hợp các giá trị tham số mà Trợ lý gửi đến phương thức thực hiện của bạn. Tránh nhắc lại người dùng về các giá trị đó.