Trả lời câu hỏi dựa trên các cuộc trò chuyện trong Chat bằng ứng dụng Gemini AI Chat

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âu hỏi dựa trên các cuộc trò chuyện trong phòng Chat bằng công nghệ tạo sinh Công nghệ trí tuệ nhân tạo (AI) dựa trên Vertex AI có tích hợp Gemini. Ứng dụng Chat sử dụng API Sự kiện của Google Workspace cùng với Pub/Sub để nhận dạng và trả lời các câu hỏi đăng trong các phòng Chat theo thời gian thực, ngay cả khi không được nhắc đến.

Ứng dụng Chat dùng tất cả tin nhắn được gửi trong không gian dưới dạng nguồn dữ liệu và cơ sở kiến thức: khi ai đó đặt câu hỏi, Ứng dụng Chat sẽ kiểm tra để tìm những câu trả lời đã chia sẻ trước đó, sau đó chia sẻ một trang web. Nếu không tìm thấy câu trả lời, thì tức là ứng dụng không thể trả lời. Đối với mỗi câu trả lời, người dùng có thể nhấp vào nút hành động trên phụ kiện để đề cập đến người quản lý không gian bằng @và yêu cầu người quản lý để có câu trả lời. Bằng cách sử dụng Gemini AI, ứng dụng Google Chat sẽ điều chỉnh 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 nó được thêm vào.

Dưới đây là cách hoạt động của ứng dụng Chat khi hướng dẫn nhân viên làm quen với ứng dụng và không gian hỗ trợ:

  • Khi bạn đề cập đến ứng dụng trợ lý tri thức AI, ứng dụng đó sẽ được thêm vào một không gian.
    Hình 1. Charlie thêm trợ lý tri thức ứng dụng Chat vào phòng Chat.
  • Dana đặt một câu hỏi.
    Hình 2. Dana hỏi xem công ty có đào tạo diễn thuyết trước công chúng hay không.
  • Ứng dụng Chat hỗ trợ trí tuệ nhân tạo (AI) trả lời câu hỏi.
    Hình 3. Ứng dụng trợ lý tri thức AI trong Chat sẽ nhắc Vertex AI với 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 rồi chia sẻ câu trả lời.

Điều kiện tiên quyết

Mục tiêu

  • Tạo một ứng dụng trong 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 phòng Chat cuộc trò chuyện.
  • Sử dụng 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 một ứng dụng Chat .
  • Nghe và trả lời tin nhắn trong phòng Chat thực tế ngay cả khi ứng dụng Chat không trực tiếp đã gửi tin nhắn.
  • Lưu trữ thông báo bằng cách ghi và đọc từ cơ sở dữ liệu Firestore.
  • Hỗ trợ việc cộng tác trong phòng Chat bằng cách đề cập đến không gian người quản lý khi không tìm thấy câu trả lời cho câu hỏi.

Kiến trúc

Sơ đồ dưới đây thể hiện cấu trúc của Google Workspace và Tài nguyên trên Google Cloud mà trợ lý tri thức AI sử dụng Ứng dụng Chat.

Sơ đồ cấu trúc của ứng dụng Chat hỗ trợ trí tuệ nhân tạo

Ứng dụng Chat trợ lý tri thức AI hoạt động như sau:

  • Một người dùng thêm trợ lý tri thức ứng dụng Chat vào phòng Chat:

    1. Ứng dụng Chat sẽ nhắc người dùng đã thêm đơn vị quảng cáo đó vào phòng Chat để định cấu hình xác thực và uỷ quyền.

    2. Ứng dụng Chat tìm nạp tin nhắn trong không gian bằng cách gọi phương thức spaces.messages.list trong API Chat và sau đó lưu trữ các thông báo đã tìm nạp trong cơ sở dữ liệu Firestore.

    3. Ứ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, chẳng hạn như tin nhắn trong không gian. Chiến lược phát hành đĩa đơn điểm cuối thông báo của gói thuê bao là một chủ đề Pub/Sub sử dụng Eventarc để chuyển tiếp sự kiện đến ứng dụng Chat.

    4. Ứng dụng Chat đăng thông báo giới thiệu lên không gian đó.

  • Một người dùng trong phòng Chat đăng một tin nhắn:

    1. Ứng dụng Chat nhận tin nhắn theo thời gian thực trong chủ đề Pub/Sub.

    2. Ứng dụng Chat sẽ thêm tin nhắn vào Firestore cơ sở dữ liệu.

      Nếu sau đó người dùng chỉnh sửa hoặc xoá thư, Ứng dụng Chat 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 Firestore cơ sở dữ liệu.

    3. Ứng dụng Chat gửi tin nhắn cho Vertex AI với Gemini:

      1. Câu lệnh sẽ hướng dẫn Vertex AI với Gemini kiểm tra xem thông báo bao gồm một câu hỏi. 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 sau đó, ứng dụng Google Chat sẽ gửi tin nhắn đến Phòng Chat. Nếu không, đừng phản hồi.

      2. Nếu Vertex AI có Gemini trả lời câu hỏi này, Ứng dụng Chat đăng trả lời bằng cách gọi phương thức spaces.messages.create trong API Chat bằng phương thức 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 đăng a 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ý của phòng Chat.

        Tin nhắn luôn có một nút hành động trên phụ kiện mà người dùng có thể khiến ứng dụng Chat đề cập đến người quản lý không gian bằng @ để yêu cầu họ trả lời.

  • Ứng dụng Chat nhận được một thông báo vòng đời từ API Sự kiện trên Google Workspace mà gói thuê bao phòng Chat sắp hết hạn:

    1. Ứng dụng Chat gửi yêu cầu gia hạn 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 bị xoá khỏi Chat dấu cách:

    1. Ứng dụng Chat sẽ xoá gói thuê bao theo gọi phương thức subscriptions.delete trong API Sự kiện của Google Workspace.

    2. Ứng dụng Chat sẽ xoá Chat dữ liệu của Firestore.

Xem các sản phẩm mà trợ lý tri thức AI sử dụng trong ứng dụng Chat

Ứng dụng Chat trợ lý tri thức AI sử dụng sau đây là các sản phẩm Google Workspace và Google Cloud:

  • API Vertex AI với Gemini: Một nền tảng AI tạo sinh dựa trên Gemini. Trợ lý tri thức về AI Ứng dụng Chat sử dụng Vertex AI API với Gemini để nhận diện, hiểu và trả lời các câu hỏi của nhân viên.
  • API Chat: API để phát triển những ứng dụng Google Chat có khả năng nhận và phản hồi Sự kiện tương tác trong cuộc trò chuyện, chẳng hạn như tin nhắn. AI (trí tuệ nhân tạo) ứng dụng trợ lý tri thức của Chat dùng API Chat để:
    • Nhận và trả lời các sự kiện tương tác do Chat gửi.
    • Liệt kê tin nhắn được gửi trong 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 sẽ xác định cách thuộc tính đó xuất hiện trong Cuộc trò chuyện, chẳng hạn như tên và hình đại diện.
  • API Sự kiện của Google Workspace: API này cho phép bạn đăng ký sự kiện và quản lý thay đổi thông báo trên các ứng dụng của Google Workspace. Chiến lược phát hành đĩa đơn Ứng dụng Chat sử dụng trợ lý tri thức AI API Sự kiện của Google Workspace để theo dõi các thông báo đăng trong một Phòng Chat để có thể phát hiện và trả lời câu hỏi ngay cả khi không được nhắc đến.
  • Khôi phục: Cơ sở dữ liệu tài liệu không máy chủ. Trợ lý tri thức về AI Ứ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 tách riêng các dịch vụ tạo tin nhắn từ các dịch vụ xử lý những tin nhắn đó. Chiến lược phát hành đĩa đơn Trợ lý tri thức ứng dụng Chat dùng Pub/Sub để nhận các sự kiện đăng ký từ các phòng Chat.
  • Eventarc: Eventarc cho phép bạn xây dựng kiến trúc dựa trên sự kiện mà không cần triển khai, tuỳ chỉnh hoặc duy trì cơ sở hạ tầng không có đủ dữ liệu. AI (trí tuệ nhân tạo) trợ lý tri thức, ứng dụng Chat dùng Eventarc để định tuyến sự kiện từ Pub/Sub đến một phòng Chat và Hàm đám mây nhận và xử lý các sự kiện đăng ký.
  • Chức năng đám mây: Dịch vụ điện toán không máy chủ nhẹ cho phép bạn tạo Các chức năng độc lập, mục đích duy nhất có thể phản hồi Chat sự kiện tương tác và đăng ký mà không cần quản lý máy chủ hoặc thời gian chạy môi trường. Ứng dụng Chat trợ lý tri thức AI sử dụng hai Cloud Functions 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 và dưới dạng nền tảng điện toán để chạy logic sẽ xử lý và phản hồi các sự kiện này.
    • eventsApp: Nhận và xử lý phòng Chat các sự kiện như tin nhắn từ gói thuê bao Pub/Sub.
    Cloud Functions sử dụng các sản phẩm sau đây của Google Cloud để xây dựng và tài nguyên điện toán lưu trữ:
    • Cloud Build: Một nền tảng triển khai, phân phối và tích hợp 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ô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 trình bày cách tạo và định cấu hình dự án trê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

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > IAM và Quản trị > Tạo dự án.

    Chuyển đến trang Create a Project (Tạo dự án)

  2. 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. 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 thời gian dự án.

  3. Trong trường Vị trí, hãy nhấp vào Duyệt qua để hiển thị các vị trí tiềm năng cho dự án. Sau đó nhấp vào Chọn.
  4. Nhấp vào Tạo. Bảng điều khiển Google Cloud sẽ chuyển đến trang 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

Truy cập vào Google Cloud ở một trong các môi trường phát triển sau đây CLI (`gcloud`):

  • Cloud Shell: Để sử dụng thiết bị đầu cuối trực tuyến với gcloud CLI đã thiết lập, 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ộ, cài đặtkhởi động giao diện dòng lệnh (CLI) của gcloud.
    Để tạo một dự án trên đám mây, hãy dùng lệnh "gcloud Projects create":
    gcloud projects create PROJECT_ID
    Thay thế PROJECT_ID bằng cách đặt mã nhận dạng cho dự án mà bạn muốn tạo.

Bật tính năng thanh toán cho dự án trên Google Cloud

bảng điều khiển Google Cloud

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Thanh toán. Nhấp chuột Thực đơn > Thanh toán > Dự án của tôi.

    Chuyển đến phần Thanh toán cho dự án của tôi

  2. Trong phần Chọn tổ chức, hãy chọn tổ chức được liên kết với dự án Google Cloud của bạn.
  3. Trong hàng dự án, hãy mở trình đơn Hành động (), hãy nhấp vào Thay đổi thông tin thanh toán rồi chọn Tài khoản thanh toán Cloud.
  4. Nhấp vào Đặt tài khoản.

Giao diện dòng lệnh (CLI) của gcloud

  1. Để liệt kê các tài khoản thanh toán hiện có, hãy chạy:
    gcloud billing accounts list
  2. 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ế đoạn mã sau:

    • PROJECT_IDMã dự án của Dự án trên đám mây mà bạn muốn bật tính năng thanh toán.
    • BILLING_ACCOUNT_IDmã tài khoản thanh toán để liên kết dự án Google Cloud.

Bật các API

bảng điều khiển Google Cloud

  1. Trong bảng điều khiển Google Cloud, hãy bật API Google Chat, Vertex AI API Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API, API Sự kiện của Google Workspace, Eventarc API và API Quản trị của Cloud Run.

    Bật API

  2. Xác nhận rằng bạn đang bật các API theo đúng cách Dự án trên đám mây, rồi nhấp vào Tiếp theo.

  3. 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

  1. Nếu cần, hãy đặt dự án hiện tại trên Google Cloud thành dự án bạn ngày tạo:

    gcloud config set project PROJECT_ID
    

    Thay thế PROJECT_ID bằng Mã dự án của Dự án trên đám mây mà bạn đã tạo.

  2. Bật API Google Chat, Vertex AI API, Cloud Functions API API Firestore, API Cloud Build, API Pub/Sub, API Sự kiện của Google Workspace, Eventarc API và Quản trị viên Cloud Run API:

    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 tính năng xác thực và uỷ quyền

Xác thực và uỷ quyền cho phép Các tài nguyên truy cập vào ứng dụng Chat trong Google Workspace và Google Cloud.

Trong hướng dẫn này, bạn xuất bản ứng dụng Google Chat trong nội bộ để ứng dụng Có thể dùng thông tin giữ chỗ. Trước khi xuất bản Ứng dụng Google Chat bên ngoài, hãy thay thế thông tin trong phần giữ chỗ bằng thông tin thực cho màn hình xin phép.

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến Thực đơn > API và Dịch vụ > Màn hình xin phép bằng OAuth.

    Chuyển đến màn hình xin phép bằng OAuth

  2. Trong mục Loại người dùng, hãy chọn Nội bộ, rồi nhấp vào Tạo.

  3. Trong Tên ứng dụng, hãy nhập AI knowledge assistant.

  4. Trong Email hỗ trợ người dùng, hãy chọn địa chỉ email của bạn hoặc một nhóm trên Google Groups.

  5. 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.

  6. Nhấp vào Lưu và tiếp tục.

  7. 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 Cloud của mình.

  8. Trong mục 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
  9. Nhấp vào Thêm vào bảng.

  10. Nhấp vào Cập nhật.

  11. Nhấp vào Lưu và tiếp tục.

  12. Xem lại thông tin tóm tắt về quá trình đă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 cho mã ứng dụng khách OAuth

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến Thực đơn > API và Dịch vụ > Thông tin đăng nhập.

    Chuyển đến phần Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > Mã ứng dụng OAuth.

  3. Nhấp vào Loại ứng dụng > Ứng dụng web.

  4. Trong trường Tên, nhập tên cho thông tin đăng nhập. Tên này chỉ hiển thị trong bảng điều khiển Google Cloud.

  5. Trong mục URI chuyển hướng được uỷ quyền, hãy nhấp vào Thêm URI.

  6. Trong URI 1, hãy nhập nội dung sau:

    https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
    

    Thay thế đoạn mã sau:

    • REGION: khu vực của Hàm đám mây, chẳng hạn như us-central1. Sau này, khi bạn tạo hai Cloud Functions, bạn phải đặt các hàm cho giá trị này.
    • PROJECT_ID: Mã dự án của dự án trên Google Cloud mà bạn đã tạo.
  7. Nhấp vào Tạo.

  8. Trong cửa sổ Ứng dụng OAuth đã tạo, hãy nhấp vào Tải JSON xuống.

  9. Lưu tệp đã tải xuống dưới dạng client_secrets.json. Sau này, khi bạn tạo hai Cloud Functions, bạn sẽ đưa tệp client_secrets.json vào mỗi triển khai.

  10. 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ý theo dõi sự kiện trong Chat như tin nhắn và thông báo cho ứng dụng Chat bất cứ lúc nào.

Dưới đây là cách tạo chủ đề Pub/Sub:

bảng điều khiển Google Cloud

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến Thực đơn > Pub/Sub.

    Truy cập Pub/Sub

  2. Nhấp vào Tạo chủ đề.

  3. Trong Mã chủ đề, hãy nhập events-api.

  4. Bỏ chọn Add a default subscription (Thêm gói thuê bao mặc định).

  5. Trong phần Mã hoá, hãy chọn Khoá mã hoá do Google quản lý.

  6. Nhấp vào Tạo. Chủ đề Pub/Sub sẽ xuất hiện.

  7. Để 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 quyền IAM cho Chat để đăng lên chủ đề về Pub/Sub:

    1. Trong bảng events-api, hãy nhấp vào trong mục Quyền Thêm Người hiệu trưởng.

    2. Trong phần Thêm người dùng chính, trong phần Người dùng chính, hãy nhập chat-api-push@system.gserviceaccount.com.

    3. 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.

    4. Nhấp vào Lưu.

Giao diện dòng lệnh (CLI) của gcloud

  1. Tạo chủ đề Pub/Sub có mã chủ đề events-api:

    gcloud pubsub topics create events-api
    
  2. Cấp quyền cho người dùng quản lý danh tính và quyền truy cập (IAM) cho Chat để đăng lên chủ đề về 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 vẫn tồn tại 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 dữ liệu mô hình được đặt ngầm trong mã mẫu bởi model/message.jsservices/firestore-service.js tệp.

Cơ sở dữ liệu của ứng dụng Chat hỗ trợ trí tuệ nhân tạo (AI) sử dụng Mô hình dữ liệu NoSQL dựa trên giấy tờ được sắp xếp thành bộ sưu tập. Để tìm hiểu thêm, hãy xem FiKhôi phục mô hình dữ liệu.

Biểu đồ sau đây là thông tin tổng quan về trợ lý tri thức AI Mô hình dữ liệu của ứng dụng Chat:

Mô hình dữ liệu của cơ sở dữ liệu Firestore.

Thư mục gốc chứa hai bộ sưu tập:

  1. spaces, trong đó mỗi tài liệu đại diện cho một phòng Chat ứng dụng Chat sẽ được thêm vào. Mỗi thông điệp đều được thể hiện bởi một tài liệu trong tập hợp con messages.

  2. users, trong đó mỗi tài liệu đại diện cho một người dùng đã thêm Ứng dụng Chat sang phòng Chat.

Xem bộ sưu tập, tài liệu và định nghĩa các trường

spaces

Một phòng Chat gồm có trợ lý tri thức ứng dụng Chat.

Trường
Document IDString
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.
messagesSubcollection of Documents (messages)
Tin nhắn được gửi trong phòng Chat. Tương ứng với Document ID của message trong Firebase.
spaceNameString
Tên riêng biệ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 được gửi trong phòng Chat.

Trường
Document IDString
Mã nhận dạng duy nhất của một tin nhắn cụ thể.
nameString
Tên duy nhất của một tin nhắn trong API Chat. Tương ứng với tên tài nguyên của tin nhắn trong API Chat.
textString
Nội dung văn bản của tin nhắn.
timeString (Timestamp format)
Thời điểm tạo thông báo.

users

Những người dùng đã thêm trợ lý tri thức ứng dụng Chat vào phòng Chat.

Trường
Document IDString
Mã nhận dạng duy nhất của một người dùng cụ thể.
accessTokenString
Mã truy cập được cấp trong quá trình cho phép người dùng OAuth 2.0 được dùng để gọi API Google Workspace.
refreshTokenString
Mã làm mới được cấp trong quá trình uỷ quyền cho 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

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến Thực đơn > Firestore.

    Chuyển đến Firestore

  2. Nhấp vào Tạo cơ sở dữ liệu.

  3. Trong phần Chọn chế độ Firestore, hãy nhấp vào Chế độ gốc.

  4. Nhấp vào Tiếp tục.

  5. Định cấu hình cơ sở dữ liệu:

    1. Trong phần Đặt tên cho cơ sở dữ liệu, hãy để Mã cơ sở dữ liệu(default).

    2. Trong mục Loại vị trí, hãy chọn Khu vực.

    3. Trong mục 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 lân cận vị trí là Chức năng đám mây của ứng dụng Chat.

  6. 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 Firestore khu vực, chẳng hạn như dưới tên us-central1. Để có hiệu suất tốt nhất, hãy chọn cùng một vị trí hoặc lân cận vị trí là Chức năng đám mây của ứng dụng Chat.

Tạo và triển khai ứng dụng Chat

Sau khi tạo và định cấu hình dự án trên Google Cloud, bạn đã sẵn sàng để tạo bản dựng và triển khai ứng dụng Chat. Trong phần này, bạn sẽ thực hiện sau:

  1. Tạo và triển khai 2 Cloud Functions. Một email để trả lời Chat và một sự kiện tương tác để phản hồi sự kiện Pub/Sub.
  2. Tạo và triển khai ứng dụng Chat trên API Google Chat .

Tạo và triển khai Cloud Functions

Trong phần này, bạn sẽ tạo và triển khai 2 Cloud Functions có tên là:

  • app: Lưu trữ và chạy ứng dụng Chat mã phản hồi các sự kiện nhận được từ Chat dưới dạng HTTP yêu cầu.
  • eventsApp: Nhận và xử lý phòng Chat các sự kiện như tin nhắn từ Pub/Sub.

Các chức năng đám mây này kết hợp lại tạo thành trợ lý kiến thức AI Logic ứng dụng của ứng dụng Chat.

(Không bắt buộc) Trước khi tạo Cloud Functions, 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.

Xem trên GitHub

Tạo và triển khai app

bảng điều khiển Google Cloud

  1. Tải mã từ GitHub xuống dưới dạng tệp zip.

    Tải tệp zip xuống

  2. Giải nén tệp zip đã tải xuống.

    Thư mục đã trích xuất chứa toàn bộ mẫu Google Workspace kho lưu trữ.

  3. Trong thư mục đã giải nén, hãy chuyển đến Thư mục google-chat-samples-main/node/ai-knowledge-assistant.

  4. Trong thư mục google-chat-samples/node/ai-knowledge-assistant, thêm tệp client_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 cho việc xác thực và uỷ quyền.

  5. 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 những thông tin sau tệp và thư mục:

    • .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/
  6. Trong bảng điều khiển Google Cloud, hãy chuyển đến Thực đơn > Cloud Functions.

    Chuyển đến Cloud Functions

    Kiểm tra để đảm bảo dự án trên Google Cloud dành cho Ứng dụng nhắn tin đã được chọn.

  7. Nhấp vào Create Function (Tạo hàm).

  8. Trên trang Tạo hàm, hãy thiết lập hàm của bạn:

    1. Trong mục Môi trường, hãy chọn thế hệ thứ 2.
    2. Trong Tên hàm, hãy nhập app.
    3. 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 bạn đặt trong URI chuyển hướng được phép khi bạn đã tạo thông tin đăng nhập để sử dụng mã ứng dụng OAuth cho việc xác thực và uỷ quyền.
    4. Trong mục Loại điều kiện kích hoạt, hãy chọn HTTPS.
    5. Trong phần Xác thực, hãy chọn Cho phép lệnh gọi chưa được xác thực.
    6. Nhấp vào Tiếp theo.
  9. Trong Thời gian chạy, hãy chọn Node.js 20.

  10. Trong mục Điểm truy cập, hãy xoá văn bản mặc định rồi nhập app.

  11. Trong Mã nguồn, chọn Tải lên ZIP.

  12. Trong Bộ chứa đích, tạo hoặc chọn một nhóm:

    1. Nhấp vào Duyệt xem.
    2. Chọn một bộ chứa.
    3. Nhấp vào Chọn.

    Google Cloud tải tệp zip lên và giải nén các tệp thành phần trong bộ chứa này. Sau đó, Cloud Functions sao chép các tệp thành phần vào Chức năng đám mây.

  13. Trong Tệp zip, hãy tải tệp zip mà bạn đã tải xuống từ GitHub lên, đã trích xuất và nén lại:

    1. Nhấp vào Duyệt xem.
    2. Di chuyển đến và chọn tệp zip.
    3. Nhấp vào Mở.
  14. Nhấp vào Triển khai.

    Trang chi tiết về Chức năng đám mây sẽ mở ra và hàm của bạn sẽ xuất hiện có hai chỉ báo tiến trình: một chỉ báo cho bản dựng và một chỉ báo 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 đánh dấu, chức năng của bạn đã được triển khai và sẵn sàng.

  15. Chỉnh sửa mã mẫu để đặt hằng số:

    1. Trên trang Chi tiết về Chức năng đám mây, hãy nhấp vào Chỉnh sửa.
    2. Nhấp vào Tiếp theo.
    3. Trong Mã nguồn, chọn Trình chỉnh sửa cùng dòng.
    4. Trong trình chỉnh sửa cùng dòng, hãy mở rồi chỉnh sửa tệp env.js:
      1. Đặt giá trị của project thành Mã dự án trên đám mây.
      2. Đặt giá trị của location thành giá trị của Hàm đám mây khu vực, như us-central1.
  16. Nhấp vào Triển khai.

Giao diện dòng lệnh (CLI) của gcloud

  1. Sao chép mã lấy từ GitHub:

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. Chuyển sang thư mục chứa mã để nắm bắt kiến thức về AI này ứng dụng Chat có trợ lý:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  3. Trong thư mục google-chat-samples/node/ai-knowledge-assistant, thêm tệp client_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 cho việc xác thực và uỷ quyền.

  4. Chỉnh sửa tệp env.js để đặt các biến môi trường:

    1. Đặt giá trị của project thành dự án trên Cloud Mã nhận dạng.
    2. Đặt giá trị của location thành giá trị của Hàm đám mây khu vực, như us-central1.
  5. Triển khai hàm đá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 Hàm đám mây khu vực để khớp với giá trị được đặt 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

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến Thực đơn > Cloud Functions.

    Chuyển đến Cloud Functions

    Kiểm tra để đảm bảo dự án trên Google Cloud dành cho Ứng dụng nhắn tin đã được chọn.

  2. Nhấp vào Create Function (Tạo hàm).

  3. Trên trang Tạo hàm, hãy thiết lập hàm của bạn:

    1. Trong mục Môi trường, hãy chọn thế hệ thứ 2.
    2. Trong Tên hàm, hãy nhập eventsApp.
    3. 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 bạn đặt trong URI chuyển hướng được phép khi bạn đã tạo thông tin đăng nhập để sử dụng mã ứng dụng OAuth cho việc xác thực và uỷ quyền.
    4. Trong mục Loại trình kích hoạt, hãy chọn Cloud Pub/Sub.
    5. Trong chủ đề Cloud Pub/Sub, hãy chọn tên chủ đề Pub/Sub mà bạn muốn dùng có định dạng projects/PROJECT/topics/events-api trong đó PROJECT là mã dự án trên Google Cloud của bạn.
    6. 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ả.
    7. Nhấp vào Tiếp theo.
  4. Trong Thời gian chạy, hãy chọn Node.js 20.

  5. Trong mục Điểm truy cập, hãy xoá văn bản mặc định rồi nhập eventsApp.

  6. Trong Mã nguồn, hãy chọn Zip từ Cloud Storage.

  7. Trong mục Vị trí Cloud Storage, hãy nhấp vào Duyệt qua.

  8. Chọn nhóm bạn đã tải tệp zip lên khi tạo Chức năng đám mây app.

  9. Nhấp vào tệp zip bạn đã tải lên.

  10. Nhấp vào Chọn.

  11. Nhấp vào Triển khai.

    Trang chi tiết về Chức năng đám mây sẽ mở ra và hàm của bạn sẽ xuất hiện có ba chỉ báo tiến trình: một chỉ báo cho bản dựng, một chỉ báo cho dịch vụ, và một cho yếu tố kích hoạt. Khi cả 3 chỉ báo tiến trình biến mất và được thay thế bằng một dấu kiểm, hàm của bạn đã được triển khai và sẵn sàng.

  12. Chỉnh sửa mã mẫu để đặt hằng số:

    1. Trên trang Chi tiết về Chức năng đám mây, hãy nhấp vào Chỉnh sửa.
    2. Nhấp vào Tiếp theo.
    3. Trong Mã nguồn, chọn Trình chỉnh sửa cùng dòng.
    4. Trong trình chỉnh sửa cùng dòng, hãy mở rồi chỉnh sửa tệp env.js:
      1. Đặt giá trị của project thành Mã dự án trên đám mây.
      2. Đặt giá trị của location thành giá trị của Hàm đám mây khu vực, như us-central1.
  13. Nhấp vào Triển khai.

Giao diện dòng lệnh (CLI) của gcloud

  1. Trong gcloud CLI, nếu bạn chưa truy cập, hãy chuyển sang thư mục có chứa mã cho kiến thức AI này ứng dụng Chat có trợ lý mà bạn trước đây được sao chép từ GitHub:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  2. Trong thư mục google-chat-samples/node/ai-knowledge-assistant, thêm tệp client_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 cho việc xác thực và uỷ quyền.

  3. Chỉnh sửa tệp env.js để đặt các biến môi trường:

    1. Đặt giá trị của project thành dự án trên Cloud Mã nhận dạng.
    2. Đặt giá trị của location thành giá trị của Hàm đám mây khu vực, như us-central1.
  4. Triển khai hàm đá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 Hàm đám mây khu vực để khớp với giá trị được đặt 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 dán URL kích hoạt của Hàm đám mây app trong phần tiếp theo khi bạn Đị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

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến Thực đơn > Cloud Functions.

    Chuyển đến Cloud Functions

  2. Trong cột Name (Tên) của danh sách Cloud Functions, hãy nhấp vào app.

  3. Nhấp vào Điều kiện kích hoạt.

  4. Sao chép URL.

Giao diện dòng lệnh (CLI) của gcloud

  1. Mô tả hàm đám mây app:

    gcloud functions describe app
    
  2. 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 cả tên của ứng dụng Chat và URL kích hoạt của Đám mây của ứng dụng Chat Hàm mà hàm gửi sự kiện tương tác trong Chat.

  1. Trong bảng điều khiển Google Cloud, hãy nhấp vào 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.

    Chuyển đến phần cấu hình API Chat

  2. Trong Tên ứng dụng, hãy nhập AI knowledge assistant.

  3. 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.

  4. Trong Description (Nội dung mô tả), hãy nhập Answers questions with AI.

  5. Nhấp vào nút bật/tắt Bật tính năng tương tác để chuyển sang vị trí bật.

  6. Trong phần Chức năng, hãy chọn Tham gia không gian và cuộc trò chuyện nhóm.

  7. Trong mục Cài đặt kết nối, hãy chọn URL ứng dụng.

  8. Trong URL ứng dụng, hãy dán URL điều kiện kích hoạt từ Hàm đám mây app được định dạng thành https://REGION-PROJECT_ID.cloudfunctions.net/app trong đó REGION là khu vực của Chức năng đám mây, chẳng hạn như us-central1PROJECT_IDMã dự án của Dự án trên đám mây mà bạn đã tạo.

  9. 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 Workspace rồi nhập địa chỉ email của bạn.

  10. Trong phần Logs (Nhật ký), hãy chọn Log lỗi to Logging (Ghi nhật ký lỗi vào nhật ký) (không bắt buộc).

  11. Nhấp vào Lưu. Thông báo cấu hình đã lưu sẽ xuất hiện, tức là Ứng dụng Chat là sẵn sàng để thử nghiệm.

Kiểm thử ứng dụng Chat

Dùng thử ứng dụng Chat trợ lý tri thức AI trong Phòng Chat có tin nhắn bằng cách đặt câu hỏi cho AI trợ lý tri thức mà ứng dụng Chat có thể trả lời.

Sau đây là một số cách kiểm thử trợ lý tri thức AI Ứng dụng Chat:

  • Thêm ứng dụng Chat trợ lý tri thức AI vào phòng Chat hiện tại và đặt câu hỏi liên quan đến không gian đó.
  • Tạo phòng Chat và đăng một vài tin nhắn để sử dụng một nguồn dữ liệu. Có thể lấy nguồn tin nhắn từ Gemini với 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 từ Hướng dẫn phát triển bằng tổng quan về Chat rồi đặt câu hỏi về dữ liệu đó.

Trong hướng dẫn này, hãy tạo một phòng Chat rồi dán một vài đoạn văn bản từ hướng dẫn tổng quan về hoạt động phát triển bằng Chat.

  1. Mở Google Chat.

    Truy cập Google Chat

  2. Cách tạo phòng Chat:

    1. Nhấp vào Cuộc trò chuyện mới > Tạo không gian.

    2. Trong Tên không gian, hãy nhập Testing AI knowledge assistant app.

    3. Trong phần Không gian này dùng để làm gì?, hãy chọn Cộng tác.

    4. Trong phần Cài đặt quyền truy cập, hãy chọn những người có thể truy cập vào không gian.

    5. Nhấp vào Tạo.

  3. Thêm thông báo để dùng làm nguồn dữ liệu:

    1. Trong trình duyệt web, hãy truy cập vào tổng quan về hoạt động phát triển bằng Chat của chúng tôi.

    2. Sao chép và dán nội dung hướng dẫn vào phòng Chat mà bạn đã tạo.

  4. Thêm ứng dụng Chat trợ lý tri thức AI:

    1. Trong thanh soạn tin nhắn, nhập @AI knowledge assistant rồi vào trình đơn đề xuất xuất hiện, hãy chọn trợ lý tri thức AI Ứng dụng Chat rồi nhấn vào enter.

    2. Một thông báo sẽ xuất hiện hỏi xem bạn có muốn thêm trợ lý tri thức AI không Ứng dụng nhắn tin với không gian. Nhấp vào Thêm vào không gian.

    3. Nếu đây là lần đầu tiên bạn thêm ứng dụng Chat với một không gian, bạn phải định cấu hình xác thực và uỷ quyền cho Ứng dụng Chat:

      1. Nhấp vào Định cấu hình.
      2. Một cửa sổ trình duyệt hoặc thẻ mới mở ra yêu cầu bạn chọn Tài khoản Google. Chọn tài khoản bạn muốn dùng để thử nghiệm.
      3. Xem các quyền mà trợ lý tri thức AI Yêu cầu đối với ứng dụng trong Chat. Để cấp quyền, hãy nhấp vào Cho phép.
      4. Một thông báo có nội dung 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.
  5. Đặt câu hỏi:

    1. Trong thanh soạn tin nhắn, hãy nhập một câu hỏi như What are Google Chat apps?

    2. Trợ lý tri thức của ứng dụng Chat trả lời.

    3. Nếu câu trả lời chưa chính xác hoặc chưa đủ để giúp AI (không bắt buộc), cải thiện nhật ký trò chuyện, nhấp vào Nhận trợ giúp. Trợ lý tri thức mà ứng dụng Chat đề cập người quản lý không gian và yêu cầu họ trả lời câu hỏi. Lần tới, Trợ lý tri thức ứng dụng Chat sẽ biết câu trả lời!

Những điều cần cân nhắc, lựa chọn về cấu trúc thay thế và các bước tiếp theo

Phần này đánh giá những cách khác mà trợ lý tri thức AI Có thể xây dựng ứng dụng Chat.

Firestore, Cloud Storage hoặc tính năng gọi List Messages trong Chat API

Hướng dẫn này đề xuất lưu trữ dữ liệu phòng Chat như thông báo trong cơ sở dữ liệu Firestore vì công cụ này cải thiện hiệu suất so với khi gọi phương thức list trên Message bằng API Chat mỗi khi Ứng dụng Chat trả lời một câu hỏi. Ngoài ra, việc gọi list messages lặp lại có thể khiến Ứng dụng Chat đạt đến giới hạn của hạn mức API.

Tuy nhiên, nếu nhật ký trò chuyện của phòng Chat trở thành quá lâu thì việc sử dụng Firestore có thể tốn kém.

Bộ nhớ trên đám mây là giải pháp thay thế cho Firestore. Trợ lý tri thức AI cho mỗi không gian Ứng dụng Chat đang hoạt động sẽ nhận đố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 cung cấp cho Vertex AI hoạt động cùng Gemini, nhưng có hạn chế là phải mất nhiều thời gian hơn để cập nhật lịch sử cuộc trò chuyện vì bạn không thể thêm vào đối tượng trong Đám mây Bộ nhớ, chỉ thay thế bộ nhớ. Phương pháp này không có ý nghĩa nếu bạn thường xuyên cập nhật nhật ký tin nhắn nhưng sẽ là lựa chọn tốt nếu bạn cập nhật theo lô lịch sử tin nhắn định kỳ, chẳng hạn như một lần mỗi tuần.

Khắc phục sự cố

Khi một ứng dụng Google Chat hoặc card trả về một lỗi, thì phương thức Giao diện Chat hiển thị một thông báo với nội dung "Đã 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ông báo lỗi nào ngoài ứng dụng Chat hoặc thẻ 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, thông báo lỗi mô tả và dữ liệu nhật ký luôn có sẵn để giúp bạn sửa lỗi khi tính năng ghi nhật ký lỗi cho các ứng dụng trong Chat được bật. Để được trợ giúp xem, gỡ lỗi và sửa lỗi, hãy xem Khắc phục lỗi và khắc phục lỗi của Google Chat.

Dọn dẹp

Để tránh bị tính phí vào tài khoản Google Cloud của bạn cho tài nguyên được sử dụng trong hướng dẫn này, chúng tôi khuyên bạn nên xóa Dự án trên đám mây.

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Quản lý tài nguyên. Nhấp chuột Thực đơn > IAM và Quản trị viên > Quản lý tài nguyên.

    Chuyển đến Trình quản lý tài nguyên

  2. Trong danh sách dự án, hãy chọn dự án mà bạn muốn xoá rồi nhấp vào Xoá .
  3. Trong hộp thoại, hãy nhập mã dự án rồi nhấp vào Tắt để xoá dự án.