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

Trang này giải thích cách xây dựng một ứng dụng Google Chat dưới dạng Tiện ích bổ sung 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) để xây dựng một ứng dụng Google Chat bằng Dialogflow CX bằng cách làm theo hướng dẫn về ứng dụng Google Chat bằng Dialogflow CX.

Mục tiêu

  • Thiết lập môi trường.
  • Tạo và triển khai một nhân viên hỗ trợ ảo Dialogflow ES.
  • Tạo và triển khai một ứng dụng Chat do nhân viên hỗ trợ ảo Dialogflow ES cung cấp.
  • 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 kiến trúc của một ứng dụng Chat được xây dựng 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 Chat bằng Dialogflow có luồng thông tin như sau:

  1. Người dùng gửi tin nhắn trong Chat đến một ứng dụng Chat, thông qua tin nhắn trực tiếp hoặc trong một không gian trên Chat.
  2. Một nhân viên hỗ trợ ảo Dialogflow nằm trong , nhận và xử lý tin nhắn để tạo ra một câu trả lời.
  3. Tuỳ ý, bằng cách sử dụng a webhook Dialogflow, nhân viên hỗ trợ ảo Dialogflow có thể tương tác với các dịch vụ bên thứ ba bên ngoài, chẳng hạn như hệ thống quản lý dự án hoặc công cụ tạo phiếu yêu cầu hỗ trợ.
  4. Nhân viên hỗ trợ ảo Dialogflow gửi câu trả lời trở lại dịch vụ ứng dụng Chat trong Chat.
  5. Câu trả lời đượ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 API Google Chat và API Dialogflow.

    Bật các API

  2. Xác nhận rằng bạn đang bật các API trong dự án trên đám mây chính xác, sau đó nhấp vào Tiếp theo.

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

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

Nếu bạn không có nhân viên hỗ trợ ảo Dialogflow ES hiện có:

  1. Chuyển đến Bảng điều khiển Dialogflow ES.
  2. Nhấp vào Tạo nhân viên hỗ trợ ảo.
  3. Đặt tên, chọn ngôn ngữ mặc định và múi giờ.
  4. Liên kết với dự án trên đám mây của bạn.
  5. Nhấp vào Tạo.
  6. Xây dựng ý định và thực thể theo nhu cầu cho luồng đàm thoại 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 bài viết Xây dựng nhân viên hỗ trợ ảo.

Tạo một ứng dụng Chat và kết nối ứng dụng đó với nhân viên hỗ trợ ảo Dialogflow

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

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

    Chuyển đến API Chat

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

    1. Trong 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 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. Make this Chat app available to specific people and groups (Cho phép ứng dụng Chat này hoạt động 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 phần Nhật ký, hãy chọn Ghi lỗi vào Cloud Logging.
  3. Nhấp vào Lưu.

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

Kiểm thử ứng dụng Chat

Kiểm thử ứng dụng Chat bằng Dialogflow ES bằng cách nhắn tin cho ứng dụng đó 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ử đáng tin cậy.

    Chuyển đến Google Chat

  2. Nhấp vào Cuộc trò chuyện mới.
  3. Trong trường Thêm 1 người trở lên, hãy nhập tên ứng dụng Chat của bạn.
  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 bằng Dialogflow sẽ phản hồi bằng một tin nhắn chào hỏi.

Tin nhắn phản hồi

Tin nhắn phản hồi đượ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 (markdown light).

Tin nhắn phản hồi văn bản có hình thức giống như Tin nhắn phản hồi 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ẽ có hình thức hơi khác. Phản hồi này cũng đặt cấu hình nền tảng thành GOOGLE_HANGOUTS, có thể hữu ích khi xây dựng nhân viên hỗ trợ ảo cho nhiều tính năng tích hợp.

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

Thẻ

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

Hình ảnh

Tin nhắn phản hồi dạ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 của Google Chat, bạn có thể sử dụng tải trọng tuỳ chỉnh.

Tải trọng tuỳ chỉnh của Google Chat 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ề cách tiện ích bổ sung Google Workspace mở rộng thẻ Chat để xem một số tổ hợp mà bạn có thể tạo bằng cá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 tin nhắn 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à lưu ý

  • Khi sử dụng tiện ích bổ sung Google Workspace với Dialogflow, các đối tượng sự kiện Chat có những giới hạn và lưu ý sau:
    • Sự kiện Trang chủ ứng dụng: Hiện chưa hỗ trợ sự kiện APP_HOME.
    • Truy vấn đầu vào Dialogflow: Văn bản được gửi dưới dạng truy vấn đầu vào đến nhân viên hỗ trợ ảo Dialogflow phụ thuộc vào loại sự kiện:
      • MESSAGE: Giá trị của trường argumentText từ tin nhắn Chat.
      • APP_COMMAND: Chuỗi "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE: Một sự kiện chào mừng mặc định đượ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 trên Chat đượ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.
  • Lưu ý khi phản hồi các lệnhnhận dữ liệu từ thẻ hoặc hộp thoại:
    • Nếu cần xử lý tải trọng JSON của sự kiện tương tác trên Chat, nhân viên hỗ trợ ảo Dialogflow có thể thực hiện việc này bằng cách sử dụng webhook Dialogflow để kiểm tra tải trọng tuỳ chỉnh trong tham số truy vấn.
    • Để hiển thị một hộp thoại từ Nhân viên hỗ trợ ảo Dialogflow, hãy phản hồi bằng một tải trọng JSON tuỳ chỉnh duy nhất chứa một RenderActions đối tượng có tính năng điều hướng pushCard.
    • Để xử lý dữ liệu được nhập từ thẻ, bạn có thể sử dụng một webhook Dialogflow và phản hồi bằng một tải trọng JSON tuỳ chỉnh duy nhất chứa hành động thích hợp.
  • Không hỗ trợ bản xem trước đường liên kết.
  • Nếu nhân viên hỗ trợ ảo Dialogflow chỉ phản hồi bằng một tin nhắn, thì tin nhắn đó sẽ được gửi đến Google Chat một cách đồng bộ. Nếu nhân viên hỗ trợ ảo Dialogflow phản hồi bằng nhiều tin nhắn, thì tất cả tin nhắn sẽ được gửi đến Chat một cách không đồng bộ bằng cách gọi create phương thức trên tài nguyên spaces.messages trong API Chat 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 trên Google Cloud.

Khắc phục sự cố

Để gỡ lỗi ứ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ó một số tài nguyên ghi nhật ký và khắc phục sự cố:

Dọn dẹp

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

  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ị > Quản lý tài nguyên.

    Chuyển đến Trình quản lý tài nguyên

  2. Trong danh sách dự án, hãy chọn dự án mà 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 ứng dụng Chat.