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 có một ứng dụng Chat 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 chuyến 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 các 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 địa điểm 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 nhân viên hỗ trợ Dialogflow CX.
- Tạo và triển khai một ứng dụng trong Chat dựa trên nhân viên hỗ trợ 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ụ bán vé.
- Tác nhân Dialogflow sẽ 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 Google Cloud. Bạn có thể bật một hoặc nhiều API trong một dự án Google Cloud.Trong Google Cloud Console, 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, sau đó 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 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 nhân viên hỗ trợ sau, hãy chọn một trong các nhân viên hỗ trợ được tạo sẵn. Đây cũng là những nhân viên hỗ trợ hữu ích để tìm hiểu về những việc mà nhân viên hỗ trợ 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ế độ cài đặt và tuỳ chỉnh 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.
Để tạo một trợ lý ảo của riêng bạn, hãy làm theo các bước sau:
- Nhấp vào Tạo tác nhân.
- 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ị luồng bắt đầu mặc định của tác nhân.
Bạn có thể tuỳ chỉnh nhân viên hỗ trợ (nếu muốn). Để xem hướng dẫn chi tiết về quy trình tuỳ chỉnh tác nhân, hãy xem phần Tạo một tác nhân Dialogflow CX.
Theo phương pháp hay nhất, hãy kiểm thử tác nhân:
- Nhấp vào Tác nhân kiểm thử.
- Chọn Test agent in environment (Tác nhân kiểm thử 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
Hello
rồi nhấn phím Enter. Nhân viên hỗ trợ sẽ tự giới thiệu khi trả lời. - 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 nhân viên hỗ trợ Dialogflow
Sau khi tạo một đặc vụ Dialogflow CX, hãy làm theo các bước sau để biến đặc vụ đó thành một ứng dụng trò chuyện:
Trong Google Cloud 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ý.
Nhấp vào Cấu hình rồi thiết lập ứng dụng Chat:
- Trong 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 Connection settings (Chế độ 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 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
Hello
rồ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ê xe.
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ê một chiếc ô 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 12:00:00 ngày 5 tháng 3 năm 2024 và trả xe ở Los Angeles vào 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: Tiết kiệm nhé. Nhân viên: Bạn muốn mua 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 ở 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 đó là 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 dạng thẻ dưới dạng tải trọng tuỳ chỉnh trong quá trình 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à điểm cần cân nhắc
- Sự kiện tương tác qua tin nhắn có phạm vi hỗ trợ hạn chế và một số điểm cần lưu ý:
- Sau đây là các loại sự kiện tương tác được hỗ trợ:
MESSAGE
ADDED_TO_SPACE
CARD_CLICKED
- Đối với sự kiện
MESSAGE
hoặcADDED_TO_SPACE
, dữ liệu đầu vào truy vấn được gửi đến tác nhân Dialogflow tương ứng với giá trị của trườngargumentText
trong Tin nhắn trò chuyện. Nếu thông báo có lệnh gạch chéo, thì giá trị của trườngtext
sẽ được dùng thay thế. - Đối với các sự kiện
CARD_CLICKED
, dữ liệu đầu vào của truy vấn được gửi đến tác nhân Dialogflow sẽ được định dạng dưới dạngCARD_CLICKED.functionName
, trong đófunctionName
tương ứng với giá trị của trườngfunction
trong đối tượng Action được đính kèm vào phần tử thẻ tương tác (chẳng hạn như nút). - Toàn bộ tải trọng JSON của mỗi sự kiện tương tác trên Chat sẽ được gửi đến Dialogflow dưới dạng tải trọng tuỳ chỉnh trong tham số truy vấn và có thể truy cập bằng webhook Dialogflow bằng cách truy vấn giá trị của trường
WebhookRequest.payload
.
- Sau đây là các loại sự kiện tương tác được hỗ trợ:
- Những điều cần cân nhắc khi phản hồi lệnh dấu gạch chéo và nhận dữ liệu từ thẻ hoặc hộp thoại:
- Khi nhận được một thông báo có lệnh dấu gạch chéo, ứng dụng Chat Dialogflow sẽ chỉ chứa giá trị của trường
text
trong dữ liệu đầu vào truy vấn. Trườngtext
bắt đầu bằng tên của lệnh dấu gạch chéo (ví dụ:/command
). Bạn có thể dùng tên này để định cấu hình ý định của một tác nhân Dialogflow nhằm phát hiện lệnh dấu gạch chéo. - 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ể làm như vậ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ừ Đặc vụ Dialogflow, hãy phản hồi bằng một tải trọng JSON tuỳ chỉnh duy nhất bao gồm một thông báo chứa
DIALOG
phản hồi hành động. - Để xử lý dữ liệu được nhập từ 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.
- Khi nhận được một thông báo có lệnh dấu gạch chéo, ứng dụng Chat Dialogflow sẽ chỉ chứa giá trị của trường
- Tính năng xem trước đường liên kết không được hỗ trợ.
- Nếu 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ênspaces.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 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ố
Khi một ứng dụng Google Chat hoặc thẻ trả về lỗi, giao diện Chat sẽ hiển thị thông báo "Đã 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 Chat không hiển thị bất kỳ thông báo lỗi nào, nhưng ứng dụng hoặc thẻ Chat lại tạo 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 Chat, nhưng bạn có thể sử dụng thông báo lỗi mô tả và dữ liệu nhật ký để khắc phục lỗi khi bật tính năng ghi nhật ký lỗi cho ứng dụng Chat. Để được trợ giúp xem, gỡ lỗi và khắc phục lỗi, hãy xem bài viết Khắc phục lỗi trong Google Chat.
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ị > 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.
- 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 kho dữ liệu Dialogflow CX, hãy xem ứng dụng Chat kiến thức trong lớp học lập trình
- 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 đàm thoại Dialogflow CX, hãy xem ứng dụng Chat phản hồi trong lớp học lập trình
- Dialogflow ES là một cách khác để sử dụng Dialogflow với một ứng dụng Chat.