Tạo một ứng dụng trợ giúp nhân viên đa năng không cần lập trình bằng Vertex AI Search

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 chung cho nhân viên mà không cần lập trình 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 chuyến công tác là gì?" hoặc "Chúng ta còn bao nhiêu đôi giày thể thao trong kho?".

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 những câu trả lời này. Ngoài việc xử lý nhiều hệ thống, 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ác câu hỏi của mình.

Trong lớp học lập trình này, bạn sẽ xây dựng 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 đàm thoại, có căn cứ cho các câu hỏi của họ bằng cách sử dụng các chức năng Tạo sinh 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 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 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 có căn cứ tổng hợp thông tin từ cả hai kho dữ liệu.
  • Khám phá các bước tiếp theo. Các lựa chọn xem xét để điều chỉnh mô hình AI tạo sinh và triển khai ứng dụng tìm kiếm của bạn.

Sơ đồ cấu trúc ứng dụng cho thấy Vertex AI Search

Bạn cần có

  • Một trình duyệt web như Chrome.
  • Một dự án trên 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 trên Google Cloud và bật các API bắt buộc.

  1. Trong Google Cloud Console, trên trang chọn dự án, hãy chọn hoặc tạo một dự án trên Google Cloud .
  2. Đảm bảo bạn đã bật tính năng thanh toán cho dự án trên Cloud. Tìm hiểu cách kiểm tra xem tính năng thanh toán có được bật trên một dự án hay không.

Các 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

  1. Trong bảng điều khiển Google 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, một ngăn sẽ xuất hiện để bạn chọn khởi động Cloud Shell trong một môi trường đáng tin cậy có hoặc không có chế độ tăng tốc. Nếu được yêu cầu uỷ quyền cho Cloud Shell, hãy nhấp vào Uỷ quyền.
  2. 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ữ trên GitHub

Để minh hoạ cách hoạt động tìm kiếm trong ứng dụng trợ giúp nhân viên của Cymbal, bạn cần có 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.

  1. 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
    
  2. 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
    
  3. 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ó hai thư mục: HR và 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ư các tệp .doc, .txt và .html. Bạn sẽ tải các tệp HR lên một bộ chứa Cloud Storage.
    • Tài chính. 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.

4. Tạo 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 vùng 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. Dữ liệu không có cấu trúc (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.

  1. Trong Cloud Console, hãy chuyển đến trang Buckets (Nhóm lưu trữ).
  2. Nhấp vào Tạo.
  3. Trên trang Tạo vùng lưu trữ, hãy nhập tên của một vùng lưu trữ. Tên phải là duy nhất trên toàn hệ thống. Ví dụ: cymbal-app-hr-12.
  4. Giữ lại các lựa chọn mặc định.
  5. Nhấp vào Tạo.Thùng sẽ được tạo và trang Chi tiết về thùng sẽ xuất hiện. Nếu bạn không thấy trang Chi tiết về nhóm tài sản, hãy nhấp vào nhóm tài sản mà bạn vừa tạo.
  6. Trên trang Bucket details (Thông tin chi tiết về nhóm tài nguyên), 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 HR mà bạn đã tải xuống trong phần Sao chép kho lưu trữ GitHub.
  7. Xác nhận tải lên.Tạo vùng lưu trữ
  8. Trên trang Bucket details (Chi tiết về bộ chứa), hãy nhấp vào thư mục HR để xem danh sách tệp.Tệp trong nhóm

5. Tạo 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ư các 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ư các bản ghi trong cơ sở dữ liệu.

  1. Trong Cloud Console, hãy chuyển đến trang BigQuery.
  2. Trong ngăn Trình khám phá, hãy nhấp vào tên dự án của bạn, rồi nhấp vào Xem các thao tác (biểu tượng ba dấu chấm dọc) > Tạo tập dữ liệu.Tạo tập dữ liệu
  3. Trên ngăn Tạo tập dữ liệu, hãy nhập Mã nhận dạng tập dữ liệu là cymbal_finance.
  4. Đối với Vị trí dữ liệu, hãy chọn US (multiple regions in United States).
  5. Giữ lại các lựa chọn mặc định rồi nhấp vào Tạo tập dữ liệu.
  6. 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.
  7. Trong ngăn thông tin chi tiết về tập dữ liệu, hãy nhấp vào Tạo bảng.
  8. Trên trang Tạo bảng, trong phần Nguồn, hãy làm như sau:
    1. Đối với Tạo bảng từ, hãy chọn Tải lên.
    2. Đối với Chọn tệp, hãy nhấp vào Duyệt qua, chuyển đến thư mục Finance mà bạn đã tải xuống rồi chọn cymbal_employee_finance.jsonl.
    3. Đối với Định dạng tệp, hãy chọn JSONL (Newline delimited JSON).
  9. Trong mục Đích đến, hãy nhập tên Bảng là employee_finance.
  10. Trong phần Lược đồ, hãy chọn hộp đánh dấu Tự động phát hiện.
  11. Giữ lại các chế độ cài đặt mặc định khác rồi nhấp vào Tạo bảng.
  12. 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.jsonl, còn ở bước 9, hãy nhập product_inventory làm tên 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 Làm mới.
  13. 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 đó sẽ có dạng như hình ảnh sau:Tập dữ liệu tài chính của Cymbal

6. Tạo một ứng dụng Vertex AI Search

  1. Trong Cloud Console, hãy chuyển đến trang Vertex AI Search.
  2. Trong ô Tìm kiếm tuỳ chỉnh (chung), hãy nhấp vào Tạo.
  3. Trên trang Cấu hình ứng dụng Tìm kiếm, hãy đảm bảo bạn đã chọn các mục Tính năng của phiên bản dành cho doanh nghiệp và Câu trả lời tạo sinh.
  4. Đặt tên cho ứng dụng của bạn là cymbal-employee-portal.
  5. Nhập Tên công ty là Cymbal Corp.
  6. Giữ nguyên Vị trí của ứng dụng là global.
  7. Nhấp vào Tiếp tục.

7. Tạo và kết nối kho dữ liệu

Trên trang Kho dữ liệu, bạn tạo các kho 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 dữ liệu: một cho dữ liệu nhân sự không có cấu trúc và hai cho dữ liệu tài chính có cấu trúc.

Tạo kho dữ liệu cho dữ liệu không có cấu trúc

  1. Trên trang Kho dữ liệu, hãy nhấp vào Tạo kho dữ liệu.
  2. Đối với Chọn một nguồn dữ liệu, hãy chọn Bộ nhớ trên đám mây.
  3. Trên ngăn Nhập dữ liệu từ Cloud Storage, hãy chuyển đến 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 Tài liệu.
  4. Giữ nguyên lựa chọn Tần suất đồng bộ hoá là Một lần.
  5. Đối với Chọn thư mục hoặc tệp bạn muốn nhập, hãy nhấp vào Thư mục.
  6. Trong trường gs://..., hãy nhập tên của bộ chứa mà bạn đã tạo trong phần Tạo 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 nhóm là cymbal-app-hr-12, hãy nhập tên là cymbal-app-hr-12/HR.Việc nhập từ thư mục HR đảm bảo rằng chỉ các tài liệu về nhân sự được đưa vào kho dữ liệu này.
  7. Nhấp vào Tiếp tục.
  8. Nhập tên của kho dữ liệu là cymbal-hr.
  9. Nhấp vào Tiếp tục.
  10. Giữ lại lựa chọn Giá chung.
  11. Nhấp vào Tạo.

Sau khi nhấp vào Tạo, bạn sẽ được chuyển về trang Kho dữ liệu.

Tạo kho dữ liệu cho dữ liệu có cấu trúc

Bạn sẽ tạo 2 kho dữ liệu cho dữ liệu có cấu trúc từ BigQuery: một kho cho thông tin tài chính của nhân viên và một kho cho kho hàng.

Tạo kho dữ liệu cho dữ liệu tài chính của nhân viên

  1. Trên trang Kho dữ liệu, hãy nhấp lại vào Tạo kho dữ liệu.
  2. Đối với Chọn nguồn dữ liệu, hãy chọn BigQuery.
  3. Đối với Nhập dữ liệu có cấu trúc, hãy chọn Bảng BigQuery có giản đồ riêng.
  4. Giữ nguyên lựa chọn Tần suất đồng bộ hoá là Một lần.
  5. Đối với Chọn bảng mà bạn muốn nhập, hãy nhấp vào Duyệt qua. Trong hộp thoại Chọn đường dẫn mở ra, hãy chọn bảng employee_finance trong tập dữ liệu cymbal_finance trong dự án của bạn. Bạn có thể thấy các bảng có tên tương tự trong các dự án khác, vì vậy, hãy đảm bảo rằng bạn chọn bảng trong dự án của mình.
  6. Nhấp vào Tiếp tục.
  7. Xem trang Giản đồ bài đánh giá và chỉ định các thuộc tính chính.
  8. Nhấp vào Tiếp tục.
  9. Nhập tên của kho dữ liệu là cymbal-finance.
  10. Nhấp vào Tiếp tục.
  11. Giữ lại lựa chọn Giá chung.
  12. Nhấp vào Tạo.

Sau khi nhấp vào Tạo, bạn sẽ được chuyển về trang Kho dữ liệu.

Tạo một kho dữ liệu cho dữ liệu kho hàng của sản phẩm

  1. Trên trang Kho dữ liệu, hãy nhấp lại vào Tạo kho dữ liệu.
  2. Đối với Chọn nguồn dữ liệu, hãy chọn BigQuery.
  3. Đối với Nhập dữ liệu có cấu trúc, hãy chọn Bảng BigQuery có giản đồ riêng.
  4. Giữ nguyên lựa chọn Tần suất đồng bộ hoá là Một lần.
  5. Đối với Chọn bảng mà bạn muốn nhập, hãy nhấp vào Duyệt qua. Trong hộp thoại Chọn đường dẫn mở ra, hãy chọn bảng product_inventory trong tập dữ liệu cymbal_finance trong dự án của bạn.
  6. Nhấp vào Tiếp tục.
  7. Xem trang Giản đồ bài đánh giá và chỉ định các thuộc tính chính.
  8. Nhấp vào Tiếp tục.
  9. Nhập tên của kho dữ liệu là cymbal-inventory.
  10. Nhấp vào Tiếp tục.
  11. Giữ lại lựa chọn Giá chung.
  12. Nhấp vào Tạo.

Sau khi nhấp vào Tạo, bạn sẽ được chuyển về trang Kho dữ liệu.

8. Kết nối các kho dữ liệu với ứng dụng của bạn

Giờ đây, bạn sẽ thấy 3 kho dữ liệu trong danh sách trên trang Kho 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 dữ liệu này với ứng dụng của bạn, hãy làm theo các bước sau:

  1. Trên trang Kho dữ liệu, hãy chọn cả 3 kho dữ liệu mà bạn vừa tạo: cymbal-hr, cymbal-finance và cymbal-inventory. Hãy nhớ chọn cả 3 kho lưu trữ dữ liệu trước khi tiếp tục.
  2. Nhấp vào Tiếp tục.
  3. Giữ lại lựa chọn Giá chung.
  4. Nhấp vào Tạo.

9. Kiểm thử ứng dụng cổng thông tin nhân viên Cymbal

  1. Trong ứng dụng cymbal-employee-portal, hãy nhấp vào Xem trước.
  2. 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?
    
  3. Nhập câu hỏi liên quan đến kho hàng của sản phẩm:
    How many units of sneakers do we have in stock?
    
  4. Nhập một câu hỏi khác:
    What is the stipend for an executive in Cymbal?
    

Hãy lưu ý cách ứng dụng tìm kiếm truy xuất thông tin từ nhiều nguồn để đưa ra câu trả lời. Để trả lời những câu hỏi này, ứng dụng đã tìm kiếm cả dữ liệu tài chính có cấu trúc được lưu trữ trong BigQuery và các 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à kho dữ liệu riêng biệt thành một trải nghiệm duy nhất, mạch lạc.

Bạn cũng có thể điều chỉnh mô hình AI để nhận được câu trả lời chính xác hơn và phù hợp với lĩnh vực hơ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 không thuộc phạm vi của lớp học lập trình này, nhưng bạn nên biết cách triển khai này chuyển thành một tình huống thực tế. 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 được tạo sẵn. Bạn có thể nhúng giao diện tìm kiếm hoặc trò chuyện sẵn sàng sử dụng trực tiếp vào mạng nội bộ hoặc các trang web hiện có của công ty bằng thẻ HTML script. Đây là cách nhanh nhất để giới thiệu ứng dụng của bạn cho 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 REST API hoặc thư viện ứng dụng (chẳng hạn như Python, Node.js hoặc Java) để tạo một giao diện người dùng tuỳ chỉnh từ đầu.

11. Dọn dẹp

Để tránh các khoản phí phát sinh liên tục cho tài khoản Google Cloud của bạn, hãy xoá các tài nguyên đã tạo trong lớp học lập trình này:

  1. Trong Cloud Console, hãy chuyển đến trang Vertex AI Search.
  2. Nhấp vào Xem các ứng dụng hiện có.
  3. Đối với ứng dụng cymbal-employee-portal, hãy nhấp vào biểu tượng ba dấu chấm dọc cho Tuỳ chọn khác, rồi nhấp vào Xoá.
  4. Làm theo lời nhắc trên màn hình để xác nhận việc xoá.
  5. Để xoá kho dữ liệu, hãy nhấp vào Kho dữ liệu trên bảng điều hướng bên trái của bảng điều khiển.
  6. Xoá các kho dữ liệu cymbal-hr, cymbal-finance và cymbal-inventory:
    1. Đối với kho dữ liệu cymbal-hr, hãy nhấp vào biểu tượng ba dấu chấm dọc cho Tuỳ chọn khác, rồi nhấp vào Xoá.
    2. Làm theo lời nhắc trên màn hình để xác nhận việc xoá.
    3. Đối với kho dữ liệu cymbal-finance, hãy nhấp vào biểu tượng ba dấu chấm dọc cho Tuỳ chọn khác, rồi nhấp vào Xoá.
    4. Làm theo lời nhắc trên màn hình để xác nhận việc xoá.
    5. Đối với kho dữ liệu cymbal-inventory, hãy nhấp vào biểu tượng ba dấu chấm dọc cho Tuỳ chọn khác, rồi nhấp vào Xoá.
    6. Làm theo lời nhắc trên màn hình để xác nhận việc xoá.
  7. Chuyển đến trang Buckets (Thùng chứa) rồi xoá thùng chứa mà bạn đã tạo (ví dụ: cymbal-app-hr-12).
  8. 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 đã xây dựng thành công một 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à các bản ghi có cấu trúc từ BigQuery, bạn đã tạo ra một công cụ mạnh mẽ có khả năng suy luận kinh doanh phức tạp mà 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

  • Nhập: Cách nhập các 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 dữ liệu. Cách truy vấn một ứng dụng tìm kiếm có nhiều kho dữ liệu để tổng hợp câu trả lời thống nhất từ cả dữ liệu có cấu trúc và dữ liệu 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 để đưa ra câu trả lời chính xác hơn và phù hợp với từng lĩnh vực.
  • 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 cách sử dụng các tiện ích được tạo sẵn hoặc API tuỳ chỉnh.

Tài liệu tham khảo