Trang này giải thích cách tạo một ứng dụng Google Chat có thể hiểu và phản hồi bằng ngôn ngữ tự nhiên bằng cách sử dụng Dialogflow. Hướng dẫn này sử dụng Dialogflow CX, 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 ứng dụng Google Chat Dialogflow 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ụ. Ứng dụng Chat của Dialogflow rất hữu ích trong mọi loại tương tác. Nếu yêu cầu lời nói tự nhiên của con người, thì ứng dụng sẽ gọi ứng dụng Chat của Dialogflow. Trình đại diện tạo sẵn giúp bạn bắt đầu nhanh chóng và giới thiệu những gì 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 các mặt hàng có có màu khác không
-
Hình 2. Kiểm thử trợ lý trong Dialogflow CX để đảm bảo logic và cấu hình của trợ lý hoạt động như dự kiến. Sơ đồ này cho thấy một tập hợp 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ư đặt vị trí lấy và trả xe cho một chiếc xe 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 ứng dụng Chat để xử lý các phản hồi bằng cách sử dụng tác nhân CX Dialogflow trên trang cấu hình Chat API trong Google Cloud Console. -
Hình 4. Trò chuyện về việc đặt xe thuê bằng ứng dụng Chat của Dialogflow 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 ứ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
- Tài khoản Google Workspace dành cho doanh nghiệp hoặc doanh nghiệp lớn có quyền truy cập vào Google Chat.
- Một dự á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 bài viết Xác minh trạng thái thanh toán của dự án. Để tạo một dự án và thiết lập thông tin thanh toán, hãy xem phần Tạo dự án Google Cloud.
Kiến trúc
Sơ đồ sau đây cho thấy cấu trúc của một ứng dụng Chat được tạo bằng Dialogflow:
Trong sơ đồ trước, người dùng tương tác với ứng dụng Chat của Dialogflow có luồng thông tin sau:
- Người dùng gửi tin nhắn trong Chat đến một ứng dụng Chat, 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ý thông báo để tạo phản hồi.
- Nếu muốn, bằng cách sử dụng webhook Dialogflow, tác nhân 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ợ.
- 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 đượ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.Trong Google Cloud Console, hãy bật API Google Chat và API Dialogflow.
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.
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
Nhân viên hỗ trợ CX của Dialogflow 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ô-đun hiểu ngôn ngữ tự nhiên giúp hiểu được các sắc thái của ngôn ngữ 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à ứ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 giống như nhân viên hỗ trợ của trung tâm cuộc gọ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:
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 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 đó.
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 sau này, hãy chọn một trong các tác nhân tạo sẵn. Điều này cũng sẽ giúp bạn 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 tạo sẵn, hãy làm theo các bước sau:
- Nhấp vào Sử dụng tác nhân tạo sẵn.
Chọn một tác nhân tạo sẵn. Đối với 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à 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. Việc chọn một tác nhân trung cấp hoặc nâng cao có thể yêu cầu các 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 người đại diện.
Để 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 nhân viên hỗ trợ.
- Chọn Tự động tạo để tạo trình đại diện kho dữ liệu hoặc chọn Tạo của riêng bạn để tạo các loại trình đại diện khác.
Để xem hướng dẫn 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.
Định cấu hình các chế độ cài đặt cơ bản của tác nhân:
- Trong mục Tên hiển thị, hãy nhập tên hiển thị.
- 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.
- Chọn múi giờ bạn muốn.
- 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.
Nhấp vào Tạo. Dialogflow CX bắt đầu tạo trợ lý, sau đó hiện quy trình bắt đầu mặc định của trợ lý.
Tuỳ ý tuỳ chỉnh tác nhân. Để 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.
Phương pháp hay nhất là kiểm thử tác nhân:
- Nhấp vào Trình tác nhân kiểm thử.
- Chọn Test agent in environment (Trình kiểm thử trong môi trường).
- Trong 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 trang, chọn Trang chủ.
- Trong thanh soạn thư Talk to agent (Trò chuyện với nhân viên hỗ trợ), hãy nhập
Hello
rồi nhấn Enter. Trợ lý trả lời bằng cách tự giới thiệu. - Hoàn thành bài 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 biểu tượng Trình đơn > Dialogflow CX.
Trong mục Đại lý, hãy nhấp vào biểu tượng > Sao chép tên. Lưu tên này vì bạn sẽ sử dụng tên này khi định cấu hình ứng dụng Chat.
Tạo ứng dụng Chat và kết nối ứng dụng đó với trợ lý Dialogflow
Sau khi tạo một nhân viên hỗ trợ CX Dialogflow, hãy làm theo các bước sau để biến nhân viên hỗ trợ đó thành một ứng dụng Chat:
Trong Google Cloud Console, 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ý.
Nhấp vào Cấu hình rồi thiết lập ứng dụng Chat:
- Trong App name (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 Description (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 Nhận tin nhắn 1:1 và 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 Tên tài nguyên của 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 một số 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 App name (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 đó 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ử đáng tin cậy.
- Nhấp vào Cuộc trò chuyện mới.
- Trong trường Thêm 1 người trở lên, 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 phản hồi bằng cách tự giới thiệu.
- Hoàn tất bài 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 thực hiện cuộc trò chuyện sau. Nội dung giải thích này giúp bạn hiểu cách nhân viên hỗ trợ CX của Dialogflow diễn giải ngôn ngữ tự nhiên của người dùng và tạo câu trả lờ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ình tự động đượ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 hỗ trợ ảo về dịch vụ cho thuê ô tô. Tôi có thể giúp bạn bắt đầu đặt thuê xe ô tô 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ê xe. 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ẽ nhận được hàng tại Las Vegas. Nhân viên hỗ trợ: Địa điểm trả hàng của bạn có khác với địa điểm lấy hàng không? |
|
Người dùng cuối: Có. Tôi sẽ gửi xe ở Los Angeles. Nhân viên hỗ trợ: Ok, điểm đến của bạn là 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 trả xe vào ngày và giờ nào? |
|
Người dùng cuối: Trưa ngày 15 tháng 3. Nhân viên hỗ trợ: Để xác nhận: Bạn sẽ đến lấy xe ở Las Vegas 05/03/2024 12:00:00 và trả xe ở Los Angeles 15/03/2024 12:00:00 Đúng không? |
|
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? |
|
Người dùng cuối: Vui lòng chọn loại hình tiết kiệm. Nhân viên hỗ trợ: Bạn muốn mua xe ô tô hay xe tải có hình chũm choẹ? |
|
Người dùng cuối: Cymbal Truck. Đại lý: Xe tải trống có giá 50,33 USD/ngày. Xe có thể chở 4 người và có đài AM/FM. Bạn có muốn tiếp tục thanh toán không? Người dùng cuối: Vâng, 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 Đại lý: Vui lòng nhập số thẻ. Người dùng cuối: 1234 1234 1234 1234 Đại lý: Tên trên thẻ là gì? Người dùng cuối: Charlie Nhân viên hỗ trợ: Địa chỉ đường phố dùng để thanh toán là gì? Người dùng cuối: 1800 Amphibious Blvd. Mountain View, CA Đại lý: Mã bưu chính thanh toán là gì? Người dùng cuối: 94045 Đại lý: Bạn sẽ nhận xe Cymbal Car tại Las Vegas vào lúc 12:00:00 ngày 5/3/2024 và trả xe vào lúc 12:00:00 ngày 15/3/2024. Tổng số tiền cho chuyến đi này sẽ là 175,38 USD. Nhân viên hỗ trợ: Cảm ơn bạn đã thuê nhà qua 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 thông báo thẻ, hãy chỉ định thông báo đó làm tải trọng tuỳ chỉnh trong thực hiện đơn hàng.
JSON sau đây cho biết cách gửi 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
{
'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ặcADDED_TO_SPACE
, dữ liệu đầu vào của truy vấn gửi đến tác nhânDialogflow tương ứng với giá trị của trườngargumentText
trong tin nhắn trong Chat. Nếu thông báo có chứa lệnh gạch chéo, thì giá trị của trườngtext
sẽ được sử dụng. - Đối với các sự kiện
CARD_CLICKED
, dữ liệu đầu vào truy vấn được gửi đến tác nhân Dialogflow được định dạng làCARD_CLICKED.functionName
, trong đófunctionName
tương ứng với giá trị của trườngfunction
của đối tượng Action (Hành động) được đính kèm vào phần tử thẻ tương tác (chẳng hạn như nút). - Tải trọng JSON đầy đủ của mỗi sự kiện tương tác trong Chat đượ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
.
- Các loại sự kiện tương tác sau đây đượ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 ứ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 đầu vào của truy vấn chỉ chứa giá trị của trường
text
. 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ể sử dụng trường 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 cần xử lý trọng tải JSON của sự kiện tương tác trò chuyệ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 trọng tải tuỳ chỉnh trong tham 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ừ 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 thao tác thích hợp.
- Khi ứ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 đầu vào của truy vấn chỉ chứa giá trị của trường
- Không hỗ trợ bản xem trước đường liên kết.
- Nếu tác nhân Dialogflow chỉ phản hồi bằng một tin nhắn, thì tin nhắn đó sẽ được gửi đồng bộ đến Google Chat. 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 đến 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ênspaces.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 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 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 ví dụ về cách tích hợp tính năng Trò chuyện cho trải nghiệm khách hàng Dialogflow trên GitHub.
Khắc phục sự cố
Khi ứ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ị thông báo lỗi nào, nhưng ứng dụng Chat hoặc thẻ 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 hiển thị trong giao diện người dùng Chat, nhưng bạn có thể xem 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 và khắc phục 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 đó.
- Trong Google Cloud Console, 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ị > 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 Shut down (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 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 ứng dụng Trò chuyện 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.
- 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 lưu trữ dữ liệu CX Dialogflow, 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 nhân viên hỗ trợ trò chuyện CX Dialogflow, 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 ứng dụng Chat.