Phần hướng dẫn này trình bày cách tạo một ứng dụng Google Chat có thể trả lời các câu hỏi dựa trên các cuộc trò chuyện trong phòng Chat bằng AI tạo sinh sử dụng Vertex AI kết hợp với Gemini. Ứng dụng Chat sử dụng API Sự kiện trên Google Workspace cùng với Pub/Sub để nhận dạng và trả lời các câu hỏi được đăng trong phòng Chat theo thời gian thực, ngay cả khi không được đề cập.
Ứng dụng Chat sử dụng tất cả tin nhắn được gửi trong không gian làm nguồn dữ liệu và cơ sở kiến thức: khi có người đặt câu hỏi, ứng dụng Chat sẽ kiểm tra câu trả lời đã chia sẻ trước đó rồi chia sẻ câu trả lời đó. Nếu không tìm thấy câu trả lời nào, thì tức là ứng dụng đó không thể trả lời. Trong mỗi câu trả lời, người dùng có thể nhấp vào nút hành động phụ để @đề cập người quản lý không gian và yêu cầu câu trả lời. Bằng cách sử dụng Gemini AI, ứng dụng Google Chat sẽ thích ứng và phát triển cơ sở kiến thức khi liên tục đào tạo về các cuộc trò chuyện trong không gian.
Dưới đây là cách hoạt động của ứng dụng Chat trong quy trình làm quen và hỗ trợ cho nhân viên:
-
Hình 2. Dana hỏi liệu công ty có cung cấp chương trình đào tạo diễn thuyết trước công chúng hay không. -
Hình 3. Ứng dụng Chat của trợ lý kiến thức AI sẽ nhắc Vertex AI with Gemini trả lời câu hỏi của Dana dựa trên nhật ký trò chuyện của phòng Chat, sau đó chia sẻ câu trả lời.
Điều kiện tiên quyết
Một tài khoản Google Workspace có quyền truy cập vào Google Chat.
Truy cập vào các dịch vụ của Google Cloud để thực hiện những việc sau:
- Tạo một dự án trên Google Cloud.
- Liên kết tài khoản thanh toán trên Google Cloud với dự án trên Google Cloud. Để tìm hiểu xem bạn có quyền truy cập hay không, hãy xem bài viết Các quyền cần có để bật tính năng thanh toán.
- Sử dụng các lệnh gọi hàm Google Cloud chưa được xác thực mà bạn có thể xác minh bằng cách xác định xem tổ chức Google Cloud của bạn có sử dụng tính năng chia sẻ bị hạn chế theo miền hay không.
Nếu cần, hãy yêu cầu quản trị viên Google Cloud cấp quyền truy cập hoặc cấp quyền.
Nếu bạn sử dụng Google Cloud CLI, môi trường phát triển Node.js được định cấu hình để hoạt động với gcloud CLI. Xem bài viết Thiết lập môi trường phát triển Node.js.
Mục tiêu
- Tạo một ứng dụng Chat sử dụng AI tạo sinh để trả lời câu hỏi dựa trên kiến thức được chia sẻ trong các cuộc trò chuyện trong phòng Chat.
- Với AI tạo sinh:
- Phát hiện và trả lời các câu hỏi của nhân viên.
- Liên tục học hỏi từ các cuộc trò chuyện đang diễn ra trong phòng Chat.
- Nghe và trả lời tin nhắn trong phòng Chat theo thời gian thực, ngay cả khi ứng dụng Chat không được nhắn tin trực tiếp.
- Duy trì thông báo bằng cách ghi vào và đọc từ cơ sở dữ liệu Firestore.
- Hỗ trợ cộng tác trong phòng Chat bằng cách đề cập đến người quản lý không gian khi không tìm thấy câu trả lời nào cho câu hỏi.
Cấu trúc
Sơ đồ dưới đây cho thấy cấu trúc của các tài nguyên trong Google Workspace và Google Cloud mà ứng dụng Chat trợ lý kiến thức AI (trí tuệ nhân tạo) sử dụng.
Ứng dụng Chat trợ lý kiến thức AI hoạt động như sau:
Một người dùng thêm ứng dụng Chat trợ lý kiến thức AI vào phòng Chat:
Ứng dụng Chat sẽ nhắc người dùng đã thêm ứng dụng vào phòng Chat định cấu hình xác thực và uỷ quyền.
Ứng dụng Chat tìm nạp tin nhắn của không gian bằng cách gọi phương thức
spaces.messages.list
trong API Chat, sau đó lưu trữ các tin nhắn đã tìm nạp trong cơ sở dữ liệu Firestore.Ứng dụng Chat gọi phương thức
subscriptions.create
trong API Sự kiện của Google Workspace để bắt đầu theo dõi các sự kiện như tin nhắn trong không gian. Điểm cuối thông báo của gói thuê bao là một chủ đề Pub/Sub sử dụng Sự kiện để chuyển tiếp sự kiện đến ứng dụng Chat.Ứng dụng Chat sẽ đăng một thông báo giới thiệu lên không gian.
Một người dùng trong phòng Chat đăng tin nhắn:
Ứng dụng Chat nhận tin nhắn theo thời gian thực từ chủ đề Pub/Sub.
Ứng dụng Chat sẽ thêm thông báo vào cơ sở dữ liệu Firestore.
Nếu sau đó người dùng chỉnh sửa hoặc xoá tin nhắn, thì ứng dụng Chat sẽ nhận được sự kiện đã cập nhật hoặc bị xoá theo thời gian thực, sau đó cập nhật hoặc xoá tin nhắn trong cơ sở dữ liệu Firestore.
Ứng dụng Chat gửi thông báo đến Vertex AI thông qua Gemini:
Câu lệnh này sẽ hướng dẫn Vertex AI cùng với Gemini kiểm tra xem thông báo có chứa câu hỏi hay không. Nếu có, Gemini sẽ trả lời câu hỏi dựa trên nhật ký tin nhắn của phòng Chat được lưu giữ trong Firestore và sau đó ứng dụng Google Chat gửi tin nhắn đến phòng Chat. Nếu không, đừng phản hồi.
Nếu Vertex AI có Gemini trả lời câu hỏi, thì ứng dụng Chat sẽ đăng câu trả lời bằng cách gọi phương thức
spaces.messages.create
trong API Chat thông qua tính năng xác thực ứng dụng.Nếu Vertex AI có Gemini không thể trả lời câu hỏi, thì ứng dụng Chat sẽ đăng một thông báo cho biết không thể tìm thấy câu trả lời cho câu hỏi đó trong nhật ký hoạt động của phòng Chat.
Tin nhắn luôn có nút hành động phụ mà người dùng có thể nhấp vào. Nút này khiến ứng dụng Chat đề cập đến một người quản lý không gian bằng cách yêu cầu họ trả lời.
Ứng dụng Chat sẽ nhận được thông báo về vòng đời từ API Sự kiện của Google Workspace cho biết gói thuê bao của phòng Chat sắp hết hạn:
- Ứng dụng Chat sẽ gửi yêu cầu gia hạn gói thuê bao bằng cách gọi phương thức
subscriptions.patch
trong API Sự kiện của Google Workspace.
- Ứng dụng Chat sẽ gửi yêu cầu gia hạn gói thuê bao bằng cách gọi phương thức
Ứng dụng Chat sẽ bị xoá khỏi một phòng Chat:
Ứng dụng Chat sẽ xoá gói thuê bao bằng cách gọi phương thức
subscriptions.delete
trong API Sự kiện của Google Workspace.Ứng dụng Chat sẽ xoá dữ liệu của phòng Chat khỏi Firestore.
Xem xét các sản phẩm mà ứng dụng Chat trợ lý kiến thức AI sử dụng
Ứng dụng Chat của trợ lý kiến thức AI sử dụng các sản phẩm sau đây của Google Workspace và Google Cloud:
- API Vertex AI với Gemini: Một nền tảng AI tạo sinh sử dụng Gemini. Ứng dụng Chat trợ lý kiến thức AI sử dụng Vertex AI API với Gemini để nhận dạng, hiểu và trả lời câu hỏi của nhân viên.
-
API Chat: API để phát triển những ứng dụng Google Chat nhận và phản hồi các sự kiện tương tác trên Chat, chẳng hạn như tin nhắn. Ứng dụng Chat trợ lý kiến thức AI (trí tuệ nhân tạo) của ứng dụng Chat sử dụng API Chat để:
- Nhận và phản hồi các sự kiện tương tác do Chat gửi.
- Liệt kê tin nhắn được gửi trong một không gian.
- Đăng câu trả lời cho câu hỏi của người dùng trong một không gian.
- Định cấu hình các thuộc tính xác định cách thông tin xuất hiện trong Chat, chẳng hạn như tên và hình đại diện.
- API Sự kiện Google Workspace: API này cho phép bạn đăng ký nhận các sự kiện và quản lý thông báo về thay đổi trên các ứng dụng của Google Workspace. Ứng dụng Chat trợ lý kiến thức AI sử dụng API Sự kiện của Google Workspace để theo dõi tin nhắn được đăng trong phòng Chat, từ đó phát hiện và trả lời các câu hỏi ngay cả khi câu hỏi không được đề cập.
- Firestore: Cơ sở dữ liệu tài liệu không máy chủ. Ứng dụng Chat trợ lý kiến thức AI của ứng dụng Chat sử dụng Firestore để lưu trữ dữ liệu về tin nhắn gửi trong phòng Chat.
- Pub/Sub: Pub/Sub là một dịch vụ nhắn tin không đồng bộ và có thể mở rộng, có thể tách các dịch vụ tạo thông báo từ các dịch vụ xử lý những tin nhắn đó. Ứng dụng Chat trợ lý kiến thức AI (trí tuệ nhân tạo) của ứng dụng Chat sử dụng Pub/Sub để nhận sự kiện đăng ký từ các phòng Chat.
- Eventarc: Eventarc cho phép bạn xây dựng các kiến trúc dựa trên sự kiện mà không phải triển khai, tuỳ chỉnh hoặc bảo trì cơ sở hạ tầng đang triển khai. Ứng dụng Chat trợ lý kiến thức AI sử dụng Eventarc để định tuyến các sự kiện từ Pub/Sub đến một phòng Chat cũng như Hàm đám mây nhận và xử lý các sự kiện đăng ký.
-
Chức năng đám mây: Một dịch vụ điện toán gọn nhẹ, không máy chủ, cho phép bạn tạo các chức năng độc lập, dùng một lần, có thể phản hồi các sự kiện đăng ký và tương tác trong Chat mà không cần quản lý môi trường máy chủ hoặc môi trường thời gian chạy. Ứng dụng Chat của trợ lý kiến thức AI sử dụng hai Chức năng đám mây có tên là:
-
app
: Lưu trữ điểm cuối HTTP mà Chat gửi các sự kiện tương tác đến dưới dạng nền tảng điện toán để chạy logic giúp xử lý và phản hồi những sự kiện này. -
eventsApp
: Nhận và xử lý các sự kiện trong phòng Chat, chẳng hạn như tin nhắn từ một gói thuê bao Pub/Sub.
- Cloud Build: Một nền tảng tích hợp, phân phối và triển khai liên tục được quản lý toàn diện, chạy các bản dựng tự động.
- Cloud Run: Một môi trường được quản lý toàn diện để chạy các ứng dụng trong vùng chứa.
-
Chuẩn bị môi trường
Phần này cho biết cách tạo và định cấu hình dự án Google Cloud cho ứng dụng Chat.
Tạo một dự án trên Google Cloud
Bảng điều khiển Google Cloud
- Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > IAM và Quản trị viên > Tạo dự án.
-
Trong trường Tên dự án, hãy nhập tên mô tả cho dự án của bạn.
Không bắt buộc: Để chỉnh sửa Mã dự án, hãy nhấp vào Chỉnh sửa. Bạn không thể thay đổi mã dự án sau khi tạo dự án, vì vậy, hãy chọn một mã đáp ứng nhu cầu của bạn trong suốt vòng đời của dự án.
- Trong trường Location (Vị trí), hãy nhấp vào Browse (Duyệt qua) để xem các vị trí tiềm năng cho dự án của bạn. Sau đó, hãy nhấp vào Chọn.
- Nhấp vào Tạo. Bảng điều khiển của Google Cloud sẽ chuyển đến Trang tổng quan và dự án của bạn sẽ được tạo trong vòng vài phút.
Giao diện dòng lệnh (CLI) của gcloud
Trong một trong các môi trường phát triển sau đây, hãy truy cập vào Google Cloud CLI (`gcloud`):
-
Cloud Shell: Để sử dụng một thiết bị đầu cuối trực tuyến đã được thiết lập gcloud CLI, hãy kích hoạt Cloud Shell.
Kích hoạt Cloud Shell -
Local Shell: Để sử dụng môi trường phát triển cục bộ, hãy cài đặt và initialize gcloud CLI.
Để tạo một dự án trên Google Cloud, hãy dùng lệnh "gcloud project create" (tạo dự án gcloud):gcloud projects create PROJECT_ID
Bật tính năng thanh toán cho dự án trên Google Cloud
Bảng điều khiển Google Cloud
- Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Thanh toán. Nhấp vào biểu tượng Trình đơn > Thanh toán > Dự án của tôi.
- Trong mục Chọn một tổ chức, hãy chọn tổ chức liên kết với dự án của bạn trên Google Cloud.
- Trong hàng dự án, hãy mở trình đơn Thao tác ( ), nhấp vào Thay đổi thông tin thanh toán rồi chọn tài khoản thanh toán Cloud.
- Nhấp vào Đặt tài khoản.
Giao diện dòng lệnh (CLI) của gcloud
- Để liệt kê các tài khoản thanh toán hiện có, hãy chạy:
gcloud billing accounts list
- Liên kết tài khoản thanh toán với một dự án trên Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
Thay thế các đoạn mã sau:
PROJECT_ID
là Mã dự án của dự án Cloud mà bạn muốn bật tính năng thanh toán.BILLING_ACCOUNT_ID
là mã tài khoản thanh toán để liên kết với dự án Google Cloud.
Bật API
Bảng điều khiển Google Cloud
Trong bảng điều khiển Google Cloud, hãy bật Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, API Pub/Sub, API sự kiện của Google Workspace, API Eventarc và Cloud Run Admin API.
Xác nhận rằng bạn đang bật API trong đúng dự án Google Cloud, sau đó nhấp vào Next (Tiếp theo).
Xác nhận rằng bạn đang bật đúng API, sau đó nhấp vào Bật.
Giao diện dòng lệnh (CLI) của gcloud
Nếu cần, hãy đặt dự án Google Cloud hiện tại thành dự án mà bạn đã tạo:
gcloud config set project PROJECT_ID
Thay thế PROJECT_ID bằng Mã dự án của dự án Google Cloud bạn đã tạo.
Bật API Google Chat, API Vertex AI, API Cloud Functions, API Firestore, Cloud Build API, API Pub/Sub, API sự kiện của Google Workspace, API Eventarc và API quản trị của Cloud Run:
gcloud services enable chat.googleapis.com \ aiplatform.googleapis.com \ cloudfunctions.googleapis.com \ firestore.googleapis.com \ cloudbuild.googleapis.com \ pubsub.googleapis.com \ workspaceevents.googleapis.com \ eventarc.googleapis.com \ run.googleapis.com
Thiết lập phương thức xác thực và uỷ quyền
Việc xác thực và uỷ quyền cho phép ứng dụng Chat truy cập vào các tài nguyên trong Google Workspace và Google Cloud.
Trong hướng dẫn này, bạn sẽ phát hành ứng dụng Google Chat trong nội bộ để có thể sử dụng thông tin phần giữ chỗ. Trước khi phát hành ứng dụng Google Chat ra bên ngoài, hãy thay thế thông tin phần giữ chỗ bằng thông tin thực trên màn hình xin phép.
Định cấu hình màn hình xin phép bằng OAuth, chỉ định phạm vi và đăng ký ứng dụng
Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > API và dịch vụ > Màn hình xin phép bằng OAuth.
Trong mục Loại người dùng, hãy chọn Nội bộ, rồi nhấp vào Tạo.
Trong Tên ứng dụng, hãy nhập
AI knowledge assistant
.Trong mục Email hỗ trợ người dùng, hãy chọn địa chỉ email của bạn hoặc một nhóm Google thích hợp.
Trong phần Thông tin liên hệ của nhà phát triển, hãy nhập địa chỉ email của bạn.
Nhấp vào Lưu và tiếp tục.
Nhấp vào Add or Remove Scopes (Thêm hoặc xoá phạm vi). Một bảng điều khiển sẽ xuất hiện với danh sách phạm vi cho từng API mà bạn đã bật trong dự án trên Google Cloud của mình.
Trong phần Thêm phạm vi theo cách thủ công, hãy dán phạm vi sau:
https://www.googleapis.com/auth/chat.messages
Nhấp vào Thêm vào bảng.
Nhấp vào Cập nhật.
Nhấp vào Lưu và tiếp tục.
Xem lại tóm tắt về đăng ký ứng dụng, sau đó nhấp vào Quay lại Trang tổng quan.
Tạo thông tin xác thực mã ứng dụng OAuth
Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > API và dịch vụ > Thông tin xác thực.
Nhấp vào Tạo thông tin xác thực > Mã ứng dụng khách OAuth.
Nhấp vào Application type (Loại ứng dụng) > Web application (Ứng dụng web).
Trong trường Tên, nhập tên cho thông tin đăng nhập. Tên này chỉ hiện trong bảng điều khiển Google Cloud.
Trong URI chuyển hướng được ủy quyền, nhấp vào Thêm URI.
Trong URI 1, hãy nhập nội dung sau:
https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
Thay thế các đoạn mã sau:
- REGION: vùng của Hàm đám mây, chẳng hạn như
us-central1
. Sau này, khi tạo hai Chức năng đám mây, bạn phải đặt vùng của chúng thành giá trị này. - PROJECT_ID: Mã dự án của dự án Google Cloud bạn đã tạo.
- REGION: vùng của Hàm đám mây, chẳng hạn như
Nhấp vào Tạo.
Trong cửa sổ Đã tạo ứng dụng OAuth, hãy nhấp vào Tải JSON xuống.
Lưu tệp đã tải xuống dưới dạng
client_secrets.json
. Sau đó, khi tạo hai Hàm đám mây, bạn sẽ đưa tệpclient_secrets.json
vào trong mỗi lần triển khai.Nhấp vào OK.
Tạo chủ đề Pub/Sub
Chủ đề Pub/Sub hoạt động với API Sự kiện của Google Workspace để đăng ký nhận các sự kiện trong phòng Chat như tin nhắn và thông báo cho ứng dụng Chat theo thời gian thực.
Dưới đây là cách tạo chủ đề Pub/Sub:
Bảng điều khiển Google Cloud
Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > Pub/Sub.
Nhấp vào Tạo chủ đề.
Trong Mã chủ đề, hãy nhập
events-api
.Bỏ chọn Add a default subscription (Thêm gói thuê bao mặc định).
Trong phần Mã hoá, hãy chọn Khoá mã hoá do Google quản lý.
Nhấp vào Tạo. Chủ đề Pub/Sub sẽ xuất hiện.
Để chủ đề Pub/Sub này và API Sự kiện của Google Workspace hoạt động cùng nhau, hãy cấp cho người dùng IAM của Chat quyền đăng lên chủ đề Pub/Sub:
Trong bảng điều khiển events-api, trong phần permission, hãy nhấp vào Thêm hiệu trưởng.
Trong phần Add principals (Thêm những thành phần chính), trong phần New principals (Nguyên tắc chính mới), hãy nhập
chat-api-push@system.gserviceaccount.com
.Trong phần Chỉ định vai trò, trong mục Chọn vai trò, hãy chọn Pub/Sub > Nhà xuất bản Pub/Sub.
Nhấp vào Lưu.
Giao diện dòng lệnh (CLI) của gcloud
Tạo một chủ đề Pub/Sub có mã chủ đề
events-api
:gcloud pubsub topics create events-api
Cấp quyền cho người dùng IAM của Chat đăng bài về chủ đề Pub/Sub:
gcloud pubsub topics add-iam-policy-binding events-api \ --member='serviceAccount:chat-api-push@system.gserviceaccount.com' \ --role='roles/pubsub.publisher'
Tạo cơ sở dữ liệu Firestore
Cơ sở dữ liệu Firestore để duy trì và truy xuất dữ liệu từ các phòng Chat, chẳng hạn như tin nhắn. Bạn không xác định mô hình dữ liệu được đặt ngầm trong mã mẫu bởi các tệp model/message.js
và services/firestore-service.js
.
Cơ sở dữ liệu của ứng dụng trợ lý kiến thức AI trong Chat sử dụng mô hình dữ liệu NoSQL dựa trên Mô hình dữ liệu khôi phục.
tài liệu được sắp xếp thành các bộ sưu tập . Để tìm hiểu thêm, hãy xemSơ đồ sau đây là thông tin tổng quan về mô hình dữ liệu của ứng dụng Chat trợ lý kiến thức AI:
Thư mục gốc chứa hai tập hợp:
spaces
, trong đó mỗi tài liệu đại diện cho một phòng Chat nơi ứng dụng Chat được thêm vào. Mỗi thông điệp được biểu thị bằng một tài liệu trong tập hợp conmessages
.users
, trong đó mỗi tài liệu đại diện cho một người dùng đã thêm ứng dụng Chat vào phòng Chat.
Xem bộ sưu tập, tài liệu và định nghĩa trường
spaces
Một phòng Chat có ứng dụng Chat trợ lý kiến thức AI.
Trường | |
---|---|
Document ID | String Mã nhận dạng duy nhất của một không gian cụ thể. Một phần trong tên tài nguyên của không gian trong API Chat. |
messages | Subcollection of Documents ( Tin nhắn được gửi trong phòng Chat. Tương ứng với Document ID của message trong Firebase. |
spaceName | String Tên duy nhất của không gian trong API Chat. Tương ứng với tên tài nguyên của không gian trong API Chat. |
messages
Tin nhắn đã gửi trong phòng Chat.
Trường | |
---|---|
Document ID | String Mã nhận dạng duy nhất của một thông báo cụ thể. |
name | String Tên duy nhất của một thông báo trong API Chat. Tương ứng với tên tài nguyên của thông báo trong API Chat. |
text | String Nội dung văn bản của thư. |
time | String (Timestamp format) Thời điểm thông báo được tạo. |
users
Người dùng đã thêm ứng dụng Chat trợ lý kiến thức AI vào một phòng Chat.
Trường | |
---|---|
Document ID | String Mã nhận dạng duy nhất của một người dùng cụ thể. |
accessToken | String Mã truy cập được cấp trong quá trình cho phép người dùng OAuth 2.0 dùng để gọi API Google Workspace. |
refreshToken | String Mã làm mới được cấp trong quá trình cho phép người dùng OAuth 2.0. |
Dưới đây là cách tạo cơ sở dữ liệu Firestore:
Bảng điều khiển Google Cloud
Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > Firestore.
Nhấp vào Tạo cơ sở dữ liệu.
Trong phần Select your Firestore mode (Chọn chế độ Firestore), hãy nhấp vào Native mode (Chế độ gốc).
Nhấp vào Tiếp tục.
Định cấu hình cơ sở dữ liệu:
Trong phần Đặt tên cho cơ sở dữ liệu, hãy để Mã cơ sở dữ liệu là
(default)
.Trong mục Loại vị trí, hãy chọn Khu vực.
Trong phần Region (Khu vực), hãy chỉ định một khu vực cho cơ sở dữ liệu của bạn, chẳng hạn như
us-central1
. Để có hiệu suất tốt nhất, hãy chọn cùng một vị trí hoặc ở gần vị trí với Chức năng đám mây của ứng dụng Chat.
Nhấp vào Tạo cơ sở dữ liệu.
Giao diện dòng lệnh (CLI) của gcloud
Tạo cơ sở dữ liệu Firestore ở Chế độ gốc:
gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
Thay thế LOCATION bằng tên của vùng Firestore, chẳng hạn như
us-central1
. Để có hiệu suất tốt nhất, hãy chọn một vị trí giống hoặc gần vị trí với chức năng đám mây của ứng dụng Chat.
Tạo và triển khai ứng dụng Chat
Bây giờ, dự án trên Google Cloud đã được tạo và định cấu hình, nên bạn đã sẵn sàng tạo và triển khai ứng dụng Chat. Trong phần này, bạn sẽ thực hiện những việc sau:
- Tạo và triển khai hai Chức năng đám mây. Một để phản hồi các sự kiện tương tác với Chat và một để phản hồi các sự kiện Pub/Sub.
- Tạo và triển khai ứng dụng Chat trên trang cấu hình của API Google Chat.
Tạo và triển khai Chức năng đám mây
Trong phần này, bạn sẽ tạo và triển khai 2 Hàm đám mây có tên là:
app
: Lưu trữ và chạy mã của ứng dụng Chat để phản hồi các sự kiện nhận được từ Chat dưới dạng yêu cầu HTTP.eventsApp
: Nhận và xử lý các sự kiện trong phòng Chat, chẳng hạn như tin nhắn từ Pub/Sub.
Các Chức năng đám mây này kết hợp với nhau tạo nên logic ứng dụng của trợ lý kiến thức AI (trí tuệ nhân tạo) của ứng dụng Chat.
(Không bắt buộc) Trước khi tạo Chức năng đám mây, hãy dành chút thời gian để xem lại và làm quen với mã mẫu được lưu trữ trên GitHub.
Tạo và triển khai app
Bảng điều khiển Google Cloud
Tải mã xuống từ GitHub dưới dạng tệp zip.
Giải nén tệp zip đã tải xuống.
Thư mục đã trích xuất chứa toàn bộ kho lưu trữ mẫu của Google Workspace.
Trong thư mục đã giải nén, hãy chuyển đến thư mục
google-chat-samples-main/node/ai-knowledge-assistant
.Trong thư mục
google-chat-samples/node/ai-knowledge-assistant
, hãy thêm tệpclient_secrets.json
mà bạn đã tải xuống khi tạo thông tin xác thực mã ứng dụng khách OAuth để xác thực và uỷ quyền.Nén nội dung của thư mục
ai-knowledge-assistant
vào một tệp zip.Thư mục gốc của tệp zip phải chứa các tệp và thư mục sau:
.gcloudignore
.gitignore
README.md
deploy.sh
env.js
events_index.js
http_index.js
index.js
client_secrets.json
package-lock.json
package.json
controllers/
model/
services/
test/
Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > Cloud Functions.
Đảm bảo bạn đã chọn dự án Google Cloud cho ứng dụng Chat.
Nhấp vào
Create Function (Tạo hàm).Trên trang Tạo hàm, hãy thiết lập hàm của bạn:
- Trong mục Môi trường, hãy chọn Thế hệ thứ 2.
- Trong mục Function name (Tên hàm), hãy nhập
app
. - Trong Khu vực, hãy chọn một khu vực, chẳng hạn như
us-central1
. Khu vực này phải khớp với khu vực mà bạn đã đặt trong URI chuyển hướng được uỷ quyền khi bạn tạo thông tin xác thực mã ứng dụng khách OAuth để xác thực và uỷ quyền. - Trong mục Loại trình kích hoạt, hãy chọn HTTPS.
- Trong mục Xác thực, hãy chọn Cho phép các lệnh gọi chưa được xác thực.
- Nhấp vào Next (Tiếp theo).
Trong Runtime (Thời gian chạy), hãy chọn Node.js 20.
Trong mục Entry point (Điểm truy cập), hãy xoá văn bản mặc định rồi nhập
app
.Trong Mã nguồn, hãy chọn Tải lên tệp Zip.
Trong Bộ chứa đích, hãy tạo hoặc chọn một bộ chứa:
- Nhấp vào Duyệt xem.
- Chọn một bộ chứa.
- Nhấp vào Chọn.
Google Cloud tải tệp zip lên và trích xuất các tệp thành phần trong bộ chứa này. Sau đó, Cloud Functions sẽ sao chép các tệp thành phần vào Chức năng đám mây.
Trong tệp Zip, hãy tải tệp zip mà bạn đã tải xuống từ GitHub, được trích xuất và nén lại:
- Nhấp vào Duyệt xem.
- Di chuyển đến và chọn tệp zip.
- Nhấp vào Mở.
Nhấp vào Deploy (Triển khai).
Trang Chi tiết về các chức năng đám mây sẽ mở ra, và chức năng của bạn sẽ xuất hiện cùng với 2 chỉ báo tiến trình: một cho bản dựng và một cho dịch vụ. Khi cả hai chỉ báo tiến trình biến mất và được thay thế bằng dấu kiểm, thì chức năng của bạn đã được triển khai và sẵn sàng.
Chỉnh sửa mã mẫu để đặt các hằng số:
- Trên trang Chi tiết về chức năng của Cloud, hãy nhấp vào Edit (Chỉnh sửa).
- Nhấp vào Next (Tiếp theo).
- Trong Mã nguồn, hãy chọn Trình chỉnh sửa cùng dòng.
- Trong trình chỉnh sửa cùng dòng, hãy mở và chỉnh sửa tệp
env.js
:- Đặt giá trị của project thành mã dự án trên Google Cloud của bạn.
- Đặt giá trị của location thành vùng của Hàm đám mây, chẳng hạn như
us-central1
.
Nhấp vào Deploy (Triển khai).
Giao diện dòng lệnh (CLI) của gcloud
Sao chép mã nguồn từ GitHub:
git clone https://github.com/googleworkspace/google-chat-samples.git
Chuyển sang thư mục chứa mã cho ứng dụng Chat trợ lý kiến thức AI này:
cd google-chat-samples/node/ai-knowledge-assistant
Trong thư mục
google-chat-samples/node/ai-knowledge-assistant
, hãy thêm tệpclient_secrets.json
mà bạn đã tải xuống khi tạo thông tin xác thực mã ứng dụng khách OAuth để xác thực và uỷ quyền.Chỉnh sửa tệp
env.js
để đặt các biến môi trường:- Đặt giá trị của project thành Mã dự án trên đám mây của bạn.
- Đặt giá trị của location thành vùng của Hàm đám mây, chẳng hạn như
us-central1
.
Triển khai chức năng đám mây cho Google Cloud:
gcloud functions deploy app \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=app \ --trigger-http \ --allow-unauthenticated
Thay thế REGION bằng giá trị của vùng của Hàm đám mây để khớp với vùng chứa trong tệp
env.js
, chẳng hạn nhưus-central1
.
Tạo và triển khai eventsApp
Bảng điều khiển Google Cloud
Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > Cloud Functions.
Đảm bảo bạn đã chọn dự án Google Cloud cho ứng dụng Chat.
Nhấp vào
Create Function (Tạo hàm).Trên trang Tạo hàm, hãy thiết lập hàm của bạn:
- Trong mục Môi trường, hãy chọn Thế hệ thứ 2.
- Trong mục Function name (Tên hàm), hãy nhập
eventsApp
. - Trong Khu vực, hãy chọn một khu vực, chẳng hạn như
us-central1
. Khu vực này phải khớp với khu vực mà bạn đã đặt trong URI chuyển hướng được uỷ quyền khi bạn tạo thông tin xác thực mã ứng dụng khách OAuth để xác thực và uỷ quyền. - Trong mục Loại trình kích hoạt, hãy chọn Cloud Pub/Sub.
- Trong chủ đề Cloud Pub/Sub, hãy chọn tên chủ đề Pub/Sub mà bạn
đã tạo, có định dạng
projects/PROJECT/topics/events-api
, trong đó PROJECT là mã dự án Cloud của bạn. - Nếu bạn thấy một thông báo bắt đầu đến
Service account(s) might not have enough permissions to deploy the function with the selected trigger.
, hãy nhấp vào Cấp tất cả. - Nhấp vào Next (Tiếp theo).
Trong Runtime (Thời gian chạy), hãy chọn Node.js 20.
Trong mục Entry point (Điểm truy cập), hãy xoá văn bản mặc định rồi nhập
eventsApp
.Trong Mã nguồn, hãy chọn Zip from Cloud Storage.
Trong vị trí Cloud Storage, hãy nhấp vào Browse (Duyệt qua).
Chọn bộ chứa mà bạn đã tải tệp zip lên khi tạo Hàm đám mây
app
.Nhấp vào tệp zip mà bạn đã tải lên.
Nhấp vào Chọn.
Nhấp vào Deploy (Triển khai).
Trang Chi tiết về các Chức năng đám mây sẽ mở ra, và hàm của bạn sẽ xuất hiện cùng với 3 chỉ báo tiến trình: một cho bản dựng, một cho dịch vụ và một cho điều kiện kích hoạt. Khi cả 3 chỉ báo tiến trình biến mất và được thay thế bằng dấu kiểm, thì chức năng của bạn đã được triển khai và sẵn sàng.
Chỉnh sửa mã mẫu để đặt các hằng số:
- Trên trang Chi tiết về chức năng của Cloud, hãy nhấp vào Edit (Chỉnh sửa).
- Nhấp vào Next (Tiếp theo).
- Trong Mã nguồn, hãy chọn Trình chỉnh sửa cùng dòng.
- Trong trình chỉnh sửa cùng dòng, hãy mở và chỉnh sửa tệp
env.js
:- Đặt giá trị của project thành mã dự án trên Google Cloud của bạn.
- Đặt giá trị của location thành vùng của Hàm đám mây, chẳng hạn như
us-central1
.
Nhấp vào Deploy (Triển khai).
Giao diện dòng lệnh (CLI) của gcloud
Trong gcloud CLI, nếu bạn chưa ở đó, hãy chuyển sang thư mục chứa mã cho ứng dụng Chat trợ lý kiến thức AI mà bạn từng sao chép từ GitHub:
cd google-chat-samples/node/ai-knowledge-assistant
Trong thư mục
google-chat-samples/node/ai-knowledge-assistant
, hãy thêm tệpclient_secrets.json
mà bạn đã tải xuống khi tạo thông tin xác thực mã ứng dụng khách OAuth để xác thực và uỷ quyền.Chỉnh sửa tệp
env.js
để đặt các biến môi trường:- Đặt giá trị của project thành Mã dự án trên đám mây của bạn.
- Đặt giá trị của location thành vùng của Hàm đám mây, chẳng hạn như
us-central1
.
Triển khai chức năng đám mây cho Google Cloud:
gcloud functions deploy eventsApp \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=eventsApp \ --trigger-topic=events-api
Thay thế REGION bằng giá trị của vùng của Hàm đám mây để khớp với vùng chứa trong tệp
env.js
, chẳng hạn nhưus-central1
.
Sao chép URL kích hoạt của Hàm đám mây app
Bạn sẽ dán URL điều kiện kích hoạt của Hàm app
Cloud vào phần tiếp theo khi Định cấu hình ứng dụng Chat trong bảng điều khiển Google Cloud.
Bảng điều khiển Google Cloud
Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > Cloud Functions.
Trong cột Name (Tên) của danh sách Cloud Functions, hãy nhấp vào biểu tượng
app
.Nhấp vào Điều kiện kích hoạt.
Sao chép URL.
Giao diện dòng lệnh (CLI) của gcloud
Mô tả hàm đám mây của
app
:gcloud functions describe app
Sao chép thuộc tính
url
.
Định cấu hình ứng dụng Chat trong bảng điều khiển Google Cloud
Phần này trình bày cách định cấu hình API Chat trong bảng điều khiển Google Cloud với thông tin về ứng dụng Chat của bạn, bao gồm tên của ứng dụng Chat và URL kích hoạt chức năng đám mây của ứng dụng Chat mà ứng dụng gửi sự kiện tương tác với Chat đến.
Trong bảng điều khiển Google Cloud, hãy nhấp vào biểu tượng Trình đơn > Sản phẩm khác > Google Workspace > Thư viện sản phẩm > API Google Chat > Quản lý > Cấu hình.
Trong Tên ứng dụng, hãy nhập
AI knowledge assistant
.Trong URL hình đại diện, hãy nhập
https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg
.Trong phần Mô tả, hãy nhập
Answers questions with AI
.Nhấp vào nút bật/tắt Bật tính năng tương tác sang vị trí bật.
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 URL ứng dụng.
Trong URL ứng dụng, hãy dán URL trình kích hoạt từ
app
Hàm có định dạnghttps://
REGION-
PROJECT_ID.cloudfunctions.net/app
, trong đó REGION là vùng của Chức năng đám mây, chẳng hạn nhưus-central1
và PROJECT_ID là Mã dự án của dự án Google Cloud bạn đã tạo.Trong phần Chế độ hiển thị, hãy chọn Cung cấp ứng dụng Chat này cho những người và nhóm cụ thể trong miền Workspace của bạn rồi nhập địa chỉ email của bạn.
(Không bắt buộc) Trong phần Logs (Nhật ký), hãy chọn Log errors to Logging (Ghi nhật ký lỗi vào nhật ký).
Nhấp vào Lưu. Một thông báo đã lưu cấu hình sẽ xuất hiện, nghĩa là ứng dụng Chat đã sẵn sàng để thử nghiệm.
Kiểm thử ứng dụng Chat
Kiểm thử ứng dụng Chat trợ lý kiến thức AI trong phòng Chat thông qua tin nhắn bằng cách đặt câu hỏi mà ứng dụng Chat trợ lý kiến thức AI có thể trả lời.
Sau đây là một số cách kiểm thử ứng dụng Chat trợ lý kiến thức AI:
- Thêm ứng dụng Chat trợ lý kiến thức AI vào một phòng Chat hiện có và đặt câu hỏi liên quan đến không gian đó.
- Tạo phòng Chat rồi đăng một số tin nhắn để dùng làm nguồn dữ liệu. Bạn có thể lấy tin nhắn từ Gemini bằng một câu lệnh như
Answer 20 common onboarding questions employees ask their teams.
Hoặc bạn có thể dán một vài đoạn trong hướng dẫn phát triển bằng tổng quan về Chat rồi đặt câu hỏi về thông báo đó.
Đối với hướng dẫn này, hãy tạo phòng Chat và dán một vài đoạn trong hướng dẫn tổng quan về phát triển bằng Chat.
Mở Google Chat.
Tạo phòng Chat:
Nhấp vào > Tạo không gian.
Cuộc trò chuyện mớiTrong Tên không gian, hãy nhập
Testing AI knowledge assistant app
.Trong phần Không gian này dùng để làm gì?, hãy chọn Cộng tác.
Trong phần Cài đặt quyền truy cập, hãy chọn người có thể truy cập vào không gian.
Nhấp vào Tạo.
Thêm tin nhắn để sử dụng làm nguồn dữ liệu:
Trong trình duyệt web, hãy truy cập hướng dẫn tổng quan về phát triển bằng Chat.
Sao chép và dán nội dung hướng dẫn vào phòng Chat bạn đã tạo.
Thêm ứng dụng Chat trợ lý kiến thức AI:
Trong thanh soạn tin nhắn, hãy nhập
@AI knowledge assistant
. Trong trình đơn đề xuất xuất hiện, hãy chọn ứng dụng Chat trợ lý kiến thức AI rồi nhấn vàoenter
.Một thông báo sẽ xuất hiện hỏi xem bạn có muốn thêm ứng dụng Chat trợ lý kiến thức AI vào không gian hay không. Nhấp vào Thêm vào không gian.
Nếu đây là lần đầu tiên thêm ứng dụng Chat vào một không gian, bạn phải định cấu hình phương thức xác thực và uỷ quyền cho ứng dụng Chat:
- Nhấp vào Định cấu hình.
- Một cửa sổ trình duyệt hoặc thẻ mới sẽ mở ra và yêu cầu bạn chọn một Tài khoản Google. Chọn tài khoản bạn muốn kiểm thử.
- Xem lại các quyền mà ứng dụng Chat trợ lý kiến thức AI yêu cầu. Để cấp quyền, hãy nhấp vào Cho phép.
- Một thông báo cho biết
You may close this page now.
sẽ xuất hiện. Đóng cửa sổ trình duyệt hoặc thẻ và quay lại phòng Chat.
Đặt câu hỏi:
Trong thanh soạn tin nhắn, hãy nhập một câu hỏi như
What are Google Chat apps?
Ứng dụng Chat hỗ trợ kiến thức AI sẽ trả lời.
Để giúp nhật ký trò chuyện của AI cải thiện (không bắt buộc), nếu câu trả lời không chính xác hoặc không đủ, hãy nhấp vào
Yêu cầu trợ giúp. Ứng dụng Chat trợ lý kiến thức AI của ứng dụng Chat đề cập đến một người quản lý không gian và yêu cầu người đó trả lời câu hỏi. Lần tới, ứng dụng Chat trợ lý kiến thức AI sẽ biết câu trả lời!
Những yếu tố cần cân nhắc, lựa chọn cấu trúc thay thế và các bước tiếp theo
Phần này đề cập đến các cách khác để xây dựng ứng dụng Chat trợ lý kiến thức AI.
Firestore, Cloud Storage hoặc Tin nhắn danh sách gọi trong API Chat
Hướng dẫn này đề xuất lưu trữ dữ liệu của phòng Chat như tin nhắn trong cơ sở dữ liệu Firestore vì cách này giúp cải thiện hiệu suất so với việc gọi phương thức list
trên tài nguyên Message
bằng API Chat mỗi khi ứng dụng Chat trả lời câu hỏi. Ngoài ra, việc gọi list messages
nhiều lần có thể khiến ứng dụng Chat đạt đến giới hạn hạn mức API.
Tuy nhiên, nếu nhật ký trò chuyện của một phòng Chat quá dài thì việc sử dụng Firestore có thể sẽ tốn kém.
Cloud Storage là giải pháp thay thế cho Firestore. Mỗi không gian có ứng dụng Chat trợ lý kiến thức AI đang hoạt động sẽ có một đối tượng riêng và mỗi đối tượng là một tệp văn bản chứa tất cả tin nhắn trong không gian đó. Ưu điểm của phương pháp này là toàn bộ nội dung của tệp văn bản có thể được cấp cho Vertex AI thông qua Gemini cùng một lúc, nhưng hạn chế là bạn phải mất nhiều công sức hơn để cập nhật nhật ký trò chuyện vì bạn không thể thêm vào một đối tượng trong Cloud Storage, mà chỉ thay thế được. Phương pháp này sẽ không có ý nghĩa nếu bạn thường xuyên cập nhật nhật ký thông báo, nhưng bạn nên cập nhật hàng loạt nhật ký thông báo theo định kỳ, chẳng hạn như một lần mỗi tuần.
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 của Chat không hiển thị thông báo lỗi nào, nhưng ứng dụng hoặc thẻ Chat 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 hiển thị trong giao diện người dùng 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 về việc xem, gỡ lỗi và sửa lỗi, hãy xem phần Khắc phục sự cố và sửa lỗi trên Google Chat.
Dọn dẹp
Để tài khoản Google Cloud của bạn không bị tính phí cho các tài nguyên dùng trong hướng dẫn này, bạn nên xoá dự án trên Google Cloud đó.
- 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 & Admin (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 Shut Down (Tắt) để xoá dự án.
Chủ đề có liên quan
- Quản lý dự án bằng Google Chat, Vertex AI và Firestore
- Ứng phó với sự cố bằng Google Chat, Vertex AI và Apps Script