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 xa khả năng chuyển đổi văn bản sang 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ú nhân viên hỗ trợ bằng bối 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 có thể sử dụng.
Điều kiện tiên quyết
- Hiểu biết cơ bản về Google Cloud
Kiến thức bạn sẽ học được
- Cách điều hướng Danh mục tác nhân BigQuery
- Cách tạo một Đặc vụ tuỳ chỉnh và xác định nguồn kiến thức
- Cách dùng Gemini để tạo siêu dữ liệu ngữ nghĩa
- Cách thêm Chỉ dẫn hệ thống và Cụm từ tìm kiếm đã xác minh để hướng dẫn trợ lý
- Cách xuất bản và chia sẻ tác tử
Bạn cần có
- Tài khoản Google Cloud và dự án trên 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ị của 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 thông tin này.
- Mã dự án là mã duy nhất trên tất cả các dự án trên Google Cloud và không thể thay đổi (bạn không thể thay đổi mã này sau khi đã đặt). Cloud Console sẽ 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ã nhận dạng được tạo, bạn có thể tạo một mã nhận dạng ngẫu nhiên khác. Hoặc bạn có thể thử tên người dùng của riêng mình để xem tên đó có được chấp nhận hay không. Bạn không thể thay đổi tên này sau bước này và tên này sẽ tồn tại trong suốt thời gian của dự án. - Để bạn nắm được thông tin, 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 tài nguyên/API 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 bị tính phí ngoài phạm vi 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 chính bạn các vai trò bắt buộc
Chuyển đến trang IAM của dự án rồi cấp cho chính bạn vai trò Chủ sở hữu tác nhân phân tích dữ liệu Gemini:
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 ở thanh bên hoặc trình đơn tìm kiếm ở đầu trang để chuyển đến BigQuery > Agents (BigQuery > Đặc vụ).
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:

Lúc này, bạn sẽ thấy trang đại lý 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 muốn hỏi về những cụm từ tìm kiếm đang thịnh hành trên toàn cầu và mức độ quan tâm của những cụm từ đó so với trước đây.
Hãy bắt đầu bằng cách đặt tên và viết nội dung mô tả ngắn gọn cho tác nhân. Nội dung mô tả này chỉ được dù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
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 các 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 để đơn giản hoá. 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 trợ lý để 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ác cột. Nhấp vào Customise:

Gemini tự động tạo nội dung đề xuất cho phần mô tả. Nhấp vào Chấp nhận bên cạnh phần Nội dung 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 cho trợ lý là nơi bạn có thể cung cấp thêm hướng dẫn cho trợ lý để trợ lý 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 khoá: Các trường quan trọng nhất để phân tích.
- Các 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 hai 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.
Cụm từ tìm kiếm đã xác minh
Các câu hỏi đã xác minh (trước đây gọi là câu hỏi vàng) được dùng làm tài liệu tham khảo để giúp tác nhân cải thiện độ chính xác của câu trả lời. Các truy vấn này định hình cấu trúc phản hồ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?
Cụm từ tìm kiếm 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 chạy truy vấn để đảm bảo rằng truy vấn này hợp lệ.

Tôi thấy ổn! Nhấp vào Thêm để lưu truy vấn đã xác minh.
Hãy thêm một ví dụ khác 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ể xem một số truy vấn đã xác minh được đề xuất. Đây là một điểm xuất phát tuyệt vời khi bạn tạo một tác nhân mới trong tương lai. Bạn chỉ cần nhớ 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ì những thuật ngữ này sẽ được nhập trực tiếp từ bảng thuật ngữ của doanh nghiệp trong Danh mục phổ quát của Dataplex.
Nhấp vào Thêm điều khoản rồi sao chép / dán ví dụ sau:
Thời hạn:
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 mục Cài đặt, bạn có thể định cấu hình Nhãn và Số byte tối đa được tính phí.
Nhãn
Nhãn là các cặp khoá-giá trị dùng để sắp xếp các tài nguyên trên Google Cloud thành các nhóm logic. Để giữ cho phòng thí nghiệm này tập trung, 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 ra bất kỳ truy vấn tốn kém nào, hãy đặt giới hạn cho số byte tối đa được tính phí cho mỗi truy vấn. Nếu truy vấn của tác nhân xử lý số byte vượt quá giới hạn này, thì truy vấn sẽ không thực hiện được và 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ị, 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 mỗi ngày của dự án.
5. Lưu và chia sẻ tác nhân
Xem trước
Chúng tôi đã hoàn tất! Hãy kiểm thử nhân viên hỗ trợ của bạn trước khi tiếp tục. Ở bên phải màn hình, bạn có thể kiểm thử tác nhân một cách linh động 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 xem tác nhân có quyền truy cập vào dữ liệu nào. Bạn có thể đặt một vài câu hỏi theo cách riêng của mình:

Lưu
Sau khi thử nghiệm một vài câu lệnh, hãy nhấp vào Lưu rồi nhấp vào Xuất bản tác nhân:

Khi bạn xuất bản tác nhân, tác nhân đó sẽ xuất hiện trong BigQuery Studio, Conversational Analytics API và Looker Studio Pro (tuỳ thuộc vào giấy phép):

Chúng tôi dự định sẽ hỗ trợ thêm các nền tảng và tích hợp trong các bản phát hành trong tương lai.
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 người dùng khác.

Khi chia sẻ một trợ lý ảo với những người dùng khác, bạn có thể kiểm soát cấp độ truy cập của họ bằng cách chỉ định cho họ một vai trò cụ thể. Những vai trò này xác định xem cộng tác viên chỉ có thể 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 đó.
Xin lưu ý rằng bạn có thể áp dụng các vai trò này ở 2 cấp độ:
- 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 đó đối với tất cả các tác nhân trong dự án trên đám mây của Google đó.
- Cấp nhân viên hỗ trợ: Để kiểm soát thật chi tiết hơn, bạn có thể cấp vai trò cho một nhân viên hỗ trợ 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.
Sau đây là các vai trò được xác định trước cho tính năng Phân tích đàm thoại:
- 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ả 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á tác nhân dữ liệu của riêng bạn
- Người chỉnh sửa Data Agent của Gemini Data Analytics (roles/geminidataanalytics.dataAgentEditor) – Quyền trò chuyện và chỉnh sửa đối với Data Agent
- Người dùng Data Agent của Data Analytics (roles/geminidataanalytics.dataAgentUser) – Quyền trò chuyện và quyền xem đối với Data Agent
- Người xem Data Agent của Gemini Data Analytics (roles/geminidataanalytics.dataAgentViewer) – Quyền xem (chỉ đọc) đối với Data Agent
6. Tạo cuộc trò chuyện với một tác tử
Hãy thoát khỏi thẻ Chia sẻ và 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 địa điểm 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
Thông thường, tác nhân dữ liệu sẽ tuân theo cùng một luồng phản hồi khi trả lời các câu hỏi:
- Suy luận: Trước tiên, tác nhân sẽ "suy nghĩ" về câu lệnh. Mở rộng nút Hiện 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: Trợ lý tạo một bản tóm tắt cấp cao về truy vấn, báo cáo thu được và hình ảnh trực quan.
- SQL được 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: Trợ lý trình bày kết quả truy vấn ở định dạng bảng rõ ràng.
- Trực quan hoá: Biểu đồ xuất hiện cùng với nội dung mô tả ngắn. Tác nhân sẽ tự động suy luận loại hình ảnh hoá phù hợp nhất (ví dụ: biểu đồ dạng đường có nhiều chuỗi) cho dữ liệu của bạn.
- Thông tin chi tiết về dữ liệu: Trợ lý sẽ tóm tắt các xu hướng và thông tin chính trong kết quả.
- Câu hỏi tiếp theo: Cuối cùng, trợ lý sẽ đề 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 nhân viên hỗ trợ dữ liệu có thể chạy một số hoạt động dự báo dựa trên những kết quả này hay không. Thao tác 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ờ tỷ phú" bằng một cụm từ phù hợp với cụm từ tìm kiếm 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 một chuỗi thời gian. Không có gì đáng ngạc nhiên, mặc dù có một điểm thú vị là bạn có thể thấy mức tăng đột biến vào tháng 8 năm 2021, trùng với thời điểm khai trương khu vui chơi 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 Agent Catalog (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 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 mà bạn hiện đang xuất bản.
- Tác nhân bản nháp của tôi: 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ẻ: Là những 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 đều 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!

