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 phản hồ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ính năng tích hợp trực tiếp với Google Chat. Bạn cũng có thể sử dụng Dialogflow ES để tạo một ứng dụng Google Chat Dialogflow ES bằng cách làm theo hướng dẫn về Google Chat Dialogflow ES.
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ê xe". Ứ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?". Câu hỏi này sẽ bắt đầu một cuộc trò chuyện giống như trò chuyện với con người, trong đó ứng dụng Chat vừa hiểu vừa trả lời bằng lời nói của con người trong khi đặt dịch vụ cho thuê xe.
Đây chỉ là một ví dụ. Các ứng dụng Chat của Dialogflow rất hữu ích trong mọi loại hình tương tác. Nếu cần có lời nói tự nhiên của con người, thì bạn cần dùng ứng dụng Chat của Dialogflow. Các tác nhân được 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 gặp bác sĩ
- Đặt đồ ăn giao tận nơi
- 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ó màu khác hay không
-
Hình 1. Chọn một nhân viên hỗ trợ được tạo sẵn cho ứng dụng Chat trên Dialogflow. -
Hình 2. Kiểm thử tác nhân trong Dialogflow CX để đảm bảo logic và cấu hình của tác nhân hoạt động như dự kiến. Sơ đồ này cho thấy một tập hợp tuần tự các trang theo chủ đề liên quan đến các bước cụ thể trong cuộc trò chuyện, chẳng hạn như thiết lập vị trí nhận và trả xe cho xe cho thuê, đồng thời định cấu hình logic kết nối các trang đó. Cuộc trò chuyện được kiểm thử trong một trình mô phỏng. -
Hình 3. Định cấu hình một ứng dụng trò chuyện để xử lý các phản hồi bằng cách sử dụng tác nhân Dialogflow CX trên trang cấu hình Chat API trong Google Cloud Console. -
Hình 4. Trò chuyện về việc đặt xe cho thuê với ứ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 một tác nhân Dialogflow CX.
- Tạo và triển khai một ứng dụng trong Chat dựa trên tác nhân Dialogflow CX.
- Kiểm thử ứng dụng Chat.
Điều kiện tiên quyết
- Tài khoản Google Workspace Business hoặc Enterprise có quyền truy cập vào Google Chat.
- Một dự án trên Google Cloud đã bật tính năng thanh toán. Để kiểm tra xem một dự án hiện có đã bật tính năng thanh toán hay chưa, hãy xem phần Xác minh trạng thái thanh toán của dự án. Để tạo dự án và thiết lập thông tin thanh toán, hãy xem phần Tạo dự án trên Google Cloud.
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:
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:
- 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.
- Một nhân viên hỗ trợ ảo Dialogflow (nằm trong Google Cloud) sẽ nhận và xử lý tin nhắn để đưa ra câu trả lời.
- 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é.
- Tác nhân Dialogflow gửi phản hồi trở lại dịch vụ ứng dụng Chat trong Chat.
- 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.Trong bảng điều khiển Google Cloud, hãy bật Google Chat API và Dialogflow API.
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.
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ợ Dialogflow CX
Nhân viên hỗ trợ Dialogflow CX là một nhân viên hỗ trợ ảo xử lý các cuộc trò chuyện đồng thời với người dùng cuối. Đây là một mô-đun hiểu ngôn ngữ tự nhiên, có khả năng hiểu được các sắc thái trong 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 thành 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à tạo một tác nhân 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ợ dự án Dialogflow giống như nhân viên hỗ trợ tại trung tâm cuộc gọi. Bạn huấn luyện cả hai để xử lý các tình huống trò chuyện dự kiến và bạn không cần phải huấn luyện quá rõ ràng.
Sau đây là cách tạo nhân viên hỗ trợ Dialogflow CX:
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.
Chọn một dự án trên Google Cloud. Để tìm dự án, bạn có thể phải nhấp vào Tất cả rồi tìm dự án đó.
Giờ đây, bạn có thể chọn một tác nhân được 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ề cách tuỳ chỉnh tác nhân sau này, hãy chọn một trong các tác nhân được tạo sẵn. Các tác nhân này cũng hữu ích để tìm hiểu về những việc mà tác nhân có thể làm.
Để chọn một tác nhân được tạo sẵn, hãy làm theo các bước sau:
- Nhấp vào Sử dụng các đặc vụ được tạo sẵn.
Chọn một tác nhân được tạo sẵn. Trong hướng dẫn này, hãy chọn Du lịch: thuê xe.
Nhân viên hỗ trợ được đánh giá là người mới bắt đầu, người có trình độ trung bình hoặc người có trình độ 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. Việc chọn một tác nhân trung gian hoặc nâng cao có thể yêu cầu các chế độ tuỳ chỉnh và chế độ cài đặt dành riêng cho tác nhân, bao gồm cả việc bật các tính năng và API trong Google Cloud Console.
Nhấp vào Nhập dưới dạng nhân viên hỗ trợ.
Để tạo tác nhân của riêng bạn, hãy làm theo các bước sau:
- Nhấp vào Tạo trợ lý ảo.
- Chọn Tự động tạo để tạo tác nhân lưu trữ dữ liệu hoặc chọn Tự xây dựng để tạo các loại tác nhân khác.
Để xem hướng dẫn chi tiết về quy trình tạo tác nhân, hãy xem phần Tạo một tác nhân Dialogflow CX.
Định cấu hình các chế độ cài đặt cơ bản của tác nhân:
- Trong phần Tên hiển thị, hãy nhập tên hiển thị.
- Chọn vị trí 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.
- Chọn múi giờ bạn muốn.
- Chọn ngôn ngữ mặc định cho trợ lý ảo. Bạn không thể thay đổi ngôn ngữ mặc định cho một nhân viên hỗ trợ sau khi tạo.
Nhấp vào Tạo. Dialogflow CX bắt đầu tạo tác nhân, sau đó hiển thị quy trình bắt đầu mặc định của tác nhân.
Bạn có thể tuỳ chỉnh tác nhân (không bắt buộc). Để xem hướng dẫn chi tiết về quy trình tuỳ chỉnh nhân viên hỗ trợ, hãy xem bài viết Tạo nhân viên hỗ trợ Dialogflow CX.
Theo phương pháp hay nhất, hãy kiểm thử tác nhân:
- Nhấp vào Kiểm thử tác nhân.
- Chọn Test agent in environment (Kiểm thử tác nhân trong môi trường).
- Trong mục Môi trường, hãy chọn Bản nháp.
- Trong Flow, hãy chọn Default Start Flow (Luồng bắt đầu mặc định).
- Trong Page (Trang), hãy chọn Start Page (Trang bắt đầu).
- Trong thanh soạn tin Nói chuyện với nhân viên hỗ trợ, hãy nhập
Hellorồi nhấn phím Enter. Trợ lý ảo sẽ tự giới thiệu. - Hoàn tất quy trình kiểm thử bằng cách thực hiện cuộc trò chuyện kiểm thử mẫu.
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 Trình đơn > Dialogflow CX.
Trong mục Agents (Nhân viên), hãy nhấp vào biểu tượng > Copy name (Sao chép tên). Hãy lưu tên này vì bạn sẽ dùng tên này khi định cấu hình ứng dụng Chat.
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 CX, 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:
Trong bảng điều khiển Google Cloud, 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ý.
Nhấp vào Configuration (Cấu hình) rồi thiết lập ứng dụng Chat:
- Trong phần Tên ứng dụng, hãy nhập
Dialogflow App. - Trong URL hình đại diện, hãy nhập
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png. - Trong phần Nội dung mô tả, hãy nhập
Responds to real human conversation. - Trong phần Chức năng, hãy chọn Tham gia không gian và cuộc trò chuyện nhóm.
- Trong phần Cài đặt kết nối, hãy chọn Dialogflow.
- Trong phần Cài đặt Dialogflow, hãy chọn Dialogflow CX.
- Trong Agent or Environment resource name (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 nhân viên hỗ trợ Dialogflow CX.
- 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.
- Trong mục Nhật ký, hãy chọn Ghi lỗi vào Nhật ký.
- Trong phần Tên ứng dụng, hãy nhập
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 CX bằng cách nhắn tin cho ứng dụng này trong Google Chat.
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.
- Nhấp vào biểu tượng Cuộc trò chuyện mới.
- 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.
Chọn ứng dụng Chat trong kết quả. Một tin nhắn trực tiếp sẽ mở ra.
Trong tin nhắn trực tiếp mới với ứng dụng, hãy nhập
Hellorồi nhấnenter.Ứng dụng Dialogflow Chat sẽ phản hồi bằng cách tự giới thiệu.
- Hoàn tất quy trình kiểm thử bằng cách thực hiện cuộc trò chuyện kiểm thử mẫu.
Cuộc trò chuyện kiểm thử mẫu
Để kiểm thử ứng dụng Chat Dialogflow CX trong bảng điều khiển Dialogflow CX hoặc trong Google Chat, hãy trò chuyện như sau. Phần 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 mình ở mỗi bước trong cuộc trò chuyện. Cuộc trò chuyện mẫu này dựa trên trợ lý được tạo sẵn có tên là Du lịch: 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à nhân viên cho thuê ô tô ảo. Tôi có thể giúp bạn bắt đầu đặt chỗ thuê xe mới. Hôm nay tôi có thể hỗ trợ gì cho bạn? |
|
|
Người dùng cuối: Tôi muốn thuê ô tô. Nhân viên hỗ trợ: Bạn muốn đến lấy xe ở đâu? |
|
|
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 ở Las Vegas. Nhân viên hỗ trợ: Địa điểm trả xe của bạn có khác với địa điểm lấy xe không? |
|
|
Người dùng cuối: Có. Tôi sẽ trả 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 lấy xe vào ngày và giờ nào? |
|
|
Người dùng cuối: Tôi muốn đến lấy xe vào trưa ngày 5 tháng 3. Nhân viên hỗ trợ: Bạn muốn đến giao xe vào ngày và giờ nào? |
|
|
Người dùng cuối: 12 giờ trưa ngày 15 tháng 3. Nhân viên hỗ trợ: Để xác nhận: Bạn sẽ nhận xe ở Las Vegas vào lúc 12:00:00 ngày 5 tháng 3 năm 2024 và trả xe ở Los Angeles vào lúc 12:00:00 ngày 15 tháng 3 năm 2024 Thông tin này có chính xác không? |
|
|
Người dùng cuối: Vâng, 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 thuê xe phổ thông hay xe sang? |
|
|
Người dùng cuối: Vui lòng chọn gói Tiết kiệm. Nhân viên: Bạn muốn chọn xe Cymbal hay xe tải Cymbal? |
|
|
Người dùng cuối: Cymbal Truck. Nhân viên: Xe Cymbal Truck có giá 50,33 USD mỗi ngày. Xe có 4 chỗ ngồi và được trang bị đài AM/FM. Bạn có muốn chuyển sang bước thanh toán không? Người dùng cuối: Có, vui lòng. |
|
|
Nhân viên hỗ trợ: Bạn sẽ sử dụng loại thẻ nào? Người dùng cuối: Altostrat Nhân viên: Vui lòng nhập số thẻ. Người dùng cuối: 1234 1234 1234 1234 Nhân viên hỗ trợ: Tên trên thẻ 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: Bạn sẽ nhận chiếc xe Cymbal Car tại Las Vegas vào lúc 12:00:00 ngày 5 tháng 3 năm 2024 và trả xe vào lúc 12:00:00 ngày 15 tháng 3 năm 2024. Tổng chi phí cho chuyến đi này là 175,38 USD. Nhân viên hỗ trợ: Cảm ơn bạn đã thuê phim của chúng tôi. Chúc bạn một ngày tốt lành! |
|
Gửi tin nhắn dạng 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 một thông báo thẻ, hãy chỉ định thông báo đó dưới dạng tải trọng tuỳ chỉnh trong thực hiện.
JSON sau đây cho biết cách gửi một thông báo thẻ dưới dạng tải trọng tuỳ chỉnh trong quá trình thực hiện:
json
{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
"message": { "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à đ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ườngargumentTexttrong tin nhắn trò chuyện.APP_COMMAND: Chuỗi"APP_COMMAND_PAYLOAD".ADDED_TO_SPACE: Chuỗi"ADDED_TO_SPACE_PAYLOAD".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 CX.
- 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
- Những điều cần cân nhắc khi phản hồi lệnh và nhậ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 qua tin nhắn, thì tác nhân 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ừ Dialogflow Agent, 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 đối tượng
RenderActionscópushCardđiều hướng. - Để xử lý dữ liệu được nhập từ thẻ, bạn có thể sử dụng 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.
- 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
createtrên tài nguyênspaces.messagestrong 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 CX 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. Nếu cần thiết lập Dialogflow và Chat trong các dự án trên đám mây khác nhau, thì bạn có thể thiết lập một máy chủ trung gian để tạo điều kiện thuận lợi cho việc kết nối. Để tìm hiểu cách thực hiện, hãy xem Ví dụ về tính năng tích hợp Chat cho Dialogflow CX này trên GitHub.
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:
Nhật ký tiện ích bổ sung của Google Workspace: Nhật ký truy vấn để biết thông tin chi tiết về hành vi của tiện ích bổ sung, bao gồm cả các hoạt động tương tác của tiện ích bổ sung với Chat. Xem phần Nhật ký truy vấn cho Tiện ích bổ sung của Google Workspace.
Lỗi ứng dụng Google Chat: Để biết các thông báo lỗi và cách khắc phục chung cho ứng dụng Chat, hãy tham khảo bài viết Khắc phục và sửa lỗi ứng dụng Chat.
Cloud Logging của Dialogflow CX: Đảm bảo bạn đã bật Cloud Logging trong phần cài đặt của tác nhân Dialogflow để ghi lại nhật ký thực thi chi tiết, bao gồm cả lỗi từ các lượt tương tác giữa tác nhân và webhook. Tìm hiểu cách bật và định cấu hình tính năng này trong tài liệu Cài đặt tác nhân Dialogflow CX. Bạn có thể xem các nhật ký này trong Trình khám phá nhật ký của Google Cloud Console.
Nhật ký trò chuyện trên Dialogflow CX: Xem lại các lượt tương tác trước đây để hiểu rõ quy trình trò chuyện và xác định vị trí xảy ra vấn đề. Xem phần Nhật ký trò chuyện.
Khắc phục sự cố chung về Dialogflow: Đối với các vấn đề chung về Dialogflow, hãy tham khảo Hướng dẫn khắc phục sự cố về Dialogflow CX.
Dọn dẹp
Để tránh phát sinh phí cho tài khoản Google Cloud 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.
- Trong Google Cloud 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.
- 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á .
- Trong hộp thoại, hãy nhập mã dự án rồi nhấp vào Tắt để xoá dự án.
Chủ đề có liên quan
- Dialogflow CX sử dụng phương pháp máy trạng thái để thiết kế tác nhân Dialogflow, giúp bạn kiểm soát rõ ràng và tường minh một cuộc trò chuyện, mang lại trải nghiệm tốt hơn cho người dùng cuối và quy trình phát triển hiệu quả hơn. Khi tạo một ứng dụng trò chuyện Dialogflow, bạn nên sử dụng Dialogflow CX.
- Để tìm hiểu thêm về cách tạo và định cấu hình các đặc vụ, hãy xem phần Đặc vụ Dialogflow CX.
- Để xem hướng dẫn chi tiết về cách tạo và định cấu hình các đặc vụ, hãy xem phần Tạo đặc vụ Dialogflow CX.
- Dialogflow ES là một cách khác để sử dụng Dialogflow với ứng dụng Chat.