Tạo tiện ích bổ sung cho Google Chat bằng Dialogflow ES

Trang này giải thích cách tạo một ứng dụng Google Chat dưới dạng một Tiện ích bổ sung của Google Workspace sử dụng Dialogflow ES để hiểu và phản hồi ngôn ngữ tự nhiên. Bạn cũng có thể sử dụng Dialogflow CX (tích hợp trực tiếp với Google Chat) để tạo một ứng dụng Google Chat trên Dialogflow CX bằng cách làm theo hướng dẫn về Google Chat trên Dialogflow CX.

Mục tiêu

  • Thiết lập môi trường.
  • Tạo và triển khai một tác nhân Dialogflow ES.
  • Tạo và triển khai một ứng dụng Chat dựa trên tác nhân Dialogflow ES.
  • Kiểm thử ứng dụng Chat.

Điều kiện tiên quyết

Kiến trúc

Sơ đồ sau đây cho thấy cấu trúc của một ứng dụng trò chuyện được tạo bằng Dialogflow:

Cấu trúc của một ứng dụng Chat được triển khai bằng Dialogflow.

Trong sơ đồ trước, một người dùng tương tác với ứng dụng trò chuyện Dialogflow sẽ có luồng thông tin như sau:

  1. Người dùng gửi tin nhắn trong Chat cho một ứng dụng Chat, có thể là trong tin nhắn trực tiếp hoặc trong một không gian Chat.
  2. Một nhân viên hỗ trợ ảo Dialogflow (nằm trong ) sẽ nhận và xử lý tin nhắn để tạo ra phản hồi.
  3. Nếu muốn, bạn có thể sử dụng webhook Dialogflow. Nhờ đó, tác nhân Dialogflow có thể tương tác với các dịch vụ bên ngoài của bên thứ ba, chẳng hạn như hệ thống quản lý dự án hoặc công cụ phát hành vé.
  4. Tác nhân Dialogflow gửi phản hồi trở lại dịch vụ ứng dụng Chat trong Chat.
  5. Phản hồi sẽ được gửi đến phòng Chat.

Thiết lập môi trường

Trước khi sử dụng API của Google, bạn cần bật các API đó trong một dự án trên Google Cloud. Bạn có thể bật một hoặc nhiều API trong một dự án trên Google Cloud.
  1. Trong Google API Console, hãy bật Google Chat API và Dialogflow API.

    Bật các API

  2. Xác nhận rằng bạn đang bật các API trong dự án Cloud chính xác, rồi nhấp vào Tiếp theo.

  3. Xác nhận rằng bạn đang bật đúng API, sau đó nhấp vào Bật.

Tạo một nhân viên hỗ trợ dự án Dialogflow ES

Nếu bạn chưa có một tác nhân Dialogflow ES:

  1. Chuyển đến Bảng điều khiển Dialogflow ES.
  2. Nhấp vào Tạo tác nhân.
  3. Đặt tên, chọn ngôn ngữ mặc định và múi giờ.
  4. Liên kết khoá đó với dự án trên Cloud.
  5. Nhấp vào Tạo.
  6. Xây dựng ý định và thực thể khi cần cho luồng trò chuyện của ứng dụng Chat. Bạn có thể bắt đầu bằng một ý định chào hỏi.
  7. Ghi lại Mã dự án.

Để biết hướng dẫn chi tiết, hãy xem phần Tạo một tác nhân.

Tạo một ứng dụng Chat và kết nối ứng dụng đó với tác nhân Dialogflow

Sau khi tạo một tác nhân Dialogflow ES, hãy làm theo các bước sau để biến tác nhân đó thành một ứng dụng trò chuyện:

  1. Trong Google API Console, hãy chuyển đến Google Chat API. Tìm "Google Chat API" rồi nhấp vào Google Chat API, sau đó nhấp vào Quản lý.

    Chuyển đến Chat API

  2. Nhấp vào Configuration (Cấu hình) rồi thiết lập ứng dụng Chat:

    1. Trong phần Tên ứng dụng, hãy nhập Dialogflow App.
    2. Trong URL hình đại diện, hãy nhập https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.
    3. Trong phần Nội dung mô tả, hãy nhập Responds to real human conversation.
    4. Trong phần Chức năng, hãy chọn Tham gia không gian và cuộc trò chuyện nhóm.
    5. Trong phần Cài đặt kết nối, hãy chọn Dialogflow.
    6. Trong phần Cài đặt Dialogflow, hãy chọn Dialogflow ES.
    7. Cung cấp ứng dụng Chat này cho những người và nhóm cụ thể trong miền của bạn rồi nhập địa chỉ email của bạn.
    8. Trong mục Nhật ký, hãy chọn Ghi lỗi vào Nhật ký.
  3. Nhấp vào Lưu.

Ứng dụng Chat đã sẵn sàng nhận và trả lời tin nhắn trên Chat.

Kiểm thử ứng dụng Chat

Kiểm thử ứng dụng Chat Dialogflow ES bằng cách nhắn tin cho ứng dụng này trong Google Chat.

  1. Mở Google Chat bằng tài khoản Google Workspace mà bạn đã cung cấp khi thêm chính mình làm người kiểm thử tin cậy.

    Chuyển đến Google Chat

  2. Nhấp vào biểu tượng Cuộc trò chuyện mới.
  3. Trong trường Thêm một hoặc nhiều người, hãy nhập tên của ứng dụng Chat.
  4. Chọn ứng dụng Chat trong kết quả. Một tin nhắn trực tiếp sẽ mở ra.

  5. Trong tin nhắn trực tiếp mới với ứng dụng, hãy nhập Hello rồi nhấn enter.

    Ứng dụng Chat của Dialogflow sẽ phản hồi bằng một tin nhắn chào.

Phản hồi bằng văn bản

Phản hồi bằng văn bản sẽ được gửi đến Google Chat dưới dạng Tin nhắn văn bản. Với định dạng này, bạn có thể in đậm hoặc in nghiêng văn bản bằng cách đặt văn bản trong một số ký hiệu nhất định (markdown light).

Phản hồi bằng tin nhắn văn bản có giao diện giống với Phản hồi bằng văn bản mặc định trong Bảng điều khiển Dialogflow. Tuy nhiên, phản hồi API thô sẽ hơi khác. Thao tác này cũng đặt cấu hình nền tảng thành GOOGLE_HANGOUTS. Đây có thể là một thông tin thú vị khi bạn tạo các tác nhân cho nhiều hoạt động tích hợp.

"fulfillmentMessages": [
{
   "text": {
   "text": [
        "This is a test."
   ]
},
  "platform": "GOOGLE_HANGOUTS"
},

Thẻ

Phản hồi bằng thẻ được gửi đến Google Chat dưới dạng Tin nhắn dạng thẻ.

Hình ảnh

Câu trả lời bằng hình ảnh được gửi đến Google Chat dưới dạng Tiện ích hình ảnh của Google Chat.

Tải trọng tuỳ chỉnh

Để gửi các loại tin nhắn khác trên Google Chat, bạn có thể sử dụng tải trọng tuỳ chỉnh.

Google Chat Custom Payload cho phép bạn tạo các thẻ nâng cao hơn. Một thẻ có thể có một hoặc nhiều phần. Mỗi phần có thể có một tiêu đề. Bạn có thể xem hướng dẫn tham khảo về tiện ích bổ sung của Google Workspace mở rộng thẻ Chat để xem một số tổ hợp mà bạn có thể tạo bằng tiện ích này. Tuy nhiên, việc sử dụng tải trọng tuỳ chỉnh có nghĩa là bạn sẽ phải cung cấp định dạng JSON.

Dưới đây là ví dụ về tải trọng tuỳ chỉnh để tạo một thông báo có thẻ:

{ "hangouts": { "hostAppDataAction": { "chatDataAction": {
  "createMessageAction": { "message": { "cardsV2": [{
    "cardId": "pizza",
    "card": {
      "header": {
        "title": "Pizza Delivery Customer Support",
        "subtitle": "pizzadelivery@example.com",
        "imageUrl": "https://goo.gl/aeDtrS"
      },
      "sections": [{ "widgets": [{ "textParagraph": {
        "text": " Your pizza is here!"
      }}]}]
    }
  }]}}
}}}}

Giới hạn và điểm cần cân nhắc

  • Khi sử dụng tiện ích bổ sung Google Workspace với Dialogflow, Đối tượng sự kiện trò chuyện có những hạn chế và điểm cần lưu ý sau:
    • Sự kiện trên trang chủ của ứng dụng: Chúng tôi hiện chưa hỗ trợ sự kiện APP_HOME.
    • Đầu vào truy vấn Dialogflow: Văn bản được gửi dưới dạng đầu vào truy vấn đến tác nhân Dialogflow tuỳ thuộc vào loại sự kiện:
      • MESSAGE: Giá trị của trường argumentText trong tin nhắn trò chuyện.
      • APP_COMMAND: Chuỗi "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE: Một sự kiện chào mừng mặc định sẽ được gửi.
      • REMOVED_FROM_SPACE: Chuỗi "REMOVED_FROM_SPACE_PAYLOAD".
      • CARD_CLICKED: Chuỗi "BUTTON_CLICKED_PAYLOAD".
      • WIDGET_UPDATED: Chuỗi "WIDGET_UPDATED_PAYLOAD" (dùng cho tính năng tự động hoàn thành).
    • Tải trọng sự kiện đầy đủ: Tải trọng JSON đầy đủ của sự kiện Tương tác qua tin nhắn trò chuyện sẽ được gửi đến Dialogflow trong trường WebhookRequest.payload. Bạn có thể truy cập vào phần này trong webhook Dialogflow. Để biết thêm thông tin, hãy xem tài liệu về yêu cầu webhook Dialogflow ES.
  • Những điều cần cân nhắc khi phản hồi lệnhnhận dữ liệu từ thẻ hoặc hộp thoại:
  • Tính năng xem trước đường liên kết không được hỗ trợ.
  • Nếu tác nhân Dialogflow chỉ phản hồi bằng một thông báo, thì thông báo đó sẽ được gửi đến Google Chat một cách đồng bộ. Nếu tác nhân Dialogflow phản hồi bằng nhiều tin nhắn, thì tất cả các tin nhắn sẽ được gửi đến Chat không đồng bộ bằng cách gọi phương thức create trên tài nguyên spaces.messages trong Chat API một lần cho mỗi tin nhắn.
  • Khi sử dụng tính năng tích hợp Dialogflow ES với Chat, bạn phải thiết lập tác nhân Dialogflow và ứng dụng Chat trong cùng một dự án Google Cloud.

Khắc phục sự cố

Để gỡ lỗi cho ứng dụng Chat, hãy bắt đầu bằng cách xem xét nhật ký lỗi. Vì ứng dụng này sử dụng Dialogflow, nên bạn có thể sử dụng một số tài nguyên ghi nhật ký và khắc phục sự cố sau:

Dọn dẹp

Để tránh phát sinh phí cho tài khoản của bạn đối với các tài nguyên được dùng trong hướng dẫn này, bạn nên xoá dự án trên Cloud.

  1. Trong Google API Console, hãy chuyển đến trang Quản lý tài nguyên. Nhấp vào Trình đơn > IAM và Quản trị viên > Quản lý tài nguyên.

    Chuyển đến Resource Manager

  2. Trong danh sách dự án, hãy chọn dự án bạn muốn xoá rồi nhấp vào biểu tượng Xoá .
  3. Trong hộp thoại, hãy nhập mã dự án rồi nhấp vào Tắt để xoá dự án.
  • Dialogflow CX là một cách khác để sử dụng Dialogflow với một ứng dụng Chat.