Tăng mức độ phù hợp của ý định và xử lý lỗi một cách linh hoạt bằng tính năng dự phòng tạo sinh

1. Tổng quan

Lần cập nhật gần đây nhất: 7/8/2023

Sản phẩm bạn sẽ tạo ra

Trong lớp học lập trình này, bạn sẽ xây dựng, triển khai và định cấu hình một nhân viên hỗ trợ ảo đơn giản trong Dialogflow CX để hỗ trợ việc đặt vé theo nhóm và thuê tàu riêng cho các chuyên gia lặn khi đi du lịch. Nhân viên hỗ trợ ảo sẽ sử dụng AI tạo sinh và các mô hình ngôn ngữ lớn tạo sinh (LLM) mới nhất của Google để tạo câu trả lời cho nhân viên hỗ trợ ảo.

Kiến thức bạn sẽ học được

  • Cách bật các API có liên quan
  • Cách Dialogflow tự động điền trước các giá trị thông số biểu mẫu trang từ các tham số ý định
  • Cách định cấu hình trình xử lý sự kiện trong Dialogflow
  • Cách bật tính năng dự phòng tạo sinh trên trình xử lý sự kiện không khớp được dùng trong các quy trình và trong quá trình điền tham số
  • Cách thiết lập câu lệnh dạng văn bản của riêng bạn để xử lý các tình huống trò chuyện cơ bản và dành cho nhân viên hỗ trợ
  • Cách viết nội dung mô tả ý định và tham số tốt để tạo trình xử lý lời nhắc lại cho các tham số bắt buộc (ngoài các câu lệnh nhắc lại do người dùng xác định)
  • Cách kiểm thử nhân viên hỗ trợ và mô phỏng các câu hỏi của khách hàng kích hoạt tính năng dự phòng tạo sinh

Bạn cần có

  • Một dự án trong Google Cloud
  • Một trình duyệt như Chrome

2. Thiết lập

Trước khi có thể bắt đầu sử dụng tính năng dự phòng tạo sinh trong Dialogflow CX, bạn cần bật API Dialogflow.

Bật API Dialogflow bằng Cloud Console

  1. Mở bảng điều khiển Google Cloud trên trình duyệt.
  2. Trong bảng điều khiển Google Cloud, hãy chuyển đến Thư viện API để duyệt xem các API và dịch vụ được phép bật.
  3. Sử dụng thanh tìm kiếm ở đầu trang Thư viện API, tìm Dialogflow API, sau đó nhấp vào dịch vụ mà bạn muốn.
  4. Nhấp vào nút Bật để bật API Dialogflow trong dự án Google Cloud của bạn.

Sử dụng Giao diện dòng lệnh (CLI) của gcloud (phiên bản thay thế)

Ngoài ra, bạn có thể dùng API này bằng lệnh gcloud sau đây:

gcloud services enable dialogflow.googleapis.com

Nếu API được bật thành công, bạn sẽ thấy một thông báo tương tự như sau:

Operation "operations/..." finished successfully.

Lấy mã

Bạn sẽ không tạo nhân viên hỗ trợ ảo từ đầu, chúng tôi sẽ cung cấp cho bạn một nhân viên hỗ trợ mà bạn cần khôi phục từ Dialogflow CX Console rồi cải thiện.

Để tải mã nguồn xuống:

  1. Mở một thẻ trình duyệt mới, chuyển đến kho lưu trữ tác nhân và sao chép kho lưu trữ đó từ một dòng lệnh.
  2. Tác nhân ban đầu đã được xuất dưới dạng gói JSON. Giải nén tệp, kiểm tra chế độ cài đặt tác nhân, xem định nghĩa luồng Liveaboards.json và cuối cùng duyệt qua các trang luồng, ý định và thực thể.

3. Tạo nhân viên hỗ trợ mới

Mở bảng điều khiển Dialogflow

Bạn sẽ dùng bảng điều khiển Dialogflow CX cùng với dự án Google Cloud của mình để thực hiện các bước còn lại trong lớp học lập trình này.

  1. Trong trình duyệt, hãy chuyển đến bảng điều khiểnDialogflow CX.
  2. Chọn dự án Google Cloud mà bạn muốn sử dụng hoặc tạo một dự án mới để sử dụng.
  3. Bạn sẽ thấy danh sách nhân viên hỗ trợ trong bảng điều khiển Dialogflow CX.

Nếu đây là lần đầu tiên bạn sử dụng Dialogflow CX, hãy tham khảo Tài liệu về Dialogflow CX để biết thêm thông tin về cách định cấu hình dự án và các chế độ cài đặt tuỳ theo nhu cầu của bạn.

Tạo nhân viên hỗ trợ Dialogflow CX mới

  1. Để khôi phục tác nhân đã tải xuống từ kho lưu trữ GitHub, bạn cần tạo một tác nhân mới. Trong bảng điều khiển Dialogflow CX, hãy nhấp vào Tạo nhân viên hỗ trợ mới ở góc trên cùng bên phải của trang.

Tạo nhân viên hỗ trợ hoàn toàn mới

  1. Chọn mục Tạo nhân viên hỗ trợ của riêng bạn.

Chọn tuỳ chọn

  1. Hoàn tất biểu mẫu với các chế độ cài đặt nhân viên hỗ trợ ở bên dưới, rồi nhấp vào Tạo để tạo nhân viên hỗ trợ.
  • Chọn làm tên hiển thị: Divebooker
  • Làm lựa chọn vị trí: us-central1
  • Chọn múi giờ bạn muốn
  • Chọn en - English làm ngôn ngữ mặc định
  1. Dialogflow sẽ tự động mở nhân viên hỗ trợ cho bạn. Chúng tôi vẫn chưa hoàn tất!

Khôi phục tác nhân thợ lặn

  1. Quay lại trang danh sách nhân viên hỗ trợ, xác định nhân viên hỗ trợ mà bạn vừa tạo. Nhấp vào tuỳ chọn 78d2781c655810e7.png. rồi nhấp vào nút Khôi phục.
  2. Chọn lựa chọn Upload (Tải lên), sau đó thả hoặc chọn tệp ZIP mà bạn đã tải xuống trước đó qua kho lưu trữ GitHub.
  3. Nhấp vào nút Khôi phục để nhập nhân viên hỗ trợ mà chúng tôi đã cung cấp

Nhấp vào nút Khôi phục để nhập nhân viên hỗ trợ mà chúng tôi đã cung cấp

Chính xác! Bạn đã hoàn tất quá trình xây dựng nhân viên hỗ trợ trực tuyến cho dịch vụ đặt chỗ lặn. Người này có thể trợ giúp khách hàng của bạn. Trong phần tiếp theo, bạn sẽ thử nghiệm tính năng này và xem mức độ hiệu quả của Gemini trong việc trả lời câu hỏi của người dùng và hỗ trợ các yêu cầu đặt trước.

4. Kiểm thử tác nhân

Dialogflow cung cấp một trình mô phỏng tích hợp sẵn để trò chuyện với nhân viên hỗ trợ của bạn và phát hiện lỗi. Đối với mỗi lượt, bạn có thể xác minh các giá trị chính xác cho ý định được kích hoạt, phản hồi của tác nhân, trang đang hoạt động và các thông số phiên.

Chúng ta sẽ thử nghiệm một số tình huống và đối với mỗi tình huống, chúng ta sẽ xem xét lý do khiến nhân viên hỗ trợ đưa ra phản hồi nhất định. Hãy bắt đầu với tình huống đầu tiên.

Ý định chưa được giải quyết

  1. Trong bảng điều khiển Dialogflow và trong nhân viên hỗ trợ của bạn, hãy nhấp vào Nhân viên hỗ trợ thử nghiệm để mở Trình mô phỏng.

Nhấp vào Tác nhân thử nghiệm để mở Trình mô phỏng

  1. Nhập lời chào cho nhân viên hỗ trợ, chẳng hạn như Hello rồi hỏi what is a liveaboard?. Câu hỏi này không phù hợp với ý định nào, một câu lệnh chung chung như "Rất tiếc, tôi không biết làm cách nào để giúp bạn" sẽ được hiển thị. Bạn có thể kiểm tra để đảm bảo sự kiện tích hợp sys.no-match-default đã được gọi bằng cách kiểm tra phản hồi ban đầu trên Trình mô phỏng.

Chào nhân viên hỗ trợ và hỏi một người đồng tính là gì

Cuộn xuống gần đến cuối phản hồi JSON. Lưu ý rằng khi tìm kiếm một ý định trùng khớp, Dialogflow sẽ thấy đây là NO_MATCH và đưa ra một sự kiện không khớp.

Kiểm tra để chắc chắn rằng sự kiện sys.no-match-default do Dialogflow tạo ra

  1. Chuyển sang thẻ Build (Tạo) rồi mở Trang chủ của quy trình Liveaboard.

Chuyển sang thẻ Xây dựng và mở Trang chủ của quy trình Liveaboarding.

Theo mặc định, mỗi luồng đều có trình xử lý sự kiện cho các sự kiện tích hợp không khớp và không có dữ liệu đầu vào. Những trình xử lý sự kiện này được tạo tự động khi bạn tạo luồng và không thể xoá được.

  1. Nhấp vào trình xử lý sự kiện sys.no-match-default rồi di chuyển xuống mục Agent phản hồi. Dialogflow cung cấp một danh sách các phản hồi thay thế, nhưng bạn cũng có thể xác định các loại tin nhắn phản hồi khác nhau để cung cấp cho người dùng cuối không chỉ phản hồi bằng văn bản.

Xem phản hồi được xác định trước của nhân viên hỗ trợ

Hãy chuyển sang con đường hạnh phúc ngay bây giờ!

Hành trình suôn sẻ

Trong trường hợp thứ hai này, hãy đóng vai một thợ lặn muốn đặt một chuyến du thuyền lặn cho một nhóm 12 người đến quần đảo Galapagos vào tháng 7 năm sau.

  1. Trong bảng điều khiển Trình mô phỏng, hãy nhấp vào biểu tượng Đặt lại để bắt đầu một cuộc trò chuyện mới với nhân viên hỗ trợ.

Đặt lại để bắt đầu một cuộc trò chuyện mới

Cân nhắc chuyển sang chế độ xem dọc để có trải nghiệm người dùng tốt hơn

  1. Hãy cho đại lý biết bạn muốn đặt vé máy bay đến Quần đảo Galapagos và cung cấp thông tin chi tiết về chuyến đi của bạn. Bạn không cần phải sử dụng đúng những câu lệnh dưới đây, hãy thử nghiệm!

Kiểm thử lộ trình phù hợp

  1. Mở Trang chủ rồi nhấp vào tuyến head.send.group.request. Di chuyển xuống phần Chuyển đổi để cho Dialogflow biết trang sẽ chuyển đổi khi ý định này phù hợp.

Chuyển sang trang Thu thập thêm thông tin

  1. Đóng định nghĩa Tuyến đường và mở rộng trang Thu thập thêm thông tin. Hãy lưu ý phương thức thực hiện mục nhập và danh sách các tham số.

Trang Thu thập thêm thông tin

Đối với mỗi trang trong Dialogflow CX, bạn có thể xác định một biểu mẫu. Biểu mẫu này là danh sách các thông số cần được thu thập từ người dùng cuối cho trang. Xin lưu ý rằng nhân viên hỗ trợ không yêu cầu cung cấp điểm đến du lịch vì chúng ta đã truyền điểm đến đó dưới dạng một phần của thông tin đầu vào ban đầu và destination cũng là một tham số ý định. Khi một trang bắt đầu hoạt động và trong thời gian hoạt động, mọi thông số biểu mẫu có cùng tên với thông số ý định sẽ tự động được đặt thành giá trị thông số phiên và lời nhắc tương ứng sẽ bị bỏ qua.

  1. Chuyển sang thẻ Manage (Quản lý) rồi nhấp vào ý định head.send group request trong phần Intent (Ý định). Xem các cụm từ huấn luyện được cung cấp cho ý định này và các phần được chú thích của các cụm từ huấn luyện.

Xem các cụm từ huấn luyện được cung cấp cho ý định này và các phần được chú thích của các cụm từ huấn luyện.

  1. Hãy cân nhắc cụm từ huấn luyện "Tôi cần tổ chức một chuyến đi đến Costa Rica cho 15 thợ lặn". "Costa Rica" được chú thích bằng destination và "15" với số lượng khách. Khi bạn chú thích các phần của một cụm từ huấn luyện, Dialogflow nhận ra rằng các phần này chỉ là ví dụ về các giá trị thực tế sẽ do người dùng cuối cung cấp trong thời gian chạy. Đây là lý do tại sao đối với đầu vào ban đầu "Bạn có cung cấp dịch vụ thuê tàu cho Quần đảo Galapagos không?" Dialogflow đã trích xuất thông số đích đến từ "Quần đảo Galapagos".

Tiếp theo, chúng ta sẽ xem điều gì sẽ xảy ra nếu chúng ta không cung cấp cho nhân viên hỗ trợ thông tin đầu vào hợp lệ khi được yêu cầu điền một thông số biểu mẫu.

Dữ liệu nhập không hợp lệ

  1. Trong bảng điều khiển Trình mô phỏng, hãy nhấp vào biểu tượng Đặt lại để bắt đầu một cuộc trò chuyện mới với nhân viên hỗ trợ.
  2. Thể hiện ý định đặt vé theo nhóm, lần này đừng cho nhân viên hỗ trợ biết bạn muốn đến đâu và khi bạn được yêu cầu trả lời điểm đến có giá trị ngẫu nhiên không phải là Costa Rica, Galapagos hay Mexico.

Nhập vị trí xuất hiện không hợp lệ

  1. Trên thẻ Quản lý, hãy nhấp vào Loại thực thể trong phần Tài nguyên. Hãy lưu ý hai thẻ: trong thẻ System (Hệ thống), bạn có thể thấy các thực thể hệ thống mà tác nhân đang sử dụng. Thẻ Tuỳ chỉnh cung cấp danh sách các thực thể tuỳ chỉnh được tạo để so khớp dữ liệu riêng của nhân viên hỗ trợ này.

Thực thể tuỳ chỉnh đích đến

  1. Nhấp vào thực thể destination để tìm hiểu xem thực thể đó khớp với những giá trị nào. "Châu Âu" không phải là một trong những mục nhập và cũng không phải là từ đồng nghĩa.
  2. Trên sơ đồ quy trình, hãy mở rộng trang Thu thập thêm thông tin có chứa thông số biểu mẫu. Nhấp vào thông số destination.
  3. Trên bảng thông số, hãy di chuyển xuống phần Trình xử lý sự kiện nhắc lại, sau đó nhấp vào trình xử lý sự kiện Mặc định không khớp.

Trình xử lý sự kiện cấp thông số này chuyên xử lý hoạt động đầu vào không hợp lệ của người dùng cuối trong quá trình điền biểu mẫu. Vì "Châu Âu" là thông tin đầu vào không mong muốn, sự kiện sys.no-match-default đã được gọi và trình xử lý nhắc lại tương ứng được xác định cho sự kiện này đã được gọi. Phần Nhân viên hỗ trợ nói liệt kê hai tin nhắn nhắc lại thay thế.

Các thông báo nhắc lại tĩnh thay thế khi người dùng cuối nhập đích đến không hợp lệ.

Tuyệt vời! Những trường hợp kiểm thử này đại diện cho các tình huống phổ biến mà nhân viên hỗ trợ dự kiến sẽ xử lý một cách thích hợp. Người dùng thường đặt những câu hỏi mà các bot không thể trả lời hoặc đưa ra yêu cầu mà các bot không thể thực hiện. Việc thiết kế đuôi dài là rất phức tạp, nghĩa là tránh những lộ trình quen thuộc mà hầu hết người dùng sẽ đi theo. Hãy suy nghĩ về tất cả những vấn đề có thể xảy ra trong một cuộc trò chuyện và tất cả các đường dẫn không mong muốn hoặc không được hỗ trợ mà người dùng có thể thực hiện.

Những tiến bộ trong công nghệ nhận dạng lời nói tự động (ASR) đồng nghĩa với việc chúng ta hầu như luôn biết chính xác những gì người dùng nói. Tuy nhiên, việc xác định ý nghĩa của người dùng vẫn là một thách thức. Các cử chỉ thường không thể hiểu được khi tách biệt; chúng chỉ có thể hiểu được theo ngữ cảnh. Trong phần tiếp theo của lớp học lập trình này, chúng ta sẽ khám phá cách các mô hình ngôn ngữ lớn tạo sinh (LLM) mới nhất của Google có thể giúp cuộc trò chuyện đi đúng hướng và thúc đẩy cuộc trò chuyện.

5. Bật tính năng dự phòng tạo sinh

Tính năng dự phòng tạo sinh là gì?

Tính năng dự phòng tạo sinh là một tính năng của Dialogflow CX. Tính năng này sử dụng các mô hình ngôn ngữ lớn (LLM) của Google để tạo phản hồi của nhân viên hỗ trợ ảo.

Tính năng này giúp ích như thế nào?

Giữa các trường hợp sử dụng chính, có một số yêu cầu phổ biến của người dùng, chẳng hạn như nhắc lại nội dung mà nhân viên hỗ trợ nói trong trường hợp người dùng không hiểu, giữ dòng khi người dùng yêu cầu và tóm tắt cuộc trò chuyện. Trong bài kiểm tra đầu tiên của chúng tôi, nhân viên hỗ trợ không trả lời được câu hỏi "liveaboard là gì?" bởi vì chúng tôi không tạo ra ý định cho nó và thiết kế quy trình để xử lý các loại câu hỏi chung liên quan đến lặn có bình dưỡng khí và liveaboard.

Ngay cả khi có ý định mạnh mẽ, vẫn có khả năng lỗi. Người dùng có thể tắt tập lệnh bằng cách giữ im lặng (lỗi Không có dữ liệu đầu vào) hoặc nói điều gì đó không mong muốn (lỗi Không khớp). Mặc dù việc ngăn chặn lỗi xảy ra sẽ tốt hơn là xử lý lỗi sau khi chúng xảy ra, nhưng bạn không thể tránh hoàn toàn lỗi. Câu lệnh chung chung như "Rất tiếc, tôi không biết làm cách nào để trợ giúp" hoặc các giải pháp khả thi tối thiểu tương tự thường không đủ hiệu quả. Lời nhắc báo lỗi nên được lấy cảm hứng từ Nguyên tắc hợp tác. Theo đó, việc giao tiếp hiệu quả dựa trên giả định rằng giữa những người tham gia trò chuyện đã có sự hợp tác chưa được thực hiện.

Trong phần tiếp theo, chúng ta sẽ xem xét cách định cấu hình tính năng dự phòng tạo sinh để tăng phạm vi của ý định và đơn giản hoá việc xử lý lỗi nhằm mang lại trải nghiệm tốt hơn cho khách hàng.

Bật tính năng dự phòng tạo sinh cho toàn bộ sự kiện không khớp của quy trình

Bạn có thể bật tính năng dự phòng tạo sinh trên các trình xử lý sự kiện không khớp được dùng trong các quy trình, trang hoặc trong quá trình điền tham số. Khi tính năng dự phòng tạo sinh được bật cho một sự kiện không khớp, bất cứ khi nào sự kiện đó kích hoạt, Dialogflow sẽ tìm cách tạo một phản hồi đã tạo để phản hồi lại người dùng. Nếu quá trình tạo phản hồi không thành công, thì hệ thống sẽ gửi phản hồi thông thường theo quy định của nhân viên hỗ trợ.

Bạn có thể bật tính năng dự phòng tạo sinh trong tác nhân trên các trình xử lý sự kiện không khớp (có thể dùng trong phương thức thực hiện luồng, trang hoặc tham số).

Chúng tôi sẽ bắt đầu bật tính năng dự phòng tạo sinh cho toàn bộ quy trình sự kiện no-match-default của Liveaboard.

  1. Mở rộng Trang chủ của quy trình này.
  2. Nhấp vào sys.no-match-default trong phần Event xử lý.
  3. Đánh dấu vào mục Bật tính năng dự phòng tạo sinh trong phần Phản hồi của nhân viên hỗ trợ, rồi nhấp vào Lưu

Đánh dấu vào mục Bật tính năng dự phòng tạo sinh trong phần Phản hồi của nhân viên hỗ trợ

Lưu để bật tính năng dự phòng tạo sinh trên Trang chủ Liveaboarding

Bật tính năng dự phòng tạo sinh cho những sự kiện cụ thể không khớp

Bây giờ, chúng ta muốn bật tính năng dự phòng tạo sinh để xử lý dữ liệu đầu vào không hợp lệ khi nhân viên hỗ trợ yêu cầu số lượng hành khách:

  1. Mở trang Thu thập thêm thông tin có chứa thông số biểu mẫu. Nhấp vào thông số số lượng khách.
  2. Chuyển đến trình xử lý sự kiện Không khớp mục tiêu (cuộn xuống phần Trình xử lý sự kiện nhắc lại, sau đó nhấp vào trình xử lý sự kiện Mặc định không khớp)

Chuyển đến trình xử lý sự kiện Không khớp (di chuyển xuống phần Trình xử lý sự kiện nhắc lại, sau đó nhấp vào Trình xử lý sự kiện mặc định không khớp)

  1. Đánh dấu vào mục Bật tính năng dự phòng tạo sinh trong phần Phản hồi của nhân viên hỗ trợ

Bật tính năng dự phòng tạo sinh cho thông số số lượng khách

  1. Cuối cùng, nhấp vào Lưu
  2. Bây giờ, hãy lặp lại các bước chính xác để bật tính năng dự phòng tạo sinh cho đíchđịa chỉ email

Tuyệt vời! Bạn đã bật tính năng dự phòng tạo sinh để xử lý các ý định không mong muốn và giá trị tham số không hợp lệ. Tiếp theo, chúng ta sẽ xem cách định cấu hình tính năng dự phòng tạo sinh bằng câu lệnh bằng văn bản hướng dẫn LLM phản hồi.

6. Định cấu hình tính năng dự phòng tạo sinh

Tính năng dự phòng tạo sinh chuyển yêu cầu đến một mô hình ngôn ngữ lớn để tạo phản hồi được tạo. Yêu cầu này có dạng câu lệnh bằng văn bản, kết hợp giữa ngôn ngữ tự nhiên và thông tin về tình trạng hiện tại của nhân viên hỗ trợ và cuộc trò chuyện. Bạn có thể định cấu hình tính năng này theo nhiều cách:

  1. Chọn một câu lệnh cụ thể (đã được xác định) để dùng cho việc tạo câu trả lời.
  2. Xác định câu lệnh tuỳ chỉnh.

Chọn câu lệnh đã xác định

  1. Trên bảng điều khiển Dialogflow CX, hãy nhấp vào Cài đặt nhân viên hỗ trợ

Chuyển đến phần Cài đặt nhân viên hỗ trợ

  1. Chuyển đến thẻ ML rồi đến thẻ phụ ML.

Thẻ phụ về AI tạo sinh

Tính năng này có sẵn 2 câu lệnh mẫu, đó là mẫu Mặc định (không hiển thị) và mẫu Ví dụ hướng dẫn bạn viết câu lệnh của riêng mình.

  1. Chọn mẫu Example (Ví dụ) rồi nhấp vào nút Edit (Chỉnh sửa) ở bên phải trình đơn thả xuống để kiểm tra.

Nhấp vào nút Chỉnh sửa ở bên phải trình đơn thả xuống của mẫu để kiểm tra.

Với câu lệnh định sẵn, nhân viên hỗ trợ ảo có thể xử lý các tình huống trò chuyện cơ bản. Ví dụ:

  • Chào và tạm biệt người dùng.
  • Lặp lại nội dung nhân viên hỗ trợ nói trong trường hợp người dùng không hiểu.
  • Giữ dòng khi người dùng yêu cầu.
  • Tóm tắt cuộc trò chuyện.

Hãy thử xác định một câu lệnh cụ thể bằng văn bản cho nhân viên hỗ trợ lặn của thợ lặn!

7. Xác định câu lệnh của riêng bạn

  1. Sao chép câu lệnh dưới đây rồi dán vào phần Câu lệnh dạng văn bản
You are a friendly agent that likes helping traveling divers.
You are under development and you can only help
$flow-description

At the moment you can't help customers with land-based diving and courses. You cannot recommend local dive shops and diving resorts.

Currently you can $route-descriptions

The conversation between the human and you so far was:
${conversation USER:"Human:" AGENT:"AI"}

Then the human asked:
$last-user-utterance

You say:
  1. Chọn Lưu dưới dạng mẫu mới để lưu trữ câu lệnh mới dưới dạng mẫu mới (chọn tên mẫu mới) và Lưu ở góc dưới cùng bên phải của bảng điều khiển.

Tạo một câu lệnh dạng văn bản tuỳ chỉnh dành riêng cho nhân viên hỗ trợ rồi lưu dưới dạng mẫu mới

  1. Để lời nhắc mới tạo trở thành lời nhắc hoạt động, bạn cũng cần phải Lưu các chế độ cài đặt.

Lưu chế độ cài đặt mới

Khi bạn tự viết câu lệnh bằng văn bản, hãy rõ ràng, súc tích và mang tính quy tắc. Cách thức tạo câu lệnh cho LLM có thể ảnh hưởng đáng kể đến chất lượng phản hồi của các LLM. Các LLM được huấn luyện để làm theo hướng dẫn, do đó câu lệnh của bạn càng giống với một hướng dẫn chính xác thì bạn càng nhận được kết quả chính xác hơn. Tạo một câu lệnh và dựa trên kết quả bạn nhận được, sau đó lặp lại để cải thiện câu lệnh đó.

Để soạn câu lệnh hiệu quả, hãy làm theo các phương pháp hay nhất sau đây:

  1. Cung cấp nội dung mô tả rõ ràng và súc tích về nhiệm vụ mà bạn muốn LLM thực hiện. Không hơn, không bớt. Đảm bảo nội dung đầy đủ và ngắn gọn.
  2. Ngoài ra, lời nhắc phải cụ thể và rõ ràng, tránh sử dụng ngôn từ mơ hồ.
  3. Chia các công việc phức tạp thành các phần nhỏ hơn, dễ quản lý hơn. Bằng cách chia công việc thành các bước nhỏ hơn, bạn có thể giúp mô hình này tập trung vào từng nội dung một và giảm khả năng xảy ra lỗi hoặc nhầm lẫn.
  4. Để cải thiện chất lượng câu trả lời, hãy thêm ví dụ vào câu lệnh. LLM học theo ngữ cảnh từ các ví dụ về cách phản hồi.

Khi tạo câu lệnh, ngoài phần mô tả bằng ngôn ngữ tự nhiên về loại ngữ cảnh cần tạo, bạn cũng có thể sử dụng các phần giữ chỗ sau:

  • $conversation Cuộc trò chuyện giữa nhân viên hỗ trợ và người dùng, không bao gồm câu cuối cùng của người dùng. Bạn có thể điều chỉnh các tiền tố của rẽ (ví dụ: "Con người", "AI" hoặc "Bạn", "Nhân viên hỗ trợ") trong câu lệnh dạng văn bản
  • $last-user-utterance Câu nói gần đây nhất của người dùng.
  • $flow-description Nội dung mô tả về luồng đang hoạt động.
  • $route-descriptions Nội dung mô tả ý định của các ý định đang hoạt động.

Bây giờ, chúng ta đã có lời nhắc bằng văn bản ban đầu, nhiệm vụ tiếp theo là đảm bảo flow (luồng) và ý định (intent) có nội dung mô tả chính xác.

8. Thêm nội dung mô tả luồng và ý định

Thêm nội dung mô tả luồng

  1. Để thêm nội dung mô tả vào luồng Liveaboard, hãy truy cập vào phần cài đặt luồng bằng cách di chuột qua luồng trong phần Flow (Luồng).

Truy cập cài đặt luồng bằng cách di chuột qua luồng trong phần Luồng.

  1. Nhấp vào nút 78d2781c655810e7.png.tuỳ chọn.
  2. Chọn Flow settings (Cài đặt quy trình) rồi thêm nội dung mô tả sau (hoặc một nội dung mô tả tương tự): search, find and book liveaboards.

Thêm nội dung mô tả vào luồng Liveaboard

  1. Nhấp vào Lưu

Thêm nội dung mô tả ý định

  1. Bây giờ, hãy thêm một nội dung mô tả hay cho ý định head.send.group.request. Chuyển sang thẻ Manage (Quản lý), chọn Intents (Ý định) trong phần Resources (Tài nguyên) rồi chọn ý định head.send.group.request.
  2. Thêm mô tả sau đây: assist users with group or full charter reservations. Initially collect travel details including departure period, destination, number of guests (min 4 max 15 people), contact details. The destination must be one of the following in the Pacific: Costa Rica, Mexico, Galapagos Islands

Xin lưu ý rằng nội dung mô tả chứa thông tin quan trọng như số lượng hành khách tối thiểu và tối đa được phép trên thuyền. Xin lưu ý điều này!

  1. Nhấp vào Lưu

Và bạn đã hoàn tất! Bạn đã bật tính năng dự phòng tạo sinh trên các trình xử lý sự kiện không khớp đối với cả phương thức thực hiện luồng và tham số. Bạn cũng đã xác định câu lệnh dạng văn bản của riêng mình để yêu cầu tính năng dự phòng tạo sinh chuyển sang một mô hình ngôn ngữ lớn để tạo phản hồi tạo sinh.

Trong phần tiếp theo, bạn sẽ kiểm tra lại nhân viên hỗ trợ để xem cách nhân viên hỗ trợ này trả lời các câu hỏi khó tương tự trước đây.

9. Kiểm tra lại nhân viên hỗ trợ

Sau khi định cấu hình và bật tính năng dự phòng tạo sinh trên tác nhân ảo, bạn có thể đặt những câu hỏi khó tương tự và xem cách xử lý các câu trả lời đó.

Nhấp vào Nhân viên hỗ trợ kiểm thử để mở lại Trình mô phỏng.

Thử nghiệm lại nhân viên hỗ trợ

Hỏi lại nhân viên hỗ trợ về các cuộc trò chuyện trực tiếp và lặn biển. Từ giờ trở đi, hãy lưu ý cách mỗi hộp thoại có thông điệp do người dùng xác định cũng như câu trả lời được tạo được đánh dấu trong các hộp màu đỏ.

Kiểm tra lại nhân viên hỗ trợ và hỏi lại liveaboard là gì

Bạn có nhận được một câu trả lời hữu ích thay vì một câu gợi ý chung chung không? Tuyệt vời! Sau khi cung cấp nội dung mô tả rõ ràng và súc tích về những việc bạn muốn nhân viên hỗ trợ thực hiện (trong câu lệnh bằng văn bản và trong nội dung mô tả quy trình), bot của bạn giờ đã thông minh hơn nhiều khi trả lời các câu hỏi chi tiết mà không cần đưa ra ý định cụ thể. Khách hàng của bạn sẽ đánh giá cao việc nhân viên hỗ trợ có thể cung cấp cho họ câu trả lời sáng suốt hơn thay vì một câu trả lời không thực thi được.

Đừng e ngại và thử thách nhân viên hỗ trợ, hãy hỏi xem họ có thể giúp bạn tìm thấy khóa học lặn có bình dưỡng khí không vì bạn chưa phải là một thợ lặn được cấp chứng chỉ.

 Hỏi nhân viên hỗ trợ xem họ có thể giúp bạn tìm một khoá học lặn có bình dưỡng khí không

Đúng vậy, hiện tại chúng tôi chưa thiết kế nhân viên hỗ trợ để hỗ trợ các khoá học lặn. Làm thế nào nhân viên hỗ trợ biết điều đó? Trong câu lệnh bằng văn bản, chúng tôi đã nêu rõ những gì nhân viên hỗ trợ có thể và không thể hỗ trợ. "Hiện tại, bạn không thể hỗ trợ khách hàng về các khoá học và hoạt động lặn trên mặt đất. Bạn không thể đề xuất các cửa hàng bán thiết bị lặn tại địa phương và khu nghỉ dưỡng cho thiết bị lặn"

Bây giờ, hãy kiểm tra lại tình huống hài lòng và làm phong phú cuộc trò chuyện. Hãy xem trải nghiệm đã thay đổi như thế nào.

Kiểm tra lại tình huống vui và sáng tạo trong cuộc đối thoại

Kiểm tra lại tình huống vui và sáng tạo trong cuộc đối thoại

Khi Dialogflow khớp với một ý định hoặc cố gắng thu thập một tham số theo thiết kế luồng, công cụ này sẽ hiển thị các phương thức thực hiện được xác định tại thời điểm thiết kế. Khi người dùng tắt tập lệnh yêu cầu bản tóm tắt thông tin về chuyến đi hoặc đề nghị cung cấp số điện thoại của họ, tính năng dự phòng tạo sinh sẽ được phát huy.

Tuyệt vời! Bạn đã kiểm tra lại tình huống hài lòng này và tôi hy vọng bạn đã có cuộc trò chuyện thoải mái và tự nhiên với nhân viên hỗ trợ càng gần càng tốt với trải nghiệm của bạn với một nhân viên hỗ trợ.

Rất tiếc, một cuộc trò chuyện có thể xảy ra sự cố. Hãy tiến hành một thử nghiệm khác, lần này, khi bạn được yêu cầu về số lượng khách, hãy nói một con số lớn hơn 15.

Hãy mời số lượng khách trên 15

Hãy mời số lượng khách trên 15

Có một vài điều cần lưu ý ở đây:

  1. Tại sao 20 không phải là số hợp lệ? Bởi vì chúng tôi đã đặt giới hạn về số lượng khách được phép trong nội dung mô tả ý định: "Nhân viên hỗ trợ thu thập các thông tin như thời gian khởi hành, điểm đến, số lượng khách***(tối thiểu 4 tối đa 15 người)*** *, thông tin liên hệ*" của Google. Phản hồi tạo sinh mà LLM trả về là "Rất tiếc, chúng tôi chỉ có thể hỗ trợ các yêu cầu đặt phòng theo nhóm gồm tối đa 15 khách" hoàn toàn phù hợp với những giới hạn mà chúng tôi đặt ra về số lượng khách. Để thực thi hơn nữa, số lượng khách là một thực thể RegExp tuỳ chỉnh chỉ khớp với các số trong phạm vi từ 4 đến 15.
  2. Cuộc trò chuyện vẫn tiếp diễn vì cuối cùng người dùng vẫn muốn nhận một lời đề nghị cho 15 thợ lặn. Điều này xảy ra thường xuyên trong các cuộc trò chuyện tự nhiên và chúng ta thường xuyên thay đổi suy nghĩ của mình! Hãy chú ý đến cách nhân viên hỗ trợ hợp tác và nhẹ nhàng hướng người dùng quay lại theo lộ trình thành công.

Thiết kế cuộc hội thoại bao gồm việc viết tập lệnh cho một nửa của hộp thoại với hy vọng tập lệnh đó đủ mạnh mẽ để bất kỳ ai cũng có thể can thiệp và hành động cho nửa còn lại. Khi thiết kế cho đuôi dài, các nhà phát triển cần tập trung vào những gì người dùng có thể nói ở mỗi bước trong hộp thoại để xác định các tuyến, trình xử lý và tham số của bạn. Vì vậy, chúng tôi đã thêm tính năng dự phòng tạo sinh vào Dialogflow CX: để các nhà phát triển có thể tập trung vào các nguyên tắc thiết kế cuộc trò chuyện thay vì tập trung vào chi tiết triển khai nhằm cung cấp trải nghiệm trò chuyện mạnh mẽ cho người dùng.

Hãy kiểm tra thêm một lần nữa, lần này hãy thách thức bot một lần nữa bằng một địa điểm không có trong danh sách điểm đến hiện có như Maldives. Sau đó, chúng ta sẽ xem xét nhanh những gì xảy ra phía sau.

Thử thách bot một lần nữa bằng một địa điểm không có trong danh sách điểm đến hiện có như Maldives

Xin lưu ý rằng vì chúng ta cũng đã bật tính năng dự phòng tạo sinh trên sự kiện no-match cho tham số destination, nên yêu cầu sẽ được gửi đến một mô hình ngôn ngữ lớn để tạo phản hồi được tạo. Các phản hồi thông thường được quy định sẵn (theo thông tin của Nhân viên hỗ trợ) sẽ bị bỏ qua.

Các hộp văn bản dưới đây sẽ giúp bạn hiểu rõ hơn về cách trình giữ chỗ giúp định hình yêu cầu được gửi đến mô hình ngôn ngữ lớn.

Đây là câu lệnh dạng văn bản tuỳ chỉnh mà chúng tôi đã định cấu hình trong Dialogflow, trong đó các phần giữ chỗ được in đậm:

You are a friendly agent that likes helping traveling divers.
You are under development and you can only help
$flow-description

At the moment you can't help customers with land-based diving and courses. You cannot recommend local dive shops and diving resorts.

Currently you can $route-descriptions

The conversation between the human and you so far was:
${conversation USER:"Human:" AGENT:"AI"}

Then the human asked:
$last-user-utterance

You say:

Trong hộp văn bản bên dưới, tôi đã bao gồm dữ liệu đầu vào nhận được bởi mô hình ngôn ngữ lớn và đầu ra chứa phản hồi được tạo sẽ được trả lời cho người dùng:

llm_input:
You are a friendly agent that likes helping traveling divers.
You are under development and you can only help search, find and book liveaboards.

At the moment you can't help customers with land-based diving and courses. You cannot recommend local dive shops and diving resorts.

Currently you can assist users who are looking for a group reservation or a full charter. Initially collect travel details including departure period, destination, number of guests (min 4 max 15 people), contact details. The destination must be one of the following in the Pacific: Costa Rica, Mexico, Galapagos Islands.

The conversation between the human and you so far was:
Human: Hi, my name's Alessia
AI Hi Alessia, what can I help you with today?
Human: Can you help me find a nice boat for myself and my family?
AI To assist you with that I need to collect the details of your travel and then we'll get back to you with an offer shortly.
Where would you like to go? We can organize a charter in Costa Rica, Galapagos Islands and several locations around Mexico

Then the human asked:
The kids want to go to the Maldives

llm_output:
You say:
I'm sorry Alessia, we can only help you with liveaboards in Costa Rica, Galapagos Islands and several locations around Mexico.

Tương tự như thử nghiệm đã thực hiện trước đó, phản hồi gửi lại cho người dùng do mô hình này tạo ra và dựa trên thông tin mà chúng tôi đã cung cấp trong nội dung mô tả ý định: "Đích đến phải là một trong các điểm đến sau đây ở Thái Bình Dương: Costa Rica, Mexico, Quần đảo Galapagos"

Sửa đổi danh sách các cụm từ bị cấm

Bạn có thể định cấu hình tính năng dự phòng tạo sinh theo nhiều cách:

  1. Chọn một câu lệnh cụ thể (đã được xác định) để dùng cho việc tạo câu trả lời.
  2. Xác định câu lệnh tuỳ chỉnh.
  3. Thay đổi danh sách các cụm từ bị cấm.

Cho đến nay, chúng ta đã xem xét hai cách đầu tiên. Hãy cùng khám phá bước thứ ba.

  1. Trong phần Cài đặt nhân viên hỗ trợ, hãy chuyển đến thẻ Học máy rồi chọn thẻ phụ AI tạo sinh.
  2. Trong phần Cụm từ bị cấm, hãy thêm các câu sau vào danh sách:
  3. Dangerous country
  4. Hateful place
  5. Medical assistance
  6. Nhấp vào Lưu.
  7. Nhấp vào biểu tượng Đặt lại và kiểm tra lại trường hợp cuối cùng. Thay vì đưa ra một địa điểm lặn tuyệt đẹp trên khắp thế giới, hãy nhập một trong những cụm từ bị cấm.

Thử nghiệm một trong những cụm từ bị cấm

Hệ thống sẽ kiểm tra câu lệnh và câu trả lời đã tạo dựa trên danh sách các cụm từ bị cấm. Cụm từ bị cấm là những cụm từ mà AI tạo sinh không cho phép sử dụng. Nếu thông tin mà bạn nhập có chứa các cụm từ bị cấm hoặc các cụm từ bị cho là không an toàn, thì quá trình tạo sẽ không thành công và hệ thống sẽ đưa ra câu trả lời theo quy định thông thường (trong cùng một phương thức thực hiện mà Nhân viên hỗ trợ nói).

Tuyệt vời! Chúng tôi đã đề cập đến một loạt các tình huống trò chuyện trong đó phản hồi tạo sinh có thể thực sự tạo ra sự khác biệt. Bạn có thể tiếp tục thử nghiệm!

10. Xin chúc mừng

Bạn đã hoàn thành lớp học lập trình! Thư giãn thôi!

Nhạc Cbo thư giãn

Bạn đã tạo thành công một tác nhân ảo và đã bật tính năng dự phòng tạo sinh trên các trình xử lý sự kiện no-match được dùng trong các luồng và trong quá trình điền tham số.

Tính năng dự phòng tạo sinh kết hợp với nội dung mô tả ý định và luồng dữ liệu hiệu quả có thể đưa ra phản hồi cụ thể và hợp tác của nhân viên hỗ trợ thay vì những câu lệnh chung chung như "Rất tiếc, tôi không biết làm cách nào để trợ giúp" hoặc "Rất tiếc, bạn đã nhập tùy chọn không hợp lệ". Những lời nhắc lỗi do các mô hình ngôn ngữ lớn tạo ra có thể nhẹ nhàng hướng người dùng quay lại những lộ trình thành công hoặc đặt lại kỳ vọng của họ về những điều có thể và không thể làm.

Bạn có thể thử các tình huống trò chuyện khác và khám phá chức năng khác liên quan đến Dialogflow CXAI tạo sinh.

Dọn dẹp

Bạn có thể dọn dẹp sau đây để tránh phát sinh phí cho tài khoản Google Cloud của mình đối với các tài nguyên dùng trong lớp học lập trình này:

  • Chuyển đến bảng điều khiển Dialogflow CX và xoá tất cả các nhân viên hỗ trợ mà bạn đã tạo.
  • Trong bảng điều khiển Google Cloud, hãy chuyển đến trang API và Dịch vụ rồi tắt API Dialogflow.

Tài liệu đọc thêm

Tiếp tục tìm hiểu về AI đàm thoại và AI tạo sinh qua những hướng dẫn và tài nguyên sau:

Giấy phép

Tác phẩm này được cấp phép theo Giấy phép chung Ghi nhận tác giả Creative Commons 2.0.