الگوی عامل ADK با حافظه & MCP

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

به کلاس کارشناسی ارشد ADK خوش آمدید - سفری به درون سیستم‌های چندعاملی

شما در آستانه ورود به دنیای هیجان‌انگیز عامل‌های هوش مصنوعی هستید. چت‌بات‌های ساده‌ای که فقط به سوالات پاسخ می‌دهند را فراموش کنید. ما در حال بررسی عمیق Agent Development Kit (ADK) هستیم تا سیستم‌های پیچیده و مستقلی بسازیم که می‌توانند استدلال کنند، برنامه‌ریزی کنند و از ابزارها برای انجام وظایف پیچیده استفاده کنند.

پوشش

در پایان این آموزش، شما قادر خواهید بود:

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

بیایید شروع کنیم! 🚀

۲. تنظیم کلید API GCP و Gemini

راه‌اندازی پروژه GCP و کلید API Gemini

برای توانمندسازی عوامل هوش مصنوعی خود، به دو چیز نیاز داریم: یک پروژه ابری گوگل برای فراهم کردن پایه و اساس و یک کلید API Gemini برای دسترسی به مدل‌های قدرتمند گوگل.

مرحله ۱: فعال کردن حساب صورتحساب

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

مرحله 2: ایجاد یک پروژه GCP جدید

  • به کنسول ابری گوگل بروید و یک پروژه جدید ایجاد کنید.

یک حساب gcp جدید ایجاد کنید

  • به کنسول ابری گوگل بروید و یک پروژه جدید ایجاد کنید.
  • پنل سمت چپ را باز کنید، روی Billing کلیک کنید، بررسی کنید که آیا حساب billing به این حساب gcp مرتبط است یا خیر.

حساب صورتحساب را به حساب gcp پیوند دهید

اگر این صفحه را مشاهده کردید، manage billing account بررسی کنید، نسخه آزمایشی Google Cloud و لینک آن را انتخاب کنید.

مرحله ۳: شناسه پروژه گوگل کلود خود را پیدا کنید

👉 روی فعال کردن پوسته ابری (Activate Cloud Shell) در بالای کنسول گوگل کلود کلیک کنید (این آیکون به شکل ترمینال در بالای پنل پوسته ابری قرار دارد)، پوسته ابری.png

👉 روی دکمه‌ی «باز کردن ویرایشگر» کلیک کنید (شبیه یک پوشه‌ی باز شده با مداد است). با این کار ویرایشگر کد Cloud Shell در پنجره باز می‌شود. یک فایل اکسپلورر در سمت چپ خواهید دید. ویرایشگر باز.png

👉شناسه پروژه گوگل کلود خود را پیدا کنید:

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

شناسه-پروژه ۰۳-۰۴.png

👉💻 در ترمینال، با استفاده از دستور زیر تأیید کنید که از قبل احراز هویت شده‌اید و پروژه روی شناسه پروژه شما تنظیم شده است:

gcloud auth list

👉💻 پروژه بوت‌استرپ را از گیت‌هاب کپی کنید:

git clone https://github.com/cuppibla/adk_tutorial.git

👉💻 اسکریپت مقداردهی اولیه را اجرا کنید، این اسکریپت از شما می‌خواهد که شناسه پروژه گوگل کلود خود را وارد کنید. و شناسه پروژه گوگل کلود که از مرحله قبل پیدا کردید را در هنگام درخواست اسکریپت setup_venv.sh وارد کنید.

cd ~/adk_tutorial
./setup_venv.sh

gcloud services enable  compute.googleapis.com \
                        artifactregistry.googleapis.com \
                        run.googleapis.com \
                        iam.googleapis.com \
                        aiplatform.googleapis.com \
                        cloudresourcemanager.googleapis.com

۳. جلسه ۱: اولین نماینده شما در ADK Web

باز کردن ADK Web با اجرای دستور زیر:

cd ~/adk_tutorial
source .adk_env/bin/activate
adk web

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

+-----------------------------------------------------------------------------+
| ADK Web Server started                                                      |
|                                                                             |
| For local testing, access at http://localhost:8000.                         |
+-----------------------------------------------------------------------------+

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

👉 در مرحله بعد، برای دسترسی به رابط کاربری ADK Dev از مرورگر خود:

از آیکون پیش‌نمایش وب (که اغلب شبیه یک چشم یا مربع با یک فلش است) در نوار ابزار Cloud Shell (معمولاً بالا سمت راست)، گزینه تغییر پورت را انتخاب کنید. در پنجره بازشو، پورت را روی ۸۰۰۰ تنظیم کنید و روی « تغییر و پیش‌نمایش » کلیک کنید. سپس Cloud Shell یک تب یا پنجره مرورگر جدید باز می‌کند که رابط کاربری ADK Dev را نمایش می‌دهد.

پیش‌نمایش وب

👉 مراسم احضار شما کامل شده است و اکنون عامل در حال اجرا است. رابط کاربری ADK Dev در مرورگر شما، ارتباط مستقیم شما با Familiar است.

عامل گردش کار موازی را انتخاب کنید. در منوی کشویی بالای رابط کاربری، parallel_agent انتخاب کنید.

شما می‌توانید single_agent را از اینجا انتخاب کنید: تصویر ردیابی از ماموران مجرد

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از یک مأمور واحد

👉 دستور آزمایش:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art.

۴. جلسه ۲: عامل گردش کار: عامل ترتیبی، عامل موازی، عامل حلقه‌ای

عامل موازی

عامل گردش کار موازی را انتخاب کنید. در منوی کشویی بالای رابط کاربری، parallel_agent انتخاب کنید.

👉 دستور آزمایش:

Plan my trip to San Francisco, I want to find some good concert, restaurant and museum.

می‌توانید parallel_agent را از اینجا انتخاب کنید: تصویر ردیابی از عوامل موازی

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از عوامل موازی

عامل ترتیبی

عامل گردش کار ترتیبی را انتخاب کنید. در منوی کشویی بالای رابط کاربری، sequential_agent را انتخاب کنید.

👉 دستور آزمایش:

Find a good sushi near Standford and tell me how to get there.

می‌توانید sequential_agent از اینجا انتخاب کنید: تصویر ردیابی عامل‌های ترتیبی

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از sequence_agent

عامل حلقه

عامل گردش کار حلقه را انتخاب کنید. در منوی کشویی بالای رابط کاربری، loop_agent انتخاب کنید.

👉 دستور آزمایش:

Plan a trip from Sunnyvale to San Francisco today.

می‌توانید loop_agent از اینجا انتخاب کنید: تصویر ردیابی از عامل‌های حلقه

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از عامل‌های حلقه

۵. جلسه ۳: عامل سفارشی

پس از باز شدن رابط کاربری وب ADK، می‌توانید عامل Custom_Agent را انتخاب کنید.

👉 دستور آزمایش:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art. Make sure within budget of 100 dollars.

شما می‌توانید Custom_Agent را از اینجا انتخاب کنید: تصویر ردیابی از Custom_Agent

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از Custom_Agent

۶. جلسه ۴: الگوی هماهنگ‌کننده - عامل مسیریابی

پس از باز شدن رابط کاربری وب ADK، می‌توانید routing_agent انتخاب کنید.

👉 دستور آزمایش:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

می‌توانید routing_agent از اینجا انتخاب کنید: تصویر ردیابی از عوامل مسیریابی

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از عوامل مسیریابی

۷. جلسه ۵: عامل به عنوان ابزار

پس از باز شدن رابط کاربری وب ADK، می‌توانید agent Agent_as_tool را انتخاب کنید.

👉 دستور آزمایش:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

شما می‌توانید agent_as_tool را از اینجا انتخاب کنید: تصویر ردیابی عامل به عنوان ابزار

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از عوامل مسیریابی

۸. جلسه ۶: عامل با حافظه بلندمدت

👉💻 با رفتن به پوشه و استفاده از runner برای روشن کردن عامل، حافظه بلند مدت خود را آزمایش کنید:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 دستور آزمایش:

I like Art and Italian food.

سپس با فشردن کلیدهای "crtl+C" جلسه را خاتمه دهید. جلسه را مجدداً راه‌اندازی کنید:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 دستور آزمایش:

Plan a trip to San Francisco based on my preference.

۹. جلسه ۷: با MCP به نماینده خود قدرت دهید

مرحله ۱: آماده‌سازی پایگاه داده محلی

👉💻 دستور زیر را در ترمینال خود اجرا کنید

cd ~/adk_tutorial
source .adk_env/bin/activate
chmod +x setup_trip_database.py
./setup_trip_database.py

مرحله 2: نصب و اجرای سرور جعبه ابزار MCP

👉💻 دستور زیر را در ترمینال خود اجرا کنید

cd ~/adk_tutorial/mcp_tool_box
export VERSION=0.16.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox

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

chmod +x toolbox

مرحله ۳

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

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/mcp_tool_box
./toolbox --tools-file "trip_tools.yaml" --port 7001

در یک ترمینال دیگر دستور زیر را اجرا کنید

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/g_agents_mcp
python main.py