ساخت عامل‌های هوش مصنوعی با ADK: عامل تحلیلگر داده

۱. قبل از شروع

به بخش چهارم از مجموعه «ساخت عامل‌های هوش مصنوعی با ADK» خوش آمدید! در این آزمایشگاه کد عملی، شما آموخته‌های جلسات قبلی را با هم ترکیب خواهید کرد تا یک عامل تحلیلگر داده ایجاد کنید. این عامل برای تجزیه و تحلیل داده‌ها، ایجاد بینش‌های ارزشمند و خودکارسازی جنبه‌های کلیدی گردش کار تجزیه و تحلیل داده‌ها طراحی خواهد شد.

شما به نماینده خود این امکان را می‌دهید که با استفاده از ابزارهای قدرتمند موجود در ADK، فایل‌های آپلود شده را بررسی کرده و آن را به پایگاه‌های داده سطح سازمانی مانند Google Cloud BigQuery متصل کند.

همچنین می‌توانید از طریق این آدرس کوتاه‌شده به این codelab دسترسی پیدا کنید: goo.gle/adk-data-analyst

پیش‌نیازها

  • درک اساسی از مفاهیم هوش مصنوعی مولد
  • تسلط اولیه به برنامه‌نویسی پایتون و راحتی در استفاده از خط فرمان.
  • آشنایی با مفاهیم مربوط به آزمایشگاه‌های کد قبلی در این مجموعه: «مبانی» و «توانمندسازی با ابزارها».

آنچه یاد خواهید گرفت

  • نحوه ساخت یک عامل تحلیلگر داده کاربردی با استفاده از چارچوب ADK.
  • روش‌هایی برای فعال کردن یک عامل برای تجزیه و تحلیل داده‌ها از اسناد آپلود شده.
  • نحوه اتصال عامل خود به پایگاه داده BigQuery برای تجزیه و تحلیل داده‌های سطح سازمانی.
  • تکنیک‌هایی برای تعریف منطق اصلی عامل شما، از جمله هدف و دستورالعمل‌های آن.

آنچه نیاز دارید

  • یک کامپیوتر سالم و یک اتصال اینترنتی قابل اعتماد.
  • یک مرورگر، مانند کروم ، برای دسترسی به کنسول ابری گوگل
  • ذهنی کنجکاو و مشتاق یادگیری.

۲. مقدمه

در دنیای داده‌محور امروزی، توانایی تجزیه و تحلیل سریع و دقیق حجم عظیمی از اطلاعات، بیش از هر زمان دیگری حیاتی است. با این حال، فرآیند استخراج بینش‌های معنادار اغلب نیاز به تخصص فنی عمیق در حوزه‌هایی مانند SQL دارد و این امر باعث ایجاد گلوگاهی می‌شود که می‌تواند تصمیم‌گیری را کند کند. چه می‌شود اگر بتوانید این شکاف را پر کنید و به راحتی یک مکالمه با مجموعه داده‌های پیچیده تعامل داشته باشید؟

اینجاست که هوش مصنوعی بازی را تغییر می‌دهد. با ایفای نقش یک رابط هوشمند بین شما و داده‌هایتان، هوش مصنوعی می‌تواند سوالات زبان طبیعی را درک کند، آنها را به پرسش‌های فنی ترجمه کند و در عرض چند ثانیه بینش‌های عملی ارائه دهد.

در این آزمایشگاه کد، با ساخت یک عامل تحلیلگر داده کاربردی با استفاده از کیت توسعه عامل (ADK) به آینده تجزیه و تحلیل داده‌ها قدم خواهید گذاشت. ما با ایجاد یک عامل بنیادی شروع خواهیم کرد و سپس به تدریج قابلیت‌های آن را افزایش خواهیم داد. ابتدا به عامل خود آموزش خواهید داد که داده‌های بدون ساختار را از اسناد آپلود شده تجزیه و تحلیل کند. سپس، آن را به یک انبار داده قدرتمند و در سطح سازمانی، Google Cloud BigQuery، متصل خواهید کرد تا یک مجموعه داده مراقبت‌های بهداشتی در مقیاس بزرگ و واقعی را جستجو و تجزیه و تحلیل کند.

در پایان این آموزش، شما نه تنها یک دستیار هوش مصنوعی کاربردی خواهید داشت، بلکه درک کاملی از نحوه ساخت عواملی خواهید داشت که می‌توانند وظایف روتین داده را خودکار کنند، تجزیه و تحلیل را تسریع کنند و دسترسی به بینش‌های حیاتی را برای شما و تیمتان دموکراتیزه کنند.

۳. پیکربندی سرویس‌های ابری گوگل

ایجاد یک پروژه گوگل کلود

برای اینکه تمام کارهایتان برای این آزمایشگاه کد، سازماندهی شده و از سایر پروژه‌ها جدا باشد، با ایجاد یک پروژه جدید Google Cloud شروع خواهید کرد.

  1. به console.cloud.google.com/projectcreate بروید
  2. اطلاعات مورد نیاز را وارد کنید:
  • نام پروژه - می‌توانید هر نامی که می‌خواهید وارد کنید (مثلاً genai-workshop)
  • مکان - آن را بدون سازمان رها کنید
  • حساب صورتحساب - اگر این گزینه ظاهر شد، «حساب صورتحساب آزمایشی پلتفرم ابری گوگل» یا در صورت تمایل، حساب صورتحساب خودتان را انتخاب کنید. اگر این گزینه را نمی‌بینید، می‌توانید به مرحله بعدی بروید.
  1. شناسه پروژه تولید شده را کپی کنید، بعداً به آن نیاز خواهید داشت.

9cc4a060b8c46fb0.png

  1. اگر همه چیز درست است، روی دکمه ایجاد کلیک کنید

پیکربندی Cloud Shell

پس از ایجاد موفقیت‌آمیز پروژه، مراحل زیر را برای راه‌اندازی Cloud Shell انجام دهید.

۱. راه‌اندازی Cloud Shell

به shell.cloud.google.com بروید. اگر پنجره‌ای ظاهر شد که درخواست مجوز می‌کرد، روی «مجوز دادن» کلیک کنید.

۱۸۶bc51f8f3ae589.png

۲. تنظیم شناسه پروژه

replace-with-your-project-id با شناسه پروژه واقعی خود که در مرحله ایجاد پروژه در بالا به دست آورده‌اید، جایگزین کنید. دستور زیر را در ترمینال Cloud Shell اجرا کنید تا شناسه پروژه صحیح تنظیم شود.

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

اکنون باید ببینید که پروژه صحیح در ترمینال Cloud Shell انتخاب شده است. شناسه پروژه انتخاب شده با رنگ زرد برجسته شده است.

479ae540d1828559.png

۳. فعال کردن API های مورد نیاز

برای استفاده از سرویس‌های گوگل کلود، ابتدا باید APIهای مربوط به آن‌ها را برای پروژه خود فعال کنید. دستورات زیر را در ترمینال Cloud Shell اجرا کنید تا سرویس‌های این Codelab فعال شوند:

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

اگر عملیات موفقیت‌آمیز بود، پیام Operation/... finished successfully را در ترمینال خود مشاهده خواهید کرد.

۴. ایجاد یک محیط مجازی پایتون

در مرحله بعد، یک محیط پایتون ایزوله برای مدیریت وابستگی‌های پروژه خود ایجاد کنید.

۱. دایرکتوری پروژه را ایجاد کنید و به داخل آن بروید:

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

۲. ایجاد و فعال‌سازی یک محیط مجازی:

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

خواهید دید که ( ai-agents-adk ) به عنوان پیشوند اعلان ترمینال شما ظاهر می‌شود که نشان می‌دهد محیط مجازی فعال است.

6512ff43e8f5aa04.png

۳. صفحه adk را نصب کنید

uv pip install google-adk --no-cache

۵. یک عامل اولیه ایجاد کنید

با آماده شدن محیط، وقت آن رسیده است که عامل هوش مصنوعی خود را با استفاده از یک دستور ساده ADK ایجاد کنید.

۱. یک نماینده ایجاد کنید

در ترمینال خود، دستور زیر را اجرا کنید:

adk create data_analyst_agent

۲. عامل خود را پیکربندی کنید

از شما خواسته می‌شود که عامل خود را پیکربندی کنید. انتخاب‌های زیر را انجام دهید:

  • یک مدل انتخاب کنید : مدل ۱. gemini-2.5-flash را انتخاب کنید.
  • یک backend انتخاب کنید : گزینه ۲. Vertex AI را انتخاب کنید.
  • شناسه پروژه Google Cloud را وارد کنید : برای تأیید شناسه پروژه صحیح، Enter را فشار دهید.
  • منطقه ابری گوگل را وارد کنید : برای استفاده از منطقه پیش‌فرض us-central1 کلید Enter را فشار دهید.

۳. وب سرور توسعه را شروع کنید

پس از ایجاد عامل، با اجرای دستور زیر، وب سرور توسعه را راه‌اندازی کنید:

adk web

می‌توانید در ترمینال روی لینک (مثلاً http://localhost:8000 ) با فشردن کلیدهای Ctrl + Click یا Cmd + Click کلیک کنید یا اینکه

  • روی دکمه پیش‌نمایش وب w کلیک کنید
  • تغییر پورت را انتخاب کنید.
  • شماره پورت را وارد کنید (مثلاً ۸۰۰۰)
  • روی تغییر و پیش‌نمایش کلیک کنید

سپس رابط کاربری شبیه به برنامه چت را در مرورگر خود مشاهده خواهید کرد.

۴. با نماینده خود چت کنید

از طریق این رابط با نماینده خود چت کنید! چیزی شبیه به «سلام، چه کاری از دستتان برمی‌آید؟» بگویید.

۶. تحلیل داده‌ها از یک سند

در این بخش، شما یک سند را برای نماینده آپلود می‌کنید و در مورد محتوای آن سؤال می‌پرسید.

۱. خلاصه کردن سند

برای دریافت خلاصه سند، مراحل زیر را دنبال کنید:

  1. فایل مربوط به استراتژی مراقبت‌های بهداشتی گوگل را دانلود کنید.
  2. روی دکمه آپلود فایل در رابط کاربری نماینده خود کلیک کنید و فایلی را که دانلود کرده‌اید انتخاب کنید .
  3. در رابط چت، از اپراتور بخواهید فایل را خلاصه کند: « خلاصه‌ای از این فایل را به من بدهید »
  4. اینتر را فشار دهید.

شما باید خلاصه‌ای مختصر از محتوای سند را دریافت کنید.

f0784e4dc5d687cb.png

۲. سوالات جزئی‌تری بپرسید

حالا، سعی کنید سوالات جزئی‌تری بپرسید تا عمیق‌تر به سند بپردازید:

  • بیماری‌های اصلی که گوگل در حال حاضر با هوش مصنوعی و ابتکارات داده خود هدف قرار می‌دهد، کدامند؟
  • گوگل چگونه قصد دارد قابلیت همکاری داده‌های مراقبت‌های بهداشتی را بهبود بخشد و سیلوهای داده را از بین ببرد؟
  • چگونه از گوگل کلود برای پشتیبانی از کسب‌وکارها و محققان حوزه سلامت استفاده می‌شود؟
  • گوگل احتمالاً در مرحله بعدی به بررسی چه حوزه‌های جدیدی از بیماری‌ها خواهد پرداخت (مثلاً بیماری مزمن انسدادی ریه، سرطان، سلامت روان)؟

۳. سوالات تکمیلی بپرسید

همچنین می‌توانید سوالات تکمیلی مانند پیدا کردن شماره مرجع صفحه را برای تحقیقات بیشتر بپرسید:

  • اطلاعات مربوط به دیابت را از کجا دیدید؟
  • من را به صفحات مرتبط با بیماری‌ها هدایت کنید.
  • نمودارهای جالبی که باید نگاهی به آنها بیندازم کجا هستند؟

چالش : سندی از خودتان پیدا کنید که می‌خواهید نماینده آن را تجزیه و تحلیل کند و آن را آپلود کنید. از نماینده در مورد محتوای آن سوال بپرسید.

۷. ترکیب بینش‌های سند با جستجوی وب زنده

اکنون عامل در سند متخصص است، اما یک تحلیلگر قدرتمند همچنین به دسترسی به اطلاعات فعلی و خارجی نیاز دارد. بیایید به عامل خود امکان جستجو در وب را بدهیم.

  1. در ترمینال Cloud Shell، کلیدهای Ctrl+C را فشار دهید تا وب سرور متوقف شود.
  2. با اجرای این دستور، فایل data_analyst_agent/agent.py را در ویرایشگر Cloud Shell باز کنید :
cloudshell edit data_analyst_agent/agent.py
  1. فایل را برای وارد کردن و اضافه کردن ابزار 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. فایل را ذخیره کنید و با تایپ کردن adk web در ترمینال خود، وب سرور را مجدداً راه‌اندازی کنید.
  2. در رابط کاربری اپراتور، فایل GoogleHealthStrategy.pdf را دوباره آپلود کنید .
  3. حالا، سوالی بپرسید که هم به متن سند و هم به اطلاعات خارجی نیاز داشته باشد:
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?

اکنون نماینده اطلاعات را از سند و جستجوی زنده گوگل ترکیب می‌کند تا پاسخ جامعی به شما بدهد. می‌توانید چند سوال بپرسید:

  • در این سند به استفاده از هوش مصنوعی برای رتینوپاتی دیابتی اشاره شده است. برخی از جدیدترین فناوری‌های مورد تأیید FDA در این زمینه که در سال گذشته اعلام شده‌اند، کدامند؟
  • این فایل به همکاری‌ها اشاره می‌کند. آیا می‌توانید اخیراً مقاله خبری یا اطلاعیه مطبوعاتی در مورد آخرین همکاری‌های گوگل در بخش مراقبت‌های بهداشتی پیدا کنید؟

چالش : سعی کنید سوالات مشابهی را از یک سند خودتان بپرسید. چیزی که از یک سند محلی و نتایج حاصل از اینترنت استفاده می‌کند.

۸. داده‌های مراقبت‌های بهداشتی را با BigQuery تجزیه و تحلیل کنید

آپلود اسناد به صورت جداگانه مقیاس‌پذیر نیست. در یک سناریوی دنیای واقعی، داده‌ها در سیستم‌های سازمانی مانند Google Cloud BigQuery قرار دارند.

در حال حاضر، توسعه‌دهندگانی که برنامه‌های عامل‌محور می‌سازند، اغلب مجبورند ابزارهای سفارشی خود را بسازند و نگهداری کنند. این فرآیند دستی کند، پرخطر و سربار قابل توجهی ایجاد می‌کند. این امر توسعه‌دهندگان را مجبور می‌کند به جای تمرکز بر نوآوری، همه چیز را از احراز هویت گرفته تا مدیریت خطا مدیریت کنند.

کیت توسعه عامل (ADK) شامل ابزارهای شخص ثالث برای تعامل با BigQuery است. برای این تحلیل خاص، ما از مجموعه داده‌های عمومی استفاده از Medicare که توسط مراکز خدمات Medicare و Medicaid (CMS) ارائه شده است، استفاده خواهیم کرد.

ابتدا، بیایید عامل خود را به یک مجموعه داده عظیم مراقبت‌های بهداشتی عمومی متصل کنیم.

  1. در ترمینال Cloud Shell، کلیدهای Ctrl+C را فشار دهید تا وب سرور متوقف شود .
  2. با اجرای این دستور در ترمینال، فایل data_analyst_agent/agent.py را در ویرایشگر Cloud Shell باز کنید :
cloudshell edit data_analyst_agent/agent.py
  1. برای پیکربندی BigQueryToolset قدرتمند ، کل محتوای فایل را با کد زیر جایگزین کنید :
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. فایل را ذخیره کنید و با تایپ کردن adk web در ترمینال خود، وب سرور را مجدداً راه‌اندازی کنید.
  2. اکنون، می‌توانید از نماینده خود بخواهید که مجموعه داده‌های عمومی مدیکر را تجزیه و تحلیل کند. با بررسی داده‌ها شروع کنید:
Look into the cms_medicare dataset in the bigquery-public-data project. What can you tell me about it?

عامل از ابزارهای خود برای بررسی مجموعه داده‌ها و ارائه فهرستی از جداول موجود استفاده خواهد کرد. از آنجا، می‌توانید با سوالات تحلیلی خاص، به جزئیات بیشتری بپردازید. عامل ممکن است سوالات شفاف‌سازی بپرسد تا از صحت پرس‌وجوهایش اطمینان حاصل کند.

۲۷۹۲f۱۴f۶۲f۵b۴۸۴.png

برای برخی از سوالات، باید شناسه پروژه را به نماینده ارائه دهید تا بتواند از آن برای ایجاد پرس و جو استفاده کند. به عنوان مثال:

۵۰۳۴۷۷d9e314575e.png

در اینجا چند نمونه از سوالات تحلیلی وجود دارد که می‌توانید امتحان کنید:

  • با استفاده از جدول inpatient_charges_2015 ، پنج عمل جراحی برتر (تعاریف DRG) بر اساس تعداد کل ترخیص‌ها کدامند؟
  • میانگین کل هزینه برای «تعویض مفصل اصلی» در کالیفرنیا (CA) چقدر است؟
  • کدام ایالت بالاترین میانگین هزینه‌های تحت پوشش برای همان رویه را دارد؟

این پایان این آزمایش کد است. شما فقط بخش کوچکی از آنچه را که می‌توانید با عامل‌های داده‌ای که توسط سیستم‌های داده سازمانی پشتیبانی می‌شوند، به دست آورید، کشف کرده‌اید . لطفاً هرگونه سؤالی که در مورد مجموعه داده cms_medicare دارید را از عامل خود بپرسید.

چالش: یک مجموعه داده عمومی دیگر در BigQuery پیدا کنید و از عامل خود برای کاوش در آن استفاده کنید. همچنین می‌توانید مجموعه داده خود را با داده‌های خودتان ایجاد کنید و آن را به صورت خصوصی تجزیه و تحلیل کنید.

۹. تمیز کردن (اختیاری)

برای جلوگیری از هزینه‌های آینده، می‌توانید منابع استفاده شده در این آزمایشگاه کد را حذف کنید.

۱. عامل را متوقف کنید

در ترمینال Cloud Shell، کلیدهای Ctrl+C را فشار دهید تا فرآیند adk web متوقف شود.

۲. حذف فایل‌های پروژه

برای حذف کد عامل از محیط Cloud Shell خود، دستور زیر را در ترمینال اجرا کنید:

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

۳. غیرفعال کردن APIها

برای غیرفعال کردن APIهایی که قبلاً فعال کرده‌اید، دستور زیر را در ترمینال اجرا کنید:

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

۴. پروژه را متوقف کنید

اگر می‌خواهید کل پروژه Google Cloud را حذف کنید، راهنمای خاموش کردن پروژه‌ها را دنبال کنید.

۱۰. نتیجه‌گیری

تبریک! شما با موفقیت یک عامل تحلیلگر داده با استفاده از چارچوب کیت توسعه عامل (ADK) ساختید. این عامل قادر به تجزیه و تحلیل داده‌ها از منابع مختلف، ایجاد بینش و کمک به خودکارسازی بخش‌هایی از گردش کار تجزیه و تحلیل داده‌ها است.

برای ادامه مسیر یادگیری خود، این منابع را بررسی کنید: