Tạo một ứng dụng Google Chat cho dự án Dialogflow CX có khả năng hiểu và phản hồi bằng ngôn ngữ tự nhiên

Trang này giải thích cách tạo một ứng dụng Google Chat có thể vừa hiểu vừa trả lời bằng ngôn ngữ tự nhiên thông qua Dialogflow. Hướng dẫn này sử dụng Dialogflow CX (được tích hợp trực tiếp với Google Chat). Bạn cũng có thể dùng Dialogflow ES để tạo ứng dụng Google Chat bằngDialogflow ES bằng cách làm theo hướng dẫn Dialogflow ES Google Chat.

Ví dụ: hãy xem xét một ứng dụng Chat giúp mọi người thuê ô tô. Người dùng có thể viết: "Tôi muốn thuê một chiếc xe ô tô". Ứng dụng Chat có thể trả lời bằng một câu hỏi như "Bạn muốn nhận xe ở đâu?" Khi đó, ứng dụng Chat sẽ bắt đầu một cuộc trò chuyện giống như con người với người dùng, trong đó ứng dụng Chat có thể hiểu và trả lời bằng lời nói của con người khi đặt thuê xe.

Đây chỉ là một ví dụ. Các ứng dụng Dialogflow trong Chat hữu ích trong mọi loại tương tác. Nếu cần có lời nói tự nhiên, công cụ này cần có một ứng dụng Chatflow. Các nhân viên hỗ trợ tạo sẵn giúp bạn bắt đầu nhanh chóng và cho thấy những việc mà Dialogflow có thể làm, chẳng hạn như:

  • Đặt vé máy bay
  • Đặt lịch hẹn với bác sĩ
  • Đặt giao đồ ăn
  • Trả lời các câu hỏi về danh mục sản phẩm bán lẻ, chẳng hạn như liệu mặt hàng có ở các màu khác không
  • Trang chọn tác nhân Dialogflow được tạo sẵn.
    Hình 1. Chọn một nhân viên hỗ trợ tạo sẵn cho ứng dụng Dialogflow Chat.
  • Thử nghiệm nhân viên hỗ trợ trong Dialogflow CX.
    Hình 2. Kiểm thử nhân viên hỗ trợ trong Dialogflow CX để đảm bảo logic và cấu hình của nhân viên hỗ trợ hoạt động như dự kiến. Sơ đồ này cho thấy một loạt các trang chủ đề theo tuần tự liên quan đến các bước cụ thể trong cuộc trò chuyện, chẳng hạn như đặt vị trí nhận xe và trả lại xe cho thuê ô tô, đồng thời định cấu hình logic kết nối các trang này. Cuộc trò chuyện được kiểm tra trong một trình mô phỏng.
  • Định cấu hình ứng dụng Dialogflow trong Chat.
    Hình 3. Thiết lập một ứng dụng trong Chat để xử lý câu trả lời bằng tác nhân Dialogflow CX trên trang cấu hình API Chat trong bảng điều khiển Google Cloud.
  • Kiểm thử ứng dụng Dialogflow CX Chat
    Hình 4. Trò chuyện về việc đặt thuê xe bằng ứng dụng Dialogflow Chat trong Google Chat.

Mục tiêu

  • Thiết lập môi trường.
  • Tạo và triển khai nhân viên hỗ trợ Dialogflow CX.
  • Tạo và triển khai ứng dụng Chat do tác nhânDialogflow CX hỗ trợ.
  • Kiểm thử ứng dụng Chat.

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

Cấu trúc

Sơ đồ dưới đây cho thấy cấu trúc của một ứng dụng Chat được tạo bằng Dialogflow:

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

Trong biểu đồ trước, một người dùng tương tác với ứng dụng Dialogflow Chat có luồng thông tin sau đây:

  1. Người dùng gửi tin nhắn trong Chat tới ứng dụng Chat, trong tin nhắn trực tiếp hoặc trong phòng Chat.
  2. Một nhân viên hỗ trợ ảo Dialogflow, nằm trong Google Cloud, sẽ tiếp nhận và xử lý tin nhắn để tạo phản hồi.
  3. Nếu muốn, bạn có thể sử dụng webhook của Dialogflow : 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ụ bán vé.
  4. Nhân viên hỗ trợ Dialogflow sẽ gửi phản hồi lại cho 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 các API của Google, bạn cần bật các API này 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 Google Cloud.
  1. Trong bảng điều khiển Google Cloud, hãy bật API Google Chat và API Dialogflow.

    Bật API

  2. Xác nhận rằng bạn đang bật các API trong đúng dự án trên Google Cloud, sau đó 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 nhân viên hỗ trợ Dialogflow CX

Tác nhânDialogflow CX là một tác nhân ảo xử lý các cuộc trò chuyện đồng thời với người dùng cuối. Đó là một mô-đun hiểu ngôn ngữ tự nhiên hiểu được sắc thái của ngôn ngữ của con người. Dialogflow dịch văn bản của người dùng cuối trong cuộc trò chuyện sang dữ liệu có cấu trúc mà các ứng dụng và dịch vụ của bạn có thể hiểu được. Bạn thiết kế và xây dựng một nhân viên hỗ trợ Dialogflow để xử lý các loại cuộc trò chuyện cần thiết cho hệ thống của mình.

Nhân viên hỗ trợ Dialogflow cũng giống như một nhân viên hỗ trợ tổng đài. Bạn sẽ huấn luyện cả hai cách xử lý các tình huống trò chuyện dự kiến và chương trình huấn luyện của bạn không cần phải quá rõ ràng.

Dưới đây là cách tạo nhân viên hỗ trợ Dialogflow CX:

  1. Trong bảng điều khiển Dialogflow CX, hãy mở Bảng điều khiển Dialogflow CX. Nhấp vào biểu tượng Trình đơn > Dialogflow CX.

    Chuyển đến bảng điều khiển Dialogflow CX

  2. Chọn một dự án trên Google Cloud. Để tìm dự án của mình, bạn có thể phải nhấp vào All (Tất cả) rồi tìm kiếm dự án đó.

  3. Giờ đây, bạn có thể chọn một tác nhân tạo sẵn hoặc tạo tác nhân của riêng mình. Nếu bạn muốn tìm hiểu chi tiết về việc tuỳ chỉnh tác nhân, hãy chọn một trong các tác nhân tạo sẵn. Bạn cũng nên tìm hiểu về những tác nhân có thể làm.

    Để chọn một tác nhân tạo sẵn, hãy làm theo các bước sau:

    1. Nhấp vào Sử dụng nhân viên hỗ trợ tạo sẵn.
    2. Chọn một tác nhân tạo sẵn. Để xem hướng dẫn này, hãy chọn Du lịch: cho thuê ô tô.

      Nhân viên hỗ trợ được đánh giá là mới bắt đầu, trung cấp hoặc nâng cao dựa trên số lượng tính năng mà nhân viên hỗ trợ sử dụng và mức độ phức tạp của logic trò chuyện. Để chọn được một nhân viên hỗ trợ trung gian hoặc nâng cao, bạn có thể phải tuỳ chỉnh và cài đặt dành riêng cho nhân viên hỗ trợ, bao gồm cả việc bật các tính năng và API trong bảng điều khiển Google Cloud.

    3. Nhấp vào Nhập dưới dạng nhân viên hỗ trợ.

    Để tạo nhân viên hỗ trợ của riêng bạn, hãy làm theo các bước sau:

    1. Nhấp vào Tạo nhân viên hỗ trợ.
    2. Chọn Auto-generate (Tự động tạo) để tạo tác nhân kho dữ liệu hoặc chọn Tạo tác nhân của riêng bạn để tạo các loại tác nhân người dùng khác.

    Để biết hướng dẫn từng bước chi tiết về quy trình xây dựng nhân viên hỗ trợ, hãy xem bài viết Tạo nhân viên hỗ trợ Dialogflow CX.

  4. Định cấu hình các chế độ cài đặt tác nhân cơ bản:

    1. Trong Tên hiển thị, hãy nhập một tên hiển thị.
    2. Chọn vị trí mà bạn muốn. Nếu bạn muốn thay đổi chế độ cài đặt vị trí nâng cao, hãy nhấp vào Chỉnh sửa.
    3. Chọn múi giờ bạn muốn.
    4. Chọn ngôn ngữ mặc định cho nhân viên hỗ trợ. Bạn không thể thay đổi ngôn ngữ mặc định cho nhân viên hỗ trợ sau khi tạo.
  5. Nhấp vào Tạo. Dialogflow CX bắt đầu tạo nhân viên hỗ trợ, sau đó hiển thị quy trình bắt đầu mặc định của nhân viên hỗ trợ.

  6. Bạn có thể tuỳ chỉnh nhân viên hỗ trợ (không bắt buộc). Để biết hướng dẫn chi tiết về quy trình tuỳ chỉnh nhân viên hỗ trợ, hãy xem phần Tạo nhân viên hỗ trợ Dialogflow CX.

  7. Phương pháp hay nhất là kiểm thử tác nhân:

    1. Nhấp vào Nhân viên thử nghiệm.
    2. Chọn Kiểm thử nhân viên trong môi trường.
    3. Trong Môi trường, hãy chọn Bản nháp.
    4. Trong Flow, hãy chọn Default Start Flow (Luồng bắt đầu mặc định).
    5. Trong trang, chọn Trang chủ.
    6. Trong thanh soạn tin nhắn Trò chuyện với nhân viên hỗ trợ, hãy nhập Hello rồi nhấn phím Enter. Nhân viên hỗ trợ phản hồi bằng cách tự giới thiệu.
    7. Hoàn thành bài kiểm thử bằng cách thực hiện mẫu cuộc trò chuyện để kiểm thử.
  8. Nhân viên hỗ trợ Dialogflow CX đã được tạo. Quay lại bảng điều khiển Dialogflow CX. Nhấp vào biểu tượng Trình đơn > Dialogflow CX.

    Chuyển đến bảng điều khiển Dialogflow CX

  9. Trong phần Nhân viên hỗ trợ, hãy nhấp vào > Sao chép tên. Lưu tên này để bạn sử dụng khi định cấu hình ứng dụng Chat.

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

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

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

    Truy cập 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 phần Mô tả, hãy nhập Responds to real human conversation.
    4. Trong phần Chức năng, hãy chọn Nhận tin nhắn 1:1Tham gia không gian và cuộc trò chuyện nhóm.
    5. Trong phần Connection settings (Cài đặt kết nối), hãy chọn Dialogflow.
    6. Trong phần Dialogflow settings (Cài đặt Dialogflow), hãy chọn Dialogflow CX.
    7. Trong phần Tên tài nguyên nhân viên hỗ trợ hoặc Môi trường, hãy dán tên nhân viên hỗ trợ Dialogflow CX mà bạn đã sao chép ở cuối phần Tạo tác nhân Dialogflow CX.
    8. Cung cấp ứng dụng Chat này cho những người và nhóm cụ thể trong miền và nhập địa chỉ email của bạn.
    9. Trong Logs (Nhật ký), hãy chọn Log lỗi to Logging (Ghi nhật ký 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 Dialogflow CX Chat 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 tự thêm chính mình làm người kiểm tra đáng tin cậy.

    Truy cập Google Chat

  2. Nhấp vào Cuộc trò chuyện mới.
  3. Trong trường Thêm 1 hoặc nhiều người, hãy nhập tên ứng dụng của bạn trong Chat.
  4. Chọn ứng dụng Chat của bạn 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 Dialogflow Chat phản hồi bằng cách tự giới thiệu.

  6. Hoàn thành kiểm thử bằng cách thực hiện mẫu cuộc trò chuyện để kiểm thử.

Ví dụ về cuộc trò chuyện thử nghiệm

Để kiểm thử ứng dụng Dialogflow CX Chat trong bảng điều khiển Dialogflow CX hoặc trong Google Chat, hãy trò chuyện sau. Nội dung giải thích này giúp bạn hiểu cách tác nhân Dialogflow CX diễn giải ngôn ngữ tự nhiên của người dùng và tạo ra phản hồi bằng ngôn ngữ tự nhiên của riêng công cụ này ở mỗi bước trong cuộc trò chuyện. Cuộc trò chuyện mẫu này dựa trên nhân viên hỗ trợ tạo sẵn có tên là Du lịch: cho thuê ô tô.

Hộp thoại Giải thích
Người dùng cuối: Xin chào
Nhân viên hỗ trợ: Xin chào! Tôi là đại lý cho thuê ô tô ảo. Tôi có thể giúp bạn bắt đầu đặt thuê xe ô tô mới. Tôi có thể hỗ trợ gì cho bạn hôm nay?
  1. Tuyến Ý định chào mừng mặc định trong Luồng bắt đầu mặc định sẽ được gọi.
  2. Phương thức thực hiện cho trình xử lý trạng thái này ("Xin chào! Tôi là...") sẽ được thêm vào hàng đợi phản hồi.
  3. Nhân viên hỗ trợ gửi hàng đợi phản hồi cho người dùng cuối.
Người dùng cuối: Tôi muốn thuê một chiếc ô tô.
Nhân viên hỗ trợ: Bạn muốn lấy xe ở đâu?
  1. Tuyến ý định car_rental.reservation_create trong Trang chủ đã được so khớp.
  2. Phiên chuyển đổi sang trang Vị trí đến lấy hàng.
  3. Biểu mẫu trên trang Vị trí đến lấy hàng chưa hoàn chỉnh, nên nhân viên hỗ trợ sẽ sử dụng thông số pickup_location để nhắc người dùng ("Bạn muốn đến lấy hàng ở đâu..."), sẽ được thêm vào hàng đợi phản hồi.
  4. Nhân viên hỗ trợ gửi hàng đợi phản hồi cho người dùng cuối.
Người dùng cuối: Las Vegas
Nhân viên hỗ trợ: Được rồi, bạn sẽ đến lấy hàng tại Las Vegas.
Nhân viên hỗ trợ: Địa điểm trả xe của bạn có khác với vị trí đến lấy hàng không?
  1. Thông tin do người dùng cuối nhập sẽ điền thông số pickup_location do nhân viên hỗ trợ yêu cầu trong lượt trò chuyện trước đó.
  2. Tuyến ý định car_rental.return_different_location trong Luồng bắt đầu mặc định được khớp.
  3. Tuyến đường hoàn thành biểu mẫu trên trang Vị trí đến lấy hàng sẽ được đánh giá và gọi. Phương thức này có phương thức thực hiện ("Ok, lấy hàng của bạn..."), được thêm vào hàng đợi phản hồi với các thông số tham chiếu được phân giải thành giá trị thực tế do người dùng cuối cung cấp.
  4. Phiên chuyển đổi sang trang Xác nhận vị trí.
  5. Trang Xác nhận vị trí có phương thức thực hiện mục nhập ("Địa điểm trả khách có khác..."), sẽ được thêm vào hàng đợi phản hồi.
  6. Nhân viên hỗ trợ gửi hàng đợi phản hồi cho người dùng cuối.
Người dùng cuối: Có. Tôi sẽ gửi xe ở Los Angeles.
Nhân viên hỗ trợ: Được rồi, bạn sẽ trả xe ở Los Angeles.
Nhân viên hỗ trợ: Bạn muốn đón xe vào ngày và giờ nào?
  1. Tuyến ý định car_rental.return_different_location trong Luồng bắt đầu mặc định được khớp.
  2. Phiên chuyển đổi sang trang Vị trí thả xuống.
  3. Thông tin đầu vào của người dùng cuối sẽ điền thông số drop_off_location mà nhân viên hỗ trợ yêu cầu trong lượt trò chuyện trước đó.
  4. Tuyến đường hoàn thành biểu mẫu trên trang Vị trí thả xuống sẽ được đánh giá và gọi. Lệnh này có phương thức thực hiện ("Ok, bạn đã thả..."), phương thức này được thêm vào hàng đợi phản hồi.
  5. Phiên hoạt động này sẽ chuyển sang trang Thời lượng thuê.
  6. Trang Thời lượng thuê có các giá trị biểu mẫu chưa hoàn chỉnh, vì vậy, trang này nhắc người dùng cung cấp thông số pickup_date_time ("Bạn muốn đến lấy ngày và giờ nào..."), sẽ được thêm vào hàng đợi phản hồi.
  7. Nhân viên hỗ trợ gửi hàng đợi phản hồi cho người dùng cuối.
Người dùng cuối: Tôi muốn nhận xe vào trưa ngày 5 tháng 3.
Nhân viên hỗ trợ: Bạn muốn trả xe vào ngày và giờ nào?
  1. Thông tin do người dùng cuối nhập sẽ điền thông số pickup_date_time mà nhân viên hỗ trợ yêu cầu trong lượt trò chuyện trước đó.
  2. Trang Thời lượng thuê bị thiếu một giá trị biểu mẫu khác, vì vậy, trang này nhắc người dùng nhập thông số drop_off_date_time ("Bạn muốn trả lại ngày và giờ nào..."), sẽ được thêm vào hàng đợi phản hồi.
  3. Nhân viên hỗ trợ gửi hàng đợi phản hồi cho người dùng cuối.
Người dùng cuối: Trưa ngày 15 tháng 3.
Nhân viên hỗ trợ: Xin xác nhận rằng:

Bạn sẽ đến lấy xe tại Las Vegas 12:00:00-2024-05-2024 và giao xe tại Los Angeles 2024-03-15 12:00:00

Có đúng không?
  1. Thông tin đầu vào của người dùng cuối sẽ điền vào thông số drop_off_date_time mà nhân viên hỗ trợ yêu cầu trong lượt trò chuyện trước đó.
  2. Phiên chuyển đổi sang trang Xác nhận thời lượng thuê.
  3. Trang Xác nhận thời lượng cho thuê có phương thức thực hiện mục nhập ("Để xác nhận..."), sẽ được thêm vào hàng đợi phản hồi.
  4. Nhân viên hỗ trợ gửi hàng đợi phản hồi cho người dùng cuối.
Người dùng cuối: Đúng vậy, cảm ơn bạn.
Nhân viên hỗ trợ: Tuyệt vời! Bây giờ, hãy chọn một chiếc xe.
Nhân viên hỗ trợ: Bạn muốn mua xe hạng phổ thông hay sang trọng?
  1. Tuyến ý định small_talk.confirmation.yes trên trang small_talk.confirmation.yes đã được so khớp.
  2. Nhân viên hỗ trợ xác nhận lựa chọn của người dùng bằng một thông báo ("Tuyệt vời! Bây giờ, hãy chọn..."), sẽ được thêm vào hàng đợi phản hồi.
  3. Phiên này chuyển sang trang Phân biệt xe.
  4. Biểu mẫu trang Phân định xe chưa hoàn chỉnh, nên nhân viên hỗ trợ sẽ sử dụng thông số vehicle_type để nhắc người dùng ("Bạn muốn xe hạng phổ thông hay xe sang..."), sẽ được thêm vào hàng đợi phản hồi.
  5. Nhân viên hỗ trợ gửi hàng đợi phản hồi cho người dùng cuối.
Người dùng cuối: Tiết kiệm.
Nhân viên hỗ trợ: Bạn muốn xe chũm chọe hay xe chũm chọe?
  1. Tuyến ý định $session.params.vehicle_type="economy_vehicle" đã được so khớp.
  2. Phiên chuyển đổi sang trang Lựa chọn tiết kiệm.
  3. Trang Lựa chọn tiết kiệm có phương thức thực hiện mục nhập ("Bạn có muốn..."), sẽ được thêm vào hàng đợi phản hồi.
  4. Nhân viên hỗ trợ gửi hàng đợi phản hồi cho người dùng cuối.
Người dùng cuối: Xe tải chũm chọe.
Nhân viên hỗ trợ: Cymbal Xe tải có giá 50,33 USD mỗi ngày. Xe có đủ chỗ cho 4 người và có đài AM/FM. Bạn có muốn tiếp tục sang bước thanh toán không?
Người dùng cuối: Có.
  1. Tuyến ý định $session.params.vehicle_type="Cymbal load" đã được so khớp và tham số vehicle_model được điền.
  2. Phiên chuyển đổi sang trang Xác nhận xe tải Cymbal.
  3. Trang Xác nhận xe tải Cymbal có phương thức thực hiện mục nhập ("Cymbal Xe tải có giá $50,33 mỗi ngày..."), sẽ được thêm vào hàng đợi phản hồi.
  4. Nhân viên hỗ trợ gửi hàng đợi phản hồi cho người dùng cuối.
  5. Phản hồi của người dùng khớp với tuyến đường small_talk.confirmation.yes.
Nhân viên hỗ trợ: Bạn sẽ dùng loại thẻ nào?
Người dùng cuối: Altostrat
Nhân viên hỗ trợ: Vui lòng nhập số thẻ.
Người dùng cuối: 1234 1234 1234 1234
Nhân viên hỗ trợ: Thẻ trên thẻ có tên là gì?
Người dùng cuối: Charlie
Nhân viên hỗ trợ: Địa chỉ đường phố thanh toán là gì?
Người dùng cuối: 1800 Amphibious Blvd. Mountain View, CA
Nhân viên hỗ trợ: Mã bưu chính thanh toán là gì?
Người dùng cuối: 94045
Nhân viên hỗ trợ: Bạn sẽ đến lấy chiếc Cymbal Car tại Las Vegas, 12:00:00 ngày 03/03/2024 và giao xe, 12:00:00 ngày 15/3/2024. Tổng số tiền cho chuyến đi này là 175,38 đô la Mỹ.
Nhân viên hỗ trợ: Cảm ơn bạn đã thuê dịch vụ của chúng tôi và chúc bạn một ngày tốt lành!
  1. Phiên hoạt động này sẽ chuyển sang trang Thanh toán.
  2. Biểu mẫu Thanh toán chưa hoàn chỉnh nên đại lý sẽ nhắc người dùng cung cấp các thông số card_type, card_number, billing_name, billing_street_address, và billing_zip_code ("Loại thẻ nào sẽ..."), được thêm tuần tự vào hàng đợi phản hồi và được gửi khi người dùng phản hồi. Các câu trả lời của người dùng đặt ra từng giá trị thông số.
  3. Phiên hoạt động này sẽ chuyển sang trang Xác nhận cho thuê.
  4. Trang Xác nhận thuê có phương thức thực hiện mục nhập ("Ok, bạn sẽ đến lấy hàng..."), sẽ được thêm vào hàng đợi phản hồi.
  5. Nhân viên hỗ trợ gửi hàng đợi phản hồi cho người dùng cuối.
  6. Phiên sẽ chuyển đổi sang trang Kết thúc phiên.

Gửi tin nhắn thẻ từ Dialogflow

Dialogflow có thể phản hồi bằng tin nhắn văn bản hoặc thẻ. Để phản hồi bằng thông báo thẻ, hãy chỉ định thông báo đó là một tải trọng tuỳ chỉnh để phương thức thực hiện.

JSON sau đây cho biết cách gửi thông báo thẻ dưới dạng một tải trọng tuỳ chỉnh khi thực hiện:

json

{
  'cardsV2': [{
    'cardId': 'createCardMessage',
    'card': {
      'header': {
        'title': 'A card message!',
        'subtitle': 'Sent from Dialogflow',
        'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
        'imageType': 'CIRCLE'
      },
      'sections': [
        {
          'widgets': [
            {
              'buttonList': {
                'buttons': [
                  {
                    'text': 'Read the docs!',
                    'onClick': {
                      'openLink': {
                        'url': 'https://developers.google.com/workspace/chat'
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  }]
}

Giới hạn và cân nhắc

  • Sự kiện tương tác trong cuộc trò chuyện chỉ được hỗ trợ hạn chế và bạn cần cân nhắc một số điểm sau:
    • Các loại sự kiện tương tác sau đây được hỗ trợ:
      • MESSAGE
      • ADDED_TO_SPACE
      • CARD_CLICKED
    • Đối với các sự kiện MESSAGE hoặc ADDED_TO_SPACE, dữ liệu đầu vào của truy vấn được gửi đến tác nhânDialogflow tương ứng với giá trị của trường argumentText trong tin nhắn trong Chat. Nếu thông báo có lệnh dấu gạch chéo, thì giá trị của trường text sẽ được sử dụng.
    • Đối với các sự kiện CARD_CLICKED, dữ liệu đầu vào của truy vấn gửi đến tác nhân Dialogflow sẽ có định dạng là CARD_CLICKED.functionName, trong đó functionName tương ứng với giá trị của trường function của đối tượng Hành động được đính kèm với phần tử thẻ tương tác (như một nút).
    • Tải trọng JSON đầy đủ của mỗi sự kiện tương tác trong Chat sẽ được gửi đến Dialogflow dưới dạng một tải trọng tuỳ chỉnh trong thông số truy vấn. Bạn có thể truy cập vào thông qua webhook của Dialogflow bằng cách truy vấn giá trị của trường WebhookRequest.payload.
  • Những điều cần cân nhắc về việc phản hồi lệnh dấu gạch chéonhận dữ liệu từ thẻ hoặc hộp thoại:
    • Khi các ứng dụng Dialogflow Chat nhận được một thông báo có lệnh dấu gạch chéo, dữ liệu nhập truy vấn chỉ chứa giá trị của trường text. Trường text bắt đầu bằng tên của lệnh dấu gạch chéo (ví dụ: /command). Bạn có thể sử dụng lệnh này để định cấu hình ý định của tác nhân Dialogflow nhằm phát hiện lệnh dấu gạch chéo.
    • Nếu nhân viên hỗ trợ Dialogflow cần xử lý tải trọng JSON của sự kiện tương tác trò chuyện, thì tác nhân này có thể thực hiện bằng cách sử dụng webhookDialogflow để kiểm tra tải trọng tuỳ chỉnh trong thông số truy vấn.
    • Để hiển thị một hộp thoại từ Tác nhânDialogflow, hãy phản hồi bằng một tải trọng JSON tuỳ chỉnh duy nhất có chứa thông báo chứa phản hồi hành động DIALOG.
    • Để xử lý dữ liệu được nhập từ các thẻ, tác nhân Dialogflow có thể phát hiện các ý định bắt đầu bằng văn bản CARD_CLICKED 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ợ tính năng Xem trước đường liên kết.
  • Nếu nhân viên hỗ trợ Dialogflow chỉ trả lờ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 tác nhân Dialogflow phản hồi bằng nhiều tin nhắn, thì tất cả tin nhắn sẽ được gửi tới Chat một cách không đồng bộ bằng cách gọi phương thức create 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 công cụ tích hợp Dialogflow CX với Chat, nhân viên hỗ trợ Dialogflow và ứng dụng Chat phải được thiết lập trong cùng một dự án Google Cloud. Nếu cần thiết lập Dialogflow và Chat trong các dự án khác nhau trên Google Cloud, bạn có thể thiết lập một máy chủ trung gian để hỗ trợ việc kết nối. Để tìm hiểu cách thực hiện, hãy xem bài viết Ví dụ về việc tích hợp Chat cho Dialogflow CX trên GitHub.

Khắc phục sự cố

Khi một ứng dụng hoặc thẻ Google Chat trả về lỗi, giao diện Chat sẽ hiển thị một thông báo cho biết "Đã xảy ra lỗi". hoặc "Không thể xử lý yêu cầu của bạn". Đôi khi, giao diện người dùng của Chat không hiển thị thông báo lỗi nào, nhưng ứng dụng hoặc thẻ trong Chat lại cho ra kết quả không mong muốn; ví dụ: thông báo thẻ có thể không xuất hiện.

Mặc dù thông báo lỗi có thể không xuất hiện trong giao diện người dùng của Chat, nhưng chúng tôi cung cấp dữ liệu nhật ký và thông báo lỗi mô tả để giúp bạn khắc phục lỗi khi bật tính năng ghi nhật ký lỗi cho các ứng dụng trong Chat. Để được trợ giúp xem, gỡ lỗi và sửa lỗi, hãy xem bài viết Khắc phục sự cố và sửa lỗi Google Chat.

Dọn dẹp

Để tránh bị tính phí vào tài khoản Google Cloud cho những tài nguyên dùng trong hướng dẫn này, bạn nên xoá dự án Google Cloud đó.

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Quản lý tài nguyên. Nhấp vào biểu tượng Trình đơn > IAM và Quản trị viên > 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 này, hãy nhập mã dự án rồi nhấp vào Tắt để xoá dự án.
  • Dialogflow CX sử dụng cách tiếp cận máy trạng thái đối với thiết kế tác nhân Dialogflow, cho phép bạn kiểm soát rõ ràng và rõ ràng các cuộc trò chuyện, nâng cao trải nghiệm người dùng cuối và quy trình phát triển hiệu quả hơn. Khi xây dựng ứng dụng Chat bằng Dialogflow, bạn nên dùng Dialogflow CX.
    • Để tìm hiểu thêm về cách xây dựng và định cấu hình nhân viên hỗ trợ, hãy xem phần Dialogflow CX Agents.
    • Để xem hướng dẫn chi tiết về cách tạo và định cấu hình các tác nhân, hãy xem phần Tạo tác nhân Dialogflow CX.
    • Lớp học lập trình: Để xem ví dụ về cách tạo tác nhân lưu trữ dữ liệu của Dialogflow CX, hãy xem ứng dụng Chat kiến thức trong lớp học lập trình này Tạo ứng dụng cho Google Chat bằng Gemini.
    • Lớp học lập trình: Để biết ví dụ về cách tạo một tác nhân trò chuyện bằng Dialogflow CX, hãy xem ứng dụng Chat phản hồi từ lớp học lập trình này Tạo ứng dụng cho Google Chat bằng Gemini.
  • Dialogflow ES là một cách khác để sử dụng Dialogflow với ứng dụng Chat.