Tạo tác nhân AI bằng ADK: Tác nhân phân tích dữ liệu

1. Trước khi bắt đầu

Chào mừng bạn đến với phần thứ tư của loạt video "Tạo tác nhân AI bằng ADK"! Trong lớp học lập trình thực hành này, bạn sẽ kết hợp những kiến thức đã học trong các buổi học trước để tạo một Trợ lý phân tích dữ liệu. Tác nhân này sẽ được thiết kế để phân tích dữ liệu, tạo thông tin chi tiết có giá trị và tự động hoá các khía cạnh chính của quy trình phân tích dữ liệu.

Bạn sẽ cho phép tác nhân khám phá các tệp đã tải lên và kết nối tác nhân đó với các cơ sở dữ liệu cấp doanh nghiệp như Google Cloud BigQuery, bằng cách sử dụng các công cụ mạnh mẽ có trong ADK.

Bạn cũng có thể truy cập vào lớp học lập trình này thông qua URL rút gọn sau: goo.gle/adk-data-analyst

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

  • Hiểu biết cơ bản về các khái niệm về AI tạo sinh
  • Có kiến thức cơ bản về lập trình Python và thoải mái khi sử dụng dòng lệnh.
  • Làm quen với các khái niệm trong các lớp học lập trình trước đây trong loạt bài này: "Nền tảng" và "Hỗ trợ bằng công cụ".

Kiến thức bạn sẽ học được

  • Cách tạo một Tác nhân phân tích dữ liệu có chức năng bằng cách sử dụng khung ADK.
  • Các phương thức cho phép một tác nhân phân tích dữ liệu từ các tài liệu được tải lên.
  • Cách kết nối tác nhân của bạn với cơ sở dữ liệu BigQuery để phân tích dữ liệu ở cấp doanh nghiệp.
  • Các kỹ thuật để xác định logic cốt lõi của tác nhân, bao gồm mục đích và hướng dẫn.

Bạn cần có

  • Máy tính hoạt động và kết nối Internet ổn định.
  • Một trình duyệt, chẳng hạn như Chrome, để truy cập vào Google Cloud Console
  • Có tư duy tò mò và ham học hỏi.

2. Giới thiệu

Trong thế giới dựa trên dữ liệu ngày nay, khả năng phân tích nhanh chóng và chính xác lượng lớn thông tin trở nên quan trọng hơn bao giờ hết. Tuy nhiên, quá trình trích xuất thông tin chi tiết có ý nghĩa thường đòi hỏi chuyên môn kỹ thuật sâu rộng trong các lĩnh vực như SQL, tạo ra một điểm tắc nghẽn có thể làm chậm quá trình đưa ra quyết định. Điều gì sẽ xảy ra nếu bạn có thể thu hẹp khoảng cách này và tương tác với các tập dữ liệu phức tạp một cách dễ dàng như trò chuyện?

Đây là lúc các tác nhân AI tạo nên bước ngoặt. Bằng cách đóng vai trò là một giao diện thông minh giữa bạn và dữ liệu của bạn, các tác nhân AI có thể hiểu các câu hỏi bằng ngôn ngữ tự nhiên, dịch các câu hỏi đó thành các truy vấn kỹ thuật và cung cấp thông tin chi tiết hữu ích trong vài giây.

Trong lớp học lập trình này, bạn sẽ bước vào tương lai của hoạt động phân tích dữ liệu bằng cách xây dựng một Tác nhân phân tích dữ liệu thực tế bằng Bộ công cụ phát triển tác nhân (ADK). Chúng tôi sẽ bắt đầu bằng cách tạo một tác nhân cơ bản, sau đó từng bước nâng cao các chức năng của tác nhân này. Trước tiên, bạn sẽ hướng dẫn tác nhân phân tích dữ liệu không có cấu trúc từ các tài liệu được tải lên. Sau đó, bạn sẽ kết nối dữ liệu đó với một kho dữ liệu mạnh mẽ cấp doanh nghiệp (Google Cloud BigQuery) để truy vấn và phân tích một tập dữ liệu lớn về ngành chăm sóc sức khoẻ trong thế giới thực.

Khi kết thúc hướng dẫn này, bạn không chỉ có một trợ lý AI hoạt động hiệu quả mà còn hiểu rõ cách tạo các tác nhân có thể tự động hoá các tác vụ dữ liệu thường xuyên, đẩy nhanh quá trình phân tích và giúp bạn cũng như nhóm của bạn dễ dàng tiếp cận thông tin chi tiết quan trọng.

3. Định cấu hình các dịch vụ của Google Cloud

Tạo một dự án trên Google Cloud

Để sắp xếp tất cả công việc của bạn cho lớp học lập trình này và tách biệt với các dự án khác, bạn sẽ bắt đầu bằng cách tạo một dự án mới trên Google Cloud.

  1. Truy cập vào console.cloud.google.com/projectcreate
  2. Nhập thông tin bắt buộc:
  • Tên dự án – bạn có thể nhập tên bất kỳ mà bạn muốn (ví dụ: genai-workshop)
  • Vị trí – giữ nguyên là Không có tổ chức
  • Tài khoản thanh toán – Nếu lựa chọn này xuất hiện, hãy chọn "Tài khoản thanh toán dùng thử Google Cloud Platform" hoặc tài khoản thanh toán của riêng bạn nếu muốn. Nếu không thấy lựa chọn này, bạn có thể chuyển sang bước tiếp theo.
  1. Sao chép Mã dự án đã tạo, bạn sẽ cần mã này sau.

9cc4a060b8c46fb0.png

  1. Nếu mọi thứ đều ổn, hãy nhấp vào nút Tạo

Định cấu hình Cloud Shell

Sau khi tạo dự án thành công, hãy làm theo các bước sau để thiết lập Cloud Shell.

1. Chạy Cloud Shell

Truy cập vào shell.cloud.google.com. Nếu một cửa sổ bật lên xuất hiện yêu cầu uỷ quyền, hãy nhấp vào Uỷ quyền.

186bc51f8f3ae589.png

2. Đặt mã dự án

Thay replace-with-your-project-id bằng mã dự án thực tế của bạn trong bước tạo dự án ở trên. Thực thi lệnh sau trong cửa sổ dòng lệnh Cloud Shell để đặt Mã dự án chính xác.

gcloud config set project replace-with-your-project-id

Bây giờ, bạn sẽ thấy dự án chính xác được chọn trong thiết bị đầu cuối Cloud Shell. Mã dự án đã chọn được đánh dấu bằng màu vàng.

479ae540d1828559.png

3. Bật các API bắt buộc

Để sử dụng các dịch vụ của Google Cloud, trước tiên, bạn phải kích hoạt các API tương ứng cho dự án của mình. Chạy các lệnh bên dưới trong thiết bị đầu cuối Cloud Shell để bật các dịch vụ cho Lớp học lập trình này:

gcloud services enable \
 aiplatform.googleapis.com \
 bigquery.googleapis.com

Nếu thao tác thành công, bạn sẽ thấy thông báo Operation/... finished successfully xuất hiện trên thiết bị đầu cuối.

4. Tạo môi trường ảo Python

Tiếp theo, hãy tạo một môi trường Python riêng biệt để quản lý các phần phụ thuộc của dự án.

1. Tạo thư mục dự án và chuyển đến thư mục đó:

mkdir -p ai-agents-adk && cd ai-agents-adk

2. Tạo và kích hoạt môi trường ảo:

uv venv --python 3.12
source .venv/bin/activate

Bạn sẽ thấy tiền tố (ai-agents-adk) trước dấu nhắc của thiết bị đầu cuối, cho biết môi trường ảo đang hoạt động.

6512ff43e8f5aa04.png

3. Trang cài đặt adk

uv pip install google-adk --no-cache

5. Tạo một tác nhân ban đầu

Khi môi trường đã sẵn sàng, bạn có thể tạo tác nhân AI bằng một lệnh ADK đơn giản.

1. Tạo nhân viên hỗ trợ

Trong cửa sổ dòng lệnh, hãy chạy lệnh sau:

adk create data_analyst_agent

2. Định cấu hình tác nhân

Bạn sẽ được nhắc định cấu hình tác nhân. Chọn các mục sau:

  • Chọn mô hình: Chọn 1. gemini-2.5-flash.
  • Chọn một phần phụ trợ: Chọn 2. Vertex AI.
  • Nhập mã dự án trên Google Cloud: Nhấn Enter để xác nhận mã dự án chính xác.
  • Nhập khu vực Google Cloud: Nhấn Enter để sử dụng us-central1 mặc định.

3. Khởi động máy chủ web phát triển

Sau khi tạo tác nhân, hãy khởi động máy chủ web phát triển bằng cách chạy lệnh sau:

adk web

Bạn có thể nhấn tổ hợp phím Ctrl + Nhấp hoặc Cmd + Nhấp vào đường liên kết (tức là http://localhost:8000) trong thiết bị đầu cuối hoặc bạn có thể

  • Nhấp vào nút Xem trước trên web
  • Chọn Thay đổi cổng.
  • Nhập số cổng (ví dụ: 8000)
  • Nhấp vào Thay đổi và xem trước

Sau đó, bạn sẽ thấy giao diện người dùng giống như ứng dụng trò chuyện xuất hiện trong trình duyệt.

4. Trò chuyện với nhân viên hỗ trợ

Hãy trò chuyện với nhân viên hỗ trợ thông qua giao diện này! Nói những câu như "xin chào, bạn có thể làm gì?".

6. Phân tích dữ liệu trong tài liệu

Trong phần này, bạn sẽ tải một tài liệu lên cho tác nhân và đặt câu hỏi về nội dung của tài liệu đó.

1. Tóm tắt tài liệu

Hãy làm theo các bước sau để nhận được bản tóm tắt về tài liệu:

  1. Tải tệp xuống về Chiến lược chăm sóc sức khoẻ của Google.
  2. Nhấp vào nút tải tệp lên trong giao diện người dùng của đại lý và chọn tệp bạn vừa tải xuống.
  3. Trong giao diện trò chuyện, hãy yêu cầu trợ lý tóm tắt tệp: "Tóm tắt tệp này cho tôi"
  4. Nhấn phím enter.

Bạn sẽ nhận được bản tóm tắt ngắn gọn về nội dung của tài liệu.

f0784e4dc5d687cb.png

2. Đặt câu hỏi chi tiết hơn

Bây giờ, hãy thử đặt câu hỏi chi tiết hơn để tìm hiểu sâu hơn về tài liệu:

  • Những bệnh chính mà Google hiện đang nhắm đến trong các sáng kiến về AI và dữ liệu là gì?
  • Google dự định cải thiện khả năng tương tác dữ liệu trong lĩnh vực chăm sóc sức khoẻ và phá bỏ các kho dữ liệu như thế nào?
  • Google Cloud đang được sử dụng như thế nào để hỗ trợ các doanh nghiệp và nhà nghiên cứu trong lĩnh vực chăm sóc sức khoẻ?
  • Google có thể sẽ khám phá những lĩnh vực bệnh mới nào tiếp theo (ví dụ: bệnh phổi tắc nghẽn mạn tính, ung thư, sức khoẻ tâm thần)?

3. Đặt câu hỏi nối tiếp

Bạn cũng có thể đặt các câu hỏi nối tiếp như tìm số tham chiếu trang để điều tra thêm:

  • Bạn thấy thông tin liên quan đến bệnh tiểu đường ở đâu?
  • Chuyển tôi đến các trang có liên quan về bệnh.
  • Tôi nên xem những biểu đồ thú vị nào?

Thử thách: Tìm một tài liệu của riêng bạn mà bạn muốn tác nhân phân tích rồi tải tài liệu đó lên. Đặt câu hỏi cho tác nhân về nội dung của tác nhân.

7. Kết hợp thông tin chi tiết về tài liệu với tính năng tìm kiếm trực tiếp trên web

Giờ đây, trợ lý đã trở thành chuyên gia về tài liệu này, nhưng một nhà phân tích mạnh mẽ cũng cần có quyền truy cập vào thông tin hiện tại từ bên ngoài. Hãy cho phép tác nhân của chúng ta tìm kiếm trên web.

  1. Trong dòng lệnh Cloud Shell, hãy nhấn tổ hợp phím Ctrl+C để dừng máy chủ web.
  2. Mở tệp data_analyst_agent/agent.py trong Cloud Shell Editor bằng cách thực thi lệnh sau:
cloudshell edit data_analyst_agent/agent.py
  1. Sửa đổi tệp để nhập và thêm công cụ google_search:
from google.adk.agents.llm_agent import Agent
from google.adk.tools import google_search

root_agent = Agent(
    model='gemini-2.5-flash',
    name='root_agent',
    description='A helpful assistant for user questions.',
    instruction="""
        First, check the uploaded files for an answer. 
        If the information is not in the files, use your tools to search the web. 
        Answer user questions to the best of your ability.
    """,
    tools=[
        google_search
    ]
)
  1. Lưu tệp và khởi động lại máy chủ web trong thiết bị đầu cuối bằng cách nhập adk web
  2. Trong giao diện người dùng của tác nhân, hãy tải lên lại tệp GoogleHealthStrategy.pdf.
  3. Giờ đây, hãy đặt một câu hỏi đòi hỏi cả bối cảnh của tài liệu và thông tin bên ngoài:
The document discusses Google's strategy in healthcare. What are three other major tech companies that are also investing heavily in healthcare AI, and what are their primary focus areas?

Giờ đây, tác nhân sẽ tổng hợp thông tin từ cả tài liệu và một cụm từ tìm kiếm trực tiếp trên Google để đưa ra câu trả lời toàn diện cho bạn. Bạn có thể thử đặt một vài câu hỏi:

  • Tài liệu này đề cập đến việc sử dụng AI cho bệnh võng mạc do tiểu đường. Trong năm qua, có những công nghệ mới nhất nào đã được FDA phê duyệt trong lĩnh vực này?
  • Tệp này đề cập đến mối quan hệ đối tác. Bạn có thể tìm thấy bài viết tin tức hoặc thông cáo báo chí gần đây về những hoạt động hợp tác mới nhất của Google trong lĩnh vực chăm sóc sức khoẻ không?

Thử thách: Thử đặt những câu hỏi tương tự cho một tài liệu của riêng bạn. Một thứ gì đó sử dụng tài liệu cục bộ và kết quả từ Internet.

8. Phân tích dữ liệu chăm sóc sức khoẻ bằng BigQuery

Việc tải từng tài liệu lên không có khả năng mở rộng. Trong trường hợp thực tế, dữ liệu nằm trong các hệ thống doanh nghiệp như Google Cloud BigQuery.

Hiện tại, các nhà phát triển xây dựng ứng dụng dựa trên tác nhân thường phải xây dựng và duy trì các công cụ tuỳ chỉnh của riêng họ. Quy trình thủ công này diễn ra chậm, có rủi ro và tạo ra gánh nặng đáng kể. Việc này buộc các nhà phát triển phải xử lý mọi thứ, từ xác thực đến xử lý lỗi thay vì tập trung vào việc đổi mới.

Bộ công cụ phát triển tác nhân (ADK) bao gồm các công cụ của bên thứ nhất để tương tác với BigQuery. Đối với phân tích cụ thể này, chúng tôi sẽ sử dụng tập dữ liệu Sử dụng Medicare công khai do Trung tâm Dịch vụ Medicare và Medicaid (CMS) cung cấp.

Trước tiên, hãy kết nối tác nhân của chúng ta với một tập dữ liệu khổng lồ về dịch vụ chăm sóc sức khoẻ cộng đồng.

  1. Trong cửa sổ dòng lệnh Cloud Shell, hãy nhấn tổ hợp phím Ctrl+C để dừng máy chủ web.
  2. Mở tệp data_analyst_agent/agent.py trong Trình chỉnh sửa Cloud Shell bằng cách thực thi lệnh sau trong cửa sổ dòng lệnh:
cloudshell edit data_analyst_agent/agent.py
  1. Thay thế toàn bộ nội dung của tệp bằng đoạn mã sau để định cấu hình BigQueryToolset mạnh mẽ:
import google.auth
from google.adk.agents.llm_agent import Agent
from google.adk.tools import google_search
from google.adk.tools.agent_tool import AgentTool
from google.adk.tools.bigquery import (
    BigQueryToolset,
    BigQueryCredentialsConfig
)
from google.adk.tools.bigquery.config import (
    BigQueryToolConfig,
    WriteMode
)

# Automatically get credentials from the gcloud environment
application_default_credentials, _ = google.auth.default()
credentials_config = BigQueryCredentialsConfig(
    credentials=application_default_credentials
)

# Configure the BigQuery tool
tool_config = BigQueryToolConfig(
    write_mode=WriteMode.ALLOWED,
    application_name='data_analyst_agent'
)

# Create the toolset with the specified configurations
bigquery_toolset = BigQueryToolset(
    credentials_config=credentials_config, bigquery_tool_config=tool_config
)

# Create an agent with google search tool as a search specialist
google_search_agent = Agent(
    model='gemini-2.5-flash',
    name='google_search_agent',
    description='A search agent that uses google search to get latest information about current events, weather, or business hours.',
    instruction='Use google search to answer user questions about real-time, logistical information.',
    tools=[google_search],
)

# Define the final agent with its instructions and tools
root_agent = Agent(
    model="gemini-2.5-flash",
    name="bigquery_agent",
    description=(
        "Agent to answer questions about BigQuery data and execute SQL queries."
    ),
    instruction="""
        You are an expert data analyst agent with access to BigQuery tools.
        When a user asks about a dataset, first use your tools to understand its schema.
        Then, use this knowledge to construct and execute SQL queries to answer the user's questions.
        Always confirm with the user if their question is ambiguous (e.g., for which year?).
    """,
    tools=[
        AgentTool(google_search_agent),
        bigquery_toolset
    ],
)
  1. Lưu tệp và khởi động lại máy chủ web trong thiết bị đầu cuối bằng cách nhập adk web
  2. Giờ đây, bạn có thể yêu cầu tác nhân phân tích tập dữ liệu công khai của Medicare. Bắt đầu bằng cách khám phá dữ liệu:
Look into the cms_medicare dataset in the bigquery-public-data project. What can you tell me about it?

Tác nhân này sẽ sử dụng các công cụ của mình để kiểm tra tập dữ liệu và cung cấp danh sách các bảng có sẵn. Từ đó, bạn có thể xem chi tiết bằng các câu hỏi phân tích cụ thể. Tác nhân có thể đặt câu hỏi làm rõ để đảm bảo các câu hỏi của tác nhân là chính xác.

2792f14f62f5b484.png

Đối với một số câu hỏi, bạn sẽ cần cung cấp Mã dự án cho tác nhân để tác nhân có thể dùng mã này tạo một câu hỏi. Ví dụ:

503477d9e314575e.png

Sau đây là một số câu lệnh phân tích mẫu mà bạn có thể thử:

  • Dựa vào bảng inpatient_charges_2015, 5 thủ thuật hàng đầu (định nghĩa DRG) theo tổng số lượt xuất viện là gì?
  • Mức thanh toán trung bình cho dịch vụ "PHẪU THUẬT THAY KHỚP LỚN" ở California (CA) là bao nhiêu?
  • Tiểu bang nào có mức phí được bảo hiểm trung bình cao nhất cho cùng một quy trình đó?

Lớp học lập trình này đến đây là hết. Bạn mới chỉ khám phá một phần nhỏ những gì bạn có thể đạt được nhờ các tác nhân dữ liệu dựa trên hệ thống dữ liệu doanh nghiệp. Vui lòng đặt mọi câu hỏi mà bạn có thể thắc mắc về tập dữ liệu cms_medicare cho nhân viên hỗ trợ.

Thử thách: Tìm một tập dữ liệu công khai khác trong BigQuery và sử dụng tác nhân của bạn để khám phá tập dữ liệu đó. Bạn cũng có thể tạo tập dữ liệu của riêng mình bằng dữ liệu của riêng bạn và phân tích dữ liệu đó một cách riêng tư.

9. Dọn dẹp (không bắt buộc)

Để tránh bị tính phí trong tương lai, bạn có thể xoá các tài nguyên đã dùng trong lớp học lập trình này.

1. Dừng tác nhân

Trong cửa sổ dòng lệnh Cloud Shell, hãy nhấn tổ hợp phím Ctrl+C để dừng quy trình adk web.

2. Xoá tệp dự án

Để xoá mã tác nhân khỏi môi trường Cloud Shell, hãy chạy lệnh sau trong thiết bị đầu cuối:

cd ~ && rm -rf ai-agents-adk

3. Tắt API

Để tắt các API mà bạn đã bật trước đó, hãy chạy lệnh sau trong thiết bị đầu cuối:

gcloud services disable \
 aiplatform.googleapis.com \
 bigquery.googleapis.com

4. Tắt dự án

Nếu bạn muốn xoá toàn bộ dự án trên đám mây của Google, hãy làm theo hướng dẫn tắt dự án.

10. Kết luận

Xin chúc mừng! Bạn đã xây dựng thành công một Tác nhân phân tích dữ liệu bằng khung Bộ công cụ phát triển tác nhân (ADK). Tác nhân này có khả năng phân tích dữ liệu từ nhiều nguồn, tạo thông tin chi tiết và giúp tự động hoá một số phần trong quy trình phân tích dữ liệu.

Để tiếp tục hành trình học tập, hãy khám phá những tài nguyên sau: