1. Giới thiệu
Trong lớp học lập trình này, bạn sẽ tạo một ứng dụng trợ giúp nhân viên đa năng không cần viết mã bằng Vertex AI Search.
Giả sử bạn làm việc tại Cymbal, một công ty bán lẻ toàn cầu. Nhân viên thường có những câu hỏi như "Chính sách đặt vé đi công tác là gì?" hoặc "Chúng tôi còn bao nhiêu đôi giày thể thao còn hàng?".
Thông thường, bạn phải đăng nhập vào các hệ thống hoàn toàn khác nhau để tìm câu trả lời cho những câu hỏi này. Ngoài việc xử lý các hệ thống khác nhau, bạn cũng phải đọc qua một lượng lớn dữ liệu nhân sự không có cấu trúc hoặc chạy các câu lệnh SQL phức tạp trên dữ liệu tài chính có cấu trúc để nhận được câu trả lời cho câu hỏi của mình.
Trong lớp học lập trình này, bạn sẽ tạo một ứng dụng duy nhất, hợp nhất kết nối với các tập dữ liệu này, cho phép nhân viên nhận được câu trả lời dựa trên cuộc trò chuyện, liên kết thực tế cho câu hỏi của họ bằng các tính năng Tạo nội dung tăng cường khả năng truy xuất (RAG) của Vertex AI.
Bạn sẽ thực hiện
Trong lớp học lập trình này, bạn sẽ hoàn tất các bước sau:
- Thiết lập nguồn dữ liệu. Tạo một bộ chứa Cloud Storage cho các tài liệu nhân sự không có cấu trúc và một tập dữ liệu BigQuery cho dữ liệu tài chính có cấu trúc.
- Định cấu hình kho lưu trữ dữ liệu. Tạo kho lưu trữ dữ liệu Vertex AI Search được kết nối với các nguồn dữ liệu Cloud Storage và BigQuery.
- Kết nối ứng dụng. Tạo một ứng dụng Vertex AI Search và liên kết cả hai kho lưu trữ dữ liệu với ứng dụng đó.
- Kiểm thử ứng dụng. Tương tác với giao diện tìm kiếm hợp nhất để xác minh các câu trả lời dựa trên thông tin tổng hợp từ cả hai kho lưu trữ dữ liệu.
- Khám phá bước tiếp theo. Xem các lựa chọn để điều chỉnh mô hình AI tạo sinh và triển khai ứng dụng tìm kiếm.

Bạn cần có
- Một trình duyệt web như Chrome.
- Một dự án trên đám mây của Google Cloud đã bật tính năng thanh toán.
- Git được cài đặt trên máy cục bộ của bạn.
Lớp học lập trình này dành cho nhà phát triển ở mọi cấp độ.
2. Trước khi bắt đầu
Tạo một dự án Google Cloud và bật các API bắt buộc.
- Trong Google Cloud Console, trên trang bộ chọn dự án, hãy chọn hoặc tạo một dự án Google Cloud .
- Đảm bảo bạn đã bật tính năng thanh toán cho dự án trên đám mây của mình. Tìm hiểu cách kiểm tra xem tính năng thanh toán đã được bật trên một dự án hay chưa.
Vai trò IAM bắt buộc
Lớp học lập trình này giả định rằng bạn có vai trò Chủ sở hữu dự án cho dự án Google Cloud của mình.
Bật API
- Trong bảng điều khiển Cloud, hãy nhấp vào Kích hoạt Cloud Shell: Nếu bạn chưa từng sử dụng Cloud Shell trước đây, một ngăn sẽ xuất hiện cho phép bạn chọn bắt đầu Cloud Shell trong một môi trường đáng tin cậy có hoặc không có tính năng tăng tốc. Nếu bạn được yêu cầu cho phép Cloud Shell, hãy nhấp vào Cho phép.
- Trong Cloud Shell, hãy bật tất cả các API bắt buộc:
gcloud services enable \ discoveryengine.googleapis.com \ aiplatform.googleapis.com \ bigquery.googleapis.com \ storage.googleapis.com
3. Sao chép kho lưu trữ GitHub
Để cho biết cách tìm kiếm hoạt động trong ứng dụng trợ giúp nhân viên Cymbal, bạn cần một số tệp mô phỏng. Trong phần này, bạn sẽ sao chép một kho lưu trữ GitHub vào máy cục bộ để lấy các tệp này. Bạn sẽ tải các tệp này lên Google Cloud trong các bước sau bằng giao diện Cloud Console.
- Trong một cửa sổ dòng lệnh trên máy cục bộ, hãy sao chép kho lưu trữ
next-26-sessions:git clone https://github.com/GoogleCloudPlatform/next-26-sessions.git - Chuyển đến thư mục kho lưu trữ đã tải xuống:
cd next-26-sessions/BRK1-063-the-knowledge-source/cymbal-employee-helpdesk - Khám phá các tệp đã tải xuống trong thư mục này. Bạn sẽ nhận thấy có 2 thư mục:
HRvàFinance.- HR. Thư mục này chứa một số tệp không có cấu trúc, chẳng hạn như tệp
.doc,.txtvà.html. Bạn sẽ tải các tệp nhân sự lên một bộ chứa Cloud Storage. - Finance. Thư mục này chứa 2 tệp
.jsonl. Bạn sẽ tải các tệp này lên một tập dữ liệu BigQuery.
- HR. Thư mục này chứa một số tệp không có cấu trúc, chẳng hạn như tệp
4. Tạo một bộ chứa Cloud Storage cho các tệp không có cấu trúc
Trong phần này, bạn sẽ tạo một bộ chứa Cloud Storage và tải các tài liệu trong thư mục HR mà bạn đã tải xuống trong phần Sao chép kho lưu trữ GitHub lên. Dữ liệu không có cấu trúc, chẳng hạn như tài liệu nhân sự trong ví dụ này, không tuân theo một định dạng được xác định trước và có thể bao gồm tệp văn bản, tài liệu hoặc nội dung đa phương tiện.
- Trong bảng điều khiển Cloud, hãy chuyển đến trang Buckets (Bộ chứa).
- Nhấp vào Tạo.
- Trên trang Create a bucket (Tạo bộ chứa), hãy nhập tên của một bộ chứa. Tên phải là duy nhất trên toàn hệ thống. Ví dụ:
cymbal-app-hr-12. - Giữ lại các lựa chọn mặc định.
- Nhấp vào Tạo.Bộ chứa sẽ được tạo và trang Bucket details (Thông tin chi tiết về bộ chứa) sẽ xuất hiện. Nếu bạn không thấy trang Bucket details (Thông tin chi tiết về bộ chứa), hãy nhấp vào bộ chứa mà bạn vừa tạo.
- Trên trang Bucket details (Thông tin chi tiết về bộ chứa), hãy nhấp vào Upload (Tải lên) > Upload folder (Tải thư mục lên), rồi chọn thư mục
HRmà bạn đã tải xuống trong phần Clone a GitHub repository (Sao chép kho lưu trữ GitHub). - Xác nhận việc tải lên.

- Trên trang Bucket details (Thông tin chi tiết về bộ chứa), hãy nhấp vào thư mục
HRđể xem danh sách tệp.
5. Tạo một tập dữ liệu BigQuery cho các tệp có cấu trúc
Trong phần này, bạn sẽ tạo một tập dữ liệu BigQuery và tải các tài liệu trong thư mục Finance mà bạn đã tải xuống trong phần Sao chép kho lưu trữ GitHub vào một bảng mới. Dữ liệu có cấu trúc, chẳng hạn như tài liệu tài chính trong ví dụ này, tuân theo một định dạng được xác định trước, chẳng hạn như bản ghi trong cơ sở dữ liệu.
- Trong bảng điều khiển Cloud, hãy chuyển đến trang BigQuery.
- Trong ngăn Explorer, hãy nhấp vào tên dự án của bạn, rồi nhấp vào View actions (Xem các thao tác) (ba dấu chấm dọc) > Create dataset (Tạo tập dữ liệu).

- Trên ngăn Create dataset (Tạo tập dữ liệu), hãy nhập Dataset ID (Mã tập dữ liệu) là
cymbal_finance. - Đối với Data location (Vị trí dữ liệu), hãy chọn
US (multiple regions in United States). - Giữ lại các lựa chọn mặc định rồi nhấp vào Create dataset (Tạo tập dữ liệu).
- Trong ngăn Explorer (Trình khám phá), hãy mở rộng dự án của bạn rồi nhấp vào tập dữ liệu
cymbal_finance. - Trong ngăn thông tin chi tiết về tập dữ liệu, hãy nhấp vào Create table (Tạo bảng).
- Trên trang Create table (Tạo bảng), trong phần Source (Nguồn), hãy thực hiện các thao tác sau:
- Đối với Create table from (Tạo bảng từ), hãy chọn Upload (Tải lên).
- Đối với Select file (Chọn tệp), hãy nhấp vào Browse (Duyệt tìm), chuyển đến thư mục
Financemà bạn đã tải xuống rồi chọncymbal_employee_finance.jsonl. - Đối với File format (Định dạng tệp), hãy chọn JSONL (Newline delimited JSON) (JSONL (JSON được phân tách theo dòng mới)).
- Trong phần Destination (Đích đến), hãy nhập tên Table (Bảng) là
employee_finance. - Trong phần Schema (Giản đồ), hãy chọn hộp đánh dấu Auto-detect (Tự động phát hiện).
- Giữ lại các chế độ cài đặt mặc định khác rồi nhấp vào Create table (Tạo bảng).
- Lặp lại các bước từ 7 đến 11 để tải dữ liệu vào một bảng mới. Ở bước 8b, hãy chọn
product_inventory.jsonlvà ở bước 9, hãy nhậpproduct_inventorylàm tên Table (Bảng). Nếu bạn không thấy các bảng trong ngăn thông tin chi tiết về tập dữ liệu, hãy nhấp vào Refresh (Làm mới). - Nếu bạn đã tạo thành công tập dữ liệu và 2 bảng, thì tập dữ liệu và 2 bảng đó sẽ trông như hình ảnh sau:

6. Tạo một ứng dụng Vertex AI Search
- Trong Cloud Console, hãy chuyển đến trang Vertex AI Search.
- Trong ô Custom search (general) (Tìm kiếm tuỳ chỉnh (chung)), hãy nhấp vào Create (Tạo).
- Trên trang Search app configuration (Cấu hình ứng dụng tìm kiếm), hãy đảm bảo rằng các lựa chọn Enterprise edition features (Tính năng phiên bản dành cho doanh nghiệp) và Generative responses (Câu trả lời tạo sinh) được chọn.
- Đặt tên cho ứng dụng của bạn là
cymbal-employee-portal. - Nhập Company name (Tên công ty) là
Cymbal Corp. - Giữ lại Location of your app (Vị trí của ứng dụng) là
global. - Nhấp vào Tiếp tục.
7. Tạo và kết nối kho lưu trữ dữ liệu
Trên trang Data stores (Kho lưu trữ dữ liệu), bạn sẽ tạo các kho lưu trữ dữ liệu mà bạn sẽ kết nối với ứng dụng của mình. Bạn phải tạo 3 kho lưu trữ dữ liệu: một kho lưu trữ dữ liệu nhân sự không có cấu trúc và 2 kho lưu trữ dữ liệu tài chính có cấu trúc.
Tạo một kho lưu trữ dữ liệu cho dữ liệu không có cấu trúc
- Trên trang Data stores (Kho lưu trữ dữ liệu), hãy nhấp vào Create data store (Tạo kho lưu trữ dữ liệu).
- Đối với Select a data source (Chọn nguồn dữ liệu), hãy chọn Cloud storage (Bộ nhớ trên đám mây).
- Trên ngăn Import data from Cloud Storage (Nhập dữ liệu từ Cloud Storage), hãy chuyển đến Unstructured data import (Document search and RAG) (Nhập dữ liệu không có cấu trúc (Tìm kiếm tài liệu và RAG)) rồi chọn Documents (Tài liệu).
- Giữ lại lựa chọn Synchronization frequency (Tần suất đồng bộ hoá) là One-time (Một lần).
- Đối với Select a folder or a file that you want to import (Chọn một thư mục hoặc tệp mà bạn muốn nhập), hãy nhấp vào Folder (Thư mục).
- Trong trường
gs://..., hãy nhập tên của bộ chứa mà bạn đã tạo trong phần Create a Cloud Storage bucket for unstructured files (Tạo một bộ chứa Cloud Storage cho các tệp không có cấu trúc). Ví dụ: nếu tên của bộ chứa làcymbal-app-hr-12, hãy nhập tên làcymbal-app-hr-12/HR.Việc tiếp nhận từ thư mụcHRđảm bảo rằng chỉ các tài liệu nhân sự mới được đưa vào kho lưu trữ dữ liệu này. - Nhấp vào Tiếp tục.
- Nhập tên của kho lưu trữ dữ liệu là
cymbal-hr. - Nhấp vào Tiếp tục.
- Giữ lại lựa chọn cho General pricing (Giá chung).
- Nhấp vào Tạo.
Sau khi nhấp vào Tạo, bạn sẽ được đưa trở lại trang Data stores (Kho lưu trữ dữ liệu).
Tạo kho lưu trữ dữ liệu cho dữ liệu có cấu trúc
Bạn sẽ tạo 2 kho lưu trữ dữ liệu cho dữ liệu có cấu trúc từ BigQuery: một kho lưu trữ dữ liệu cho thông tin tài chính của nhân viên và một kho lưu trữ dữ liệu cho kho hàng.
Tạo một kho lưu trữ dữ liệu cho dữ liệu tài chính của nhân viên
- Trên trang Data stores (Kho lưu trữ dữ liệu), hãy nhấp vào Create data store (Tạo kho lưu trữ dữ liệu) một lần nữa.
- Đối với Select a data source (Chọn nguồn dữ liệu), hãy chọn BigQuery.
- Đối với Structured data import (Nhập dữ liệu có cấu trúc), hãy chọn BigQuery table with your own schema (Bảng BigQuery có giản đồ riêng).
- Giữ lại lựa chọn Synchronization frequency (Tần suất đồng bộ hoá) là One-time (Một lần).
- Đối với Select a table that you want to import (Chọn một bảng mà bạn muốn nhập), hãy nhấp vào Browse (Duyệt tìm). Trong hộp thoại Select path (Chọn đường dẫn) mở ra, hãy chọn bảng
employee_financetừ tập dữ liệucymbal_financetrong dự án của bạn. Bạn có thể thấy các bảng có tên tương tự từ các dự án khác, vì vậy, hãy đảm bảo bạn chọn bảng từ dự án của mình. - Nhấp vào Tiếp tục.
- Xem trang Review schema and assign key properties (Xem xét giản đồ và chỉ định các thuộc tính chính).
- Nhấp vào Tiếp tục.
- Nhập tên của kho lưu trữ dữ liệu là
cymbal-finance. - Nhấp vào Tiếp tục.
- Giữ lại lựa chọn cho General pricing (Giá chung).
- Nhấp vào Tạo.
Sau khi nhấp vào Tạo, bạn sẽ được đưa trở lại trang Data stores (Kho lưu trữ dữ liệu).
Tạo một kho lưu trữ dữ liệu cho dữ liệu kho hàng
- Trên trang Data stores (Kho lưu trữ dữ liệu), hãy nhấp vào Create data store (Tạo kho lưu trữ dữ liệu) một lần nữa.
- Đối với Select a data source (Chọn nguồn dữ liệu), hãy chọn BigQuery.
- Đối với Structured data import (Nhập dữ liệu có cấu trúc), hãy chọn BigQuery table with your own schema (Bảng BigQuery có giản đồ riêng).
- Giữ lại lựa chọn Synchronization frequency (Tần suất đồng bộ hoá) là One-time (Một lần).
- Đối với Select a table that you want to import (Chọn một bảng mà bạn muốn nhập), hãy nhấp vào Browse (Duyệt tìm). Trong hộp thoại Select path (Chọn đường dẫn) mở ra, hãy chọn bảng
product_inventorytừ tập dữ liệucymbal_financetrong dự án của bạn. - Nhấp vào Tiếp tục.
- Xem trang Review schema and assign key properties (Xem xét giản đồ và chỉ định các thuộc tính chính).
- Nhấp vào Tiếp tục.
- Nhập tên của kho lưu trữ dữ liệu là
cymbal-inventory. - Nhấp vào Tiếp tục.
- Giữ lại lựa chọn cho General pricing (Giá chung).
- Nhấp vào Tạo.
Sau khi nhấp vào Tạo, bạn sẽ được đưa trở lại trang Data stores (Kho lưu trữ dữ liệu).
8. Kết nối kho lưu trữ dữ liệu với ứng dụng của bạn
Bây giờ, bạn sẽ thấy 3 kho lưu trữ dữ liệu trong danh sách trên trang Data stores (Kho lưu trữ dữ liệu): cymbal-hr (không có cấu trúc), cymbal-finance (có cấu trúc) và cymbal-inventory (có cấu trúc). Để kết nối các kho lưu trữ dữ liệu này với ứng dụng của bạn, hãy làm theo các bước sau:
- Trên trang Data stores (Kho lưu trữ dữ liệu), hãy chọn cả 3 kho lưu trữ dữ liệu mà bạn vừa tạo:
cymbal-hr,cymbal-financevàcymbal-inventory. Đảm bảo bạn chọn cả 3 kho lưu trữ dữ liệu trước khi tiếp tục. - Nhấp vào Tiếp tục.
- Giữ lại lựa chọn cho General pricing (Giá chung).
- Nhấp vào Tạo.
9. Kiểm thử ứng dụng cổng thông tin nhân viên Cymbal
- Trong ứng dụng
cymbal-employee-portal, hãy nhấp vào Xem trước. - Trong hộp Tìm kiếm tại đây, hãy nhập câu hỏi sau:
What are the stipends that I get as an employee of Cymbal located in London? - Nhập một câu hỏi liên quan đến kho hàng:
How many units of sneakers do we have in stock? - Nhập một câu hỏi khác:
What is the stipend for an executive in Cymbal?
Lưu ý cách ứng dụng tìm kiếm truy xuất thông tin từ nhiều nguồn để xây dựng câu trả lời. Để trả lời những câu hỏi này, ứng dụng đã tìm kiếm trên cả dữ liệu tài chính có cấu trúc được lưu trữ trong BigQuery và tài liệu nhân sự không có cấu trúc trong Cloud Storage.
Điều này cho thấy sức mạnh của Vertex AI Search trong việc tổng hợp câu trả lời trên nhiều định dạng dữ liệu và các kho lưu trữ dữ liệu riêng biệt thành một trải nghiệm duy nhất, gắn kết.
Bạn cũng có thể điều chỉnh mô hình AI để cung cấp câu trả lời chính xác hơn và dành riêng cho miền. Để biết thêm thông tin về cách tuỳ chỉnh trải nghiệm tạo sinh, hãy tham khảo tài liệu Nhận câu trả lời và câu hỏi tiếp theo.
10. Các lựa chọn để triển khai ứng dụng
Mặc dù việc triển khai ứng dụng cho người dùng cuối nằm ngoài phạm vi của lớp học lập trình này, nhưng việc biết cách chuyển đổi ứng dụng này thành một tình huống thực tế sẽ rất hữu ích. Bạn có một số lựa chọn để tích hợp ứng dụng Vertex AI Search vào quy trình công việc của tổ chức:
- Tiện ích web tạo sẵn. Bạn có thể nhúng trực tiếp giao diện tìm kiếm hoặc trò chuyện sẵn sàng sử dụng vào trang web hoặc trang nội bộ hiện có của công ty bằng thẻ
scriptHTML. Đây là cách nhanh nhất để đưa ứng dụng của bạn đến với người dùng. - Tích hợp API tuỳ chỉnh. Để kiểm soát hoàn toàn trải nghiệm người dùng, bạn có thể sử dụng Vertex AI Search API REST hoặc thư viện ứng dụng (chẳng hạn như Python, Node.js hoặc Java) để xây dựng giao diện người dùng tuỳ chỉnh từ đầu.
11. Dọn dẹp
Để tránh bị tính phí liên tục vào tài khoản Google Cloud, hãy xoá các tài nguyên được tạo trong lớp học lập trình này:
- Trong bảng điều khiển Cloud, hãy chuyển đến trang Vertex AI Search.
- Nhấp vào See existing apps (Xem các ứng dụng hiện có).
- Đối với ứng dụng
cymbal-employee-portal, hãy nhấp vào 3 dấu chấm dọc cho More (Thêm), rồi nhấp vào Delete (Xoá). - Làm theo lời nhắc trên màn hình để xác nhận việc xoá.
- Để xoá kho lưu trữ dữ liệu, hãy nhấp vào Data stores (Kho lưu trữ dữ liệu) trên bảng điều hướng bên trái của bảng điều khiển.
- Xoá các kho lưu trữ dữ liệu
cymbal-hr,cymbal-financevàcymbal-inventory:- Đối với kho lưu trữ dữ liệu
cymbal-hr, hãy nhấp vào 3 dấu chấm dọc cho More (Thêm), rồi nhấp vào Delete (Xoá). - Làm theo lời nhắc trên màn hình để xác nhận việc xoá.
- Đối với kho lưu trữ dữ liệu
cymbal-finance, hãy nhấp vào ba dấu chấm dọc cho More, rồi nhấp vào Delete. - Làm theo lời nhắc trên màn hình để xác nhận việc xoá.
- Đối với kho lưu trữ dữ liệu
cymbal-inventory, hãy nhấp vào ba dấu chấm dọc cho More, rồi nhấp vào Delete. - Làm theo lời nhắc trên màn hình để xác nhận việc xoá.
- Đối với kho lưu trữ dữ liệu
- Chuyển đến trang Buckets rồi xoá bộ chứa mà bạn đã tạo (ví dụ:
cymbal-app-hr-12). - Chuyển đến trang BigQuery rồi xoá tập dữ liệu
cymbal_finance.
12. Xin chúc mừng
Đã hoàn thành nhiệm vụ! Bạn đã tạo thành công trải nghiệm tìm kiếm hợp nhất cho doanh nghiệp bằng Vertex AI Search.
Bằng cách thu hẹp khoảng cách giữa dữ liệu doanh nghiệp không có cấu trúc trong Cloud Storage và bản ghi có cấu trúc từ BigQuery, bạn đã tạo một công cụ mạnh mẽ có khả năng suy luận phức tạp về doanh nghiệp – tất cả đều không cần viết một dòng mã học máy nào.
Kiến thức bạn học được
- Tiếp nhận: Cách tiếp nhận tài liệu không có cấu trúc từ Cloud Storage và dữ liệu có cấu trúc từ BigQuery vào Vertex AI Search.
- Truy vấn nhiều kho lưu trữ dữ liệu. Cách truy vấn ứng dụng tìm kiếm nhiều kho lưu trữ dữ liệu để tổng hợp câu trả lời hợp nhất từ cả dữ liệu có cấu trúc và không có cấu trúc.
- Điều chỉnh và tuỳ chỉnh. Cách điều chỉnh các mô hình AI tạo sinh để cung cấp câu trả lời chính xác hơn, dành riêng cho miền.
- Các lựa chọn triển khai. Nhiều cách để tích hợp khả năng suy luận này vào các ứng dụng thực tế bằng tiện ích tạo sẵn hoặc API tuỳ chỉnh.