1. Giới thiệu
Việc thu thập thông tin chi tiết từ dữ liệu thường đòi hỏi nhiều thời gian, công sức và kiến thức chuyên sâu về SQL. Trong lớp học lập trình này, bạn sẽ khám phá Danh mục tác nhân của BigQuery, một nền tảng mới cung cấp thông tin chi tiết tức thì dựa trên AI thông qua các tác nhân dữ liệu đàm thoại.
Bạn sẽ vượt ra ngoài quy trình chuyển đổi văn bản thành SQL đơn giản bằng cách tạo một tác nhân dữ liệu được tuyển chọn. Bạn sẽ tìm hiểu cách làm phong phú tác nhân bằng ngữ cảnh kinh doanh, hướng dẫn hệ thống và truy vấn đã xác minh để đảm bảo kết quả có độ chính xác cao. Cuối cùng, bạn sẽ xuất bản tác nhân này để những người khác trong tổ chức của bạn sử dụng.
Điều kiện tiên quyết
- Có kiến thức cơ bản về Google Cloud
Kiến thức bạn sẽ học được
- Cách di chuyển trong Danh mục tác nhân của BigQuery
- Cách tạo Tác nhân tuỳ chỉnh và xác định nguồn kiến thức
- Cách sử dụng Gemini để tạo siêu dữ liệu ngữ nghĩa
- Cách thêm Hướng dẫn hệ thống và Truy vấn đã xác minh để hướng dẫn tác nhân
- Cách xuất bản và chia sẻ tác nhân
Bạn cần có
- Tài khoản Google Cloud và dự án trên đám mây của Google Cloud
- Có kiến thức cơ bản về BigQuery và SQL
- Một trình duyệt web như Chrome
2. Thiết lập và yêu cầu
Chọn một dự án
- Đăng nhập vào Google Cloud Console rồi tạo một dự án mới hoặc sử dụng lại một dự án hiện có. Nếu chưa có tài khoản Gmail hoặc Google Workspace, bạn phải tạo một tài khoản.



- Tên dự án là tên hiển thị cho những người tham gia dự án này. Đây là một chuỗi ký tự mà các API của Google không sử dụng. Bạn luôn có thể cập nhật tên này.
- Mã dự án là mã duy nhất trên tất cả các dự án Google Cloud và không thể thay đổi (không thể thay đổi sau khi đã đặt). Cloud Console tự động tạo một chuỗi duy nhất; thường thì bạn không cần quan tâm đến chuỗi này. Trong hầu hết các lớp học lập trình, bạn sẽ cần tham chiếu đến Mã dự án (thường được xác định là
PROJECT_ID). Nếu không thích mã đã tạo, bạn có thể tạo một mã ngẫu nhiên khác. Ngoài ra, bạn có thể thử mã của riêng mình và xem mã đó có dùng được hay không. Bạn không thể thay đổi mã này sau bước này và mã này sẽ tồn tại trong suốt thời gian của dự án. - Để bạn tham khảo, có một giá trị thứ ba là Số dự án mà một số API sử dụng. Tìm hiểu thêm về cả 3 giá trị này trong tài liệu.
- Tiếp theo, bạn cần bật tính năng thanh toán trong Cloud Console để sử dụng các API/tài nguyên trên đám mây. Việc thực hiện lớp học lập trình này sẽ không tốn nhiều chi phí, nếu có. Để tắt các tài nguyên nhằm tránh phát sinh chi phí thanh toán ngoài hướng dẫn này, bạn có thể xoá các tài nguyên đã tạo hoặc xoá dự án. Người dùng mới của Google Cloud đủ điều kiện tham gia chương trình Dùng thử miễn phí trị giá 300 USD.
3. Trước khi bắt đầu
Cấp cho bản thân các vai trò bắt buộc
Chuyển đến trang IAM của dự án rồi cấp cho bản thân vai trò Chủ sở hữu tác nhân dữ liệu Gemini Data Analytics:
Vai trò này cấp cho bạn quyền tạo, chỉnh sửa, chia sẻ và xoá tất cả các tác nhân dữ liệu trong dự án.
Bật các API bắt buộc
Sử dụng trình đơn điều hướng trên thanh bên hoặc trình đơn tìm kiếm ở đầu trang để chuyển đến BigQuery > Tác nhân.
Nhấp vào Bật Data Analytics API bằng Gemini:

Bật cả Gemini in BigQuery API và Gemini for Google Cloud API:

Bây giờ, bạn sẽ thấy trang tác nhân mới:

4. Tạo một nhân viên hỗ trợ
Hãy tạo tác nhân dữ liệu đầu tiên bằng tập dữ liệu công khai quốc tế của Google Xu hướng. Tập dữ liệu này hữu ích khi bạn đặt câu hỏi về những cụm từ tìm kiếm đang thịnh hành trên quốc tế và cách so sánh những mối quan tâm đó trong quá khứ.
Hãy bắt đầu bằng cách đặt tên và mô tả ngắn gọn cho tác nhân. Nội dung mô tả này chỉ dùng để những người dùng khác hiểu được mục đích của tác nhân.
Tên nhân viên hỗ trợ
Google Trends Agent
Nội dung mô tả về nhân viên hỗ trợ
Data agent for the Google Trends International Top Terms public dataset
Nguồn kiến thức
Bây giờ, hãy thêm nguồn kiến thức. Nguồn kiến thức là một bảng, chế độ xem hoặc UDF BigQuery mà tác nhân có thể sử dụng để trả lời câu hỏi.
Đối với bản minh hoạ này, hãy chỉ thêm một bảng để quy trình được đơn giản. Tuy nhiên, xin lưu ý rằng bạn có thể thêm tối đa 50 nguồn kiến thức cho mỗi tác nhân để xử lý các tình huống dữ liệu phức tạp hơn.
Nhập bảng sau vào hộp tìm kiếm, đánh dấu vào hộp rồi nhấp vào Thêm:
bigquery-public-data.google_trends.international_top_terms

Ngữ cảnh có cấu trúc
Để cải thiện độ chính xác của tác nhân dữ liệu, hãy thêm ngữ cảnh có cấu trúc vào bảng và cột. Nhấp vào Customise:

Gemini tự động tạo các đề xuất cho nội dung mô tả. Nhấp vào Chấp nhận bên cạnh phần Mô tả bảng:

Để áp dụng nội dung mô tả cho tất cả các cột, hãy đánh dấu vào Chọn tất cả các hàng rồi nhấp vào Chấp nhận đề xuất:

Nhấp vào Cập nhật ở cuối trang để lưu các thay đổi và quay lại Trình chỉnh sửa tác nhân.
Hướng dẫn
Hộp thoại hướng dẫn tác nhân là nơi bạn có thể cung cấp hướng dẫn bổ sung cho tác nhân để tác nhân diễn giải và truy vấn các nguồn dữ liệu. Nội dung như vậy bao gồm:
- Từ đồng nghĩa: Thuật ngữ thay thế cho các trường chính.
- Trường chính: Các trường quan trọng nhất để phân tích.
- Trường bị loại trừ: Các trường mà tác nhân dữ liệu nên tránh dùng.
- Lọc và nhóm: Các trường mà tác nhân nên dùng để lọc và nhóm dữ liệu.
- Mối quan hệ kết hợp: Cách kết hợp 2 bảng trở lên dựa trên các trường chung.
Sao chép và dán các hướng dẫn sau:
### System Instruction
* You are an expert data analyst for the Google Trends International public dataset.
* Always filter on yesterday's refresh_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY).
* If yesterday returns no data, filter on 2 days ago's refresh_date = DATE_SUB(CURRENT_DATE(), INTERVAL 2 DAY).
* Default to country-level results (one row per term).
* "Top" queries must deduplicate snapshot rows.
* Only include week or score when the user explicitly asks for trends over time.
* This is an international dataset and does not include any data for the United States.
### Additional Descriptions
#### 1. Core model:
* refresh_date selects the daily Top-25 term set.
* week + score are historical weekly values attached to those terms.
* Filtering week does not change which terms appear.
#### 2. Deduplication rule (critical):
* Snapshot rows repeat across weeks and regions.
* For "top" queries, always GROUP BY term (country-level) and compute rank as MIN(rank).
#### 3. Defaults:
* Country-level results only.
* Use region_code only if the user explicitly asks for regions.
* Limit results unless the user asks otherwise.
#### 4. Time series usage:
* Only include week or score when the user asks for trends over time, historical context, or week-over-week score changes.
#### 5. Field guidance:
* Prefer country_code or region_code for filters.
* country_name / region_name are for display only.
* score is normalized; compare trends within a term, not across terms.
Truy vấn đã xác minh
Truy vấn đã xác minh (trước đây gọi là truy vấn vàng) được dùng làm tài liệu tham khảo cho tác nhân để cải thiện độ chính xác của câu trả lời. Truy vấn này định hình cấu trúc câu trả lời của tác nhân và giúp tác nhân học được logic nghiệp vụ mà tổ chức của bạn sử dụng.
Hãy thêm 2 ví dụ cho tác nhân của bạn. Nhấp vào Thêm truy vấn rồi sao chép / dán câu hỏi và truy vấn sau:
Câu hỏi 1:
What are the top search terms in the UK right now?
Truy vấn 1:
SELECT term, MIN(rank) AS rank
FROM `bigquery-public-data.google_trends.international_top_terms`
WHERE refresh_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
AND country_code = 'GB'
GROUP BY term
ORDER BY rank
LIMIT 25;
Trước khi lưu truy vấn này, hãy kích hoạt truy vấn để đảm bảo truy vấn này hợp lệ.

Tôi thấy truy vấn này ổn! Nhấp vào Thêm để lưu truy vấn đã xác minh.
Hãy thêm một ví dụ nữa cho một trường hợp sử dụng phức tạp hơn. Nhấp vào Quản lý truy vấn rồi thêm:
Câu hỏi 2:
Show the last 12 weeks of interest for the current top 5 terms in Auckland.
Câu trả lời 2:
WITH top5 AS (
SELECT term, MIN(rank) AS rank
FROM `bigquery-public-data.google_trends.international_top_terms`
WHERE refresh_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
AND country_code = 'NZ'
AND region_code = 'NZ-AUK'
GROUP BY 1
ORDER BY 2
LIMIT 5
),
series AS (
SELECT term, week, score,
ROW_NUMBER() OVER (PARTITION BY term ORDER BY week DESC) AS rn
FROM `bigquery-public-data.google_trends.international_top_terms`
WHERE refresh_date = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
AND country_code = 'NZ'
AND region_code = 'NZ-AUK'
AND term IN (SELECT term FROM top5)
)
SELECT week, term, score
FROM series
WHERE rn <= 12
ORDER BY 1 DESC, 3
Trước khi chuyển sang phần tiếp theo, hãy xem các đề xuất do Gemini tạo:

Tại đây, bạn có thể thấy một số truy vấn đã xác minh được đề xuất. Khi tạo một tác nhân mới trong tương lai, đây là một điểm xuất phát tuyệt vời. Chỉ cần đảm bảo xác thực mọi truy vấn mà bạn thêm!
Bảng thuật ngữ
Hãy thêm một thuật ngữ vào bảng thuật ngữ. Nếu doanh nghiệp của bạn sử dụng Dataplex, thì các thuật ngữ này sẽ được nhập trực tiếp từ bảng thuật ngữ kinh doanh trong Danh mục phổ quát của Dataplex.
Nhấp vào Thêm thuật ngữ rồi sao chép / dán ví dụ sau:
Thuật ngữ:
refresh_date
Khai báo:
Snapshot date that selects the daily Top 25 term set. All rows for that date belong to the same "what's trending now" snapshot. Attach Historical week and score values after this selection.
Từ đồng nghĩa:
today, latest, current, now, recent
Sau đó, hãy nhấp vào Thêm rồi nhấp vào Lưu.
Cài đặt tác nhân
Trong phần Cài đặt, bạn có thể định cấu hình Nhãn và Số lượng byte tối đa phải thanh toán.
Nhãn
Nhãn là các cặp khoá-giá trị dùng để sắp xếp các tài nguyên Google Cloud thành các nhóm logic. Để tập trung vào lớp học lập trình này, hãy để trống nhãn.
Số lượng byte tối đa phải thanh toán
Để đảm bảo bạn không vô tình tạo bất kỳ truy vấn tốn kém nào, hãy đặt giới hạn cho số lượng byte tối đa phải thanh toán cho mỗi truy vấn. Nếu truy vấn của tác nhân xử lý số lượng byte vượt quá giới hạn này, thì truy vấn sẽ không thành công mà không phát sinh chi phí. Nhập giá trị sau:
10000000000
10.000.000.000 byte tương đương với khoảng 9,3 GB. Nếu bạn không chỉ định giá trị, thì số lượng byte tối đa phải thanh toán sẽ mặc định là hạn mức sử dụng truy vấn hằng ngày của dự án.
5. Lưu và chia sẻ tác nhân
Xem trước
Chúng ta đã hoàn tất! Hãy kiểm thử tác nhân của bạn trước khi chuyển sang bước tiếp theo. Ở bên phải màn hình, bạn có thể kiểm thử tác nhân một cách linh hoạt trong khi chỉnh sửa cấu hình. Bản xem trước sẽ tự động sử dụng siêu dữ liệu mới mà bạn cung cấp mà không cần lưu hoặc xuất bản các thay đổi.
Hãy hỏi tác nhân có quyền truy cập vào dữ liệu nào. Bạn có thể thoải mái đặt một vài câu hỏi bằng lời của mình:

Lưu
Sau khi kiểm thử một vài câu lệnh, Lưu rồi Xuất bản tác nhân:

Việc xuất bản tác nhân sẽ giúp tác nhân này có sẵn trong BigQuery Studio, API Phân tích đàm thoại và Looker Studio Pro (tuỳ thuộc vào giấy phép):

Chúng tôi dự định sẽ hỗ trợ thêm nhiều nền tảng và tích hợp trong các bản phát hành sắp tới.
Chia sẻ
Bạn sẽ thấy một thông báo xác nhận rằng tác nhân đã được xuất bản. Giờ đây, bạn có thể chia sẻ tác nhân này với những người dùng khác.

Khi chia sẻ một tác nhân với những người dùng khác, bạn sẽ kiểm soát cấp độ truy cập của họ bằng cách chỉ định một vai trò cụ thể. Các vai trò này xác định xem cộng tác viên có thể chỉ xem tác nhân của bạn hay có quyền chỉnh sửa và quản lý cấu hình của tác nhân đó.
Điều quan trọng cần lưu ý là bạn có thể áp dụng các vai trò này ở 2 cấp độ khác nhau:
- Cấp dự án: Việc cấp một vai trò ở cấp dự án sẽ cung cấp cho người dùng các quyền đó cho tất cả các tác nhân trong dự án Google Cloud đó.
- Cấp tác nhân: Để có quyền kiểm soát chi tiết hơn, bạn có thể cấp vai trò cho một tác nhân cụ thể. Điều này hữu ích khi bạn muốn người dùng có quyền truy cập vào một tác nhân dữ liệu cụ thể mà không thấy các tác nhân khác trong dự án.
Các vai trò xác định trước cho Phân tích đàm thoại như sau:
- Chủ sở hữu tác nhân dữ liệu Gemini Data Analytics (roles/geminidataanalytics.dataAgentOwner) – Tạo, Chỉnh sửa, Chia sẻ và Xoá tất cả các tác nhân dữ liệu
- Người tạo tác nhân dữ liệu Gemini Data Analytics (roles/geminidataanalytics.dataAgentCreator) – Tạo, Chỉnh sửa, Chia sẻ và Xoá các tác nhân dữ liệu của riêng bạn
- Người chỉnh sửa tác nhân dữ liệu Gemini Data Analytics (roles/geminidataanalytics.dataAgentEditor) – Quyền trò chuyện và chỉnh sửa tác nhân dữ liệu
- Người dùng tác nhân dữ liệu Data Analytics (roles/geminidataanalytics.dataAgentUser) – Quyền trò chuyện và quyền xem tác nhân dữ liệu
- Người xem tác nhân dữ liệu Gemini Data Analytics (roles/geminidataanalytics.dataAgentViewer) – Quyền xem (chỉ đọc) tác nhân dữ liệu
6. Tạo cuộc trò chuyện với một tác tử
Hãy thoát khỏi thẻ Chia sẻ rồi tạo một cuộc trò chuyện mới:

Khi bạn nhấp vào Tạo cuộc trò chuyện, một cuộc trò chuyện mới không có tiêu đề sẽ được tạo.
Hãy hỏi về những cụm từ đang thịnh hành ở Anh (bạn có thể thay thế bằng một vị trí mà bạn chọn!):
Based on the top 10 terms in England, how did they trend for the past 3 months?
Giải nén luồng phản hồi
Tác nhân dữ liệu thường tuân theo cùng một luồng phản hồi khi trả lời câu hỏi:
- Suy luận: Tác nhân trước tiên sẽ "suy nghĩ" về câu lệnh. Mở rộng nút Hiển thị suy luận để xem thông tin chi tiết từng bước về quy trình ra quyết định của tác nhân.
- Tóm tắt: Tác nhân tạo một bản tóm tắt cấp cao về truy vấn, báo cáo kết quả và hình ảnh.
- SQL đã tạo: Mở rộng phần Đây là truy vấn... để kiểm tra SQL. Nhấp vào Mở trong Trình chỉnh sửa để tinh chỉnh truy vấn theo cách thủ công trong BigQuery Studio.
- Kết quả dữ liệu: Tác nhân trình bày kết quả truy vấn ở định dạng bảng rõ ràng.
- Hình ảnh: Một biểu đồ xuất hiện cùng với nội dung mô tả ngắn gọn. Tác nhân tự động suy luận loại hình ảnh trực quan tốt nhất (ví dụ: biểu đồ dạng đường nhiều chuỗi) cho dữ liệu của bạn.
- Thông tin chi tiết về dữ liệu: Tác nhân tóm tắt các xu hướng và thông tin chi tiết chính được tìm thấy trong kết quả.
- Câu hỏi tiếp theo: Cuối cùng, tác nhân đề xuất các câu hỏi tiếp theo có liên quan để giúp bạn tiếp tục phân tích.

Hỗ trợ BigQuery ML
Hãy theo dõi và hỏi xem tác nhân dữ liệu có thể chạy một số dự báo dựa trên các kết quả này hay không. Điều này tận dụng các hàm BigQuery ML để dự đoán các điểm trong tương lai.
Nhập câu lệnh sau (nhớ thay thế "bàn cờ monopoly" bằng một thuật ngữ phù hợp với truy vấn của bạn!):
Can you predict and visualize how monopoly board will trend in the next 4 weeks?
Bạn có thể thấy AI_FORECAST được dùng để dự báo chuỗi thời gian. Không có gì đáng ngạc nhiên, mặc dù thật thú vị khi bạn có thể thấy một mốc tăng đột biến lớn vào tháng 8 năm 2021, trùng với thời điểm khai trương điểm tham quan Monopoly Lifesized ở London!

7. Khám phá Danh mục tác nhân
Hãy khám phá Danh mục tác nhân trước khi kết thúc. Nhấp vào Danh mục tác nhân ở đầu cửa sổ:

Trang này đóng vai trò là trung tâm quản lý tác nhân dữ liệu của bạn, được sắp xếp thành các phần sau:
- Tác nhân của tôi: Các tác nhân hiện được xuất bản.
- Tác nhân nháp của tôi: Các cấu hình mà bạn đã lưu nhưng chưa xuất bản.
- Do những người khác trong tổ chức của bạn chia sẻ: Các tác nhân do đồng nghiệp tạo mà bạn có quyền truy cập.
- Tác nhân mẫu của Google: Các ví dụ được định cấu hình sẵn để giúp bạn bắt đầu.
Đối với bất kỳ tác nhân nào mà bạn quản lý, bạn có thể chỉnh sửa cấu hình, sao chép tác nhân và quản lý quyền chia sẻ.
8. Kết luận
Xin chúc mừng, bạn đã tạo thành công một tác nhân dữ liệu Phân tích đàm thoại. Hãy xem tài liệu tham khảo để tìm hiểu thêm!

