نمط ADK Agentic مع الذاكرة وMCP

1. ما ستتعلمه

مرحبًا بك في "الدورة التدريبية المتقدّمة حول حزمة تطوير البرامج (ADK)" - رحلتك إلى الأنظمة المتعدّدة الوكلاء

أنت على وشك الدخول إلى عالم وكلاء الذكاء الاصطناعي المثير. لا تكتفِ باستخدام برامج الدردشة البسيطة التي تجيب عن الأسئلة فقط. نحن نركّز على Agent Development Kit (ADK) لإنشاء أنظمة متطورة ذاتية التشغيل يمكنها التفكير والتخطيط واستخدام الأدوات لإنجاز المهام المعقّدة.

أداء لأغنية تابعة لطرف ثالث

في نهاية هذا البرنامج التعليمي، ستتمكّن من:

  • إنشاء أول وكيل يعمل بالذكاء الاصطناعي: يمكنك الانتقال من مستوى المبتدئين إلى إنشاء وكيل يعمل بكامل طاقته ويمكنه فهم احتياجات المستخدمين واستخدام أدوات مثل "بحث Google" وإنشاء ردود مفصّلة ومفيدة.
  • إنشاء أنظمة تستند إلى عدّة وكلاء: تعرَّف على نمط "الوكيل كأداة"، وهو مفهوم ثوري يفوّض فيه الوكلاء المهام إلى وكلاء متخصصين آخرين، ما يؤدي إلى إنشاء فريق من خبراء الذكاء الاصطناعي يعملون معًا.
  • تنظيم سير العمل المعقّد: يمكنك الاستفادة من الأنماط المتقدّمة، مثل أدوات التوجيه والسلاسل التسلسلية والحلقات والتنفيذ المتوازي، لإنشاء تطبيقات قوية وفعّالة وذكية يمكنها التعامل مع أي طلبات تقريبًا.
  • تزويد الوكلاء بالذاكرة: تعرَّف على الدور المهم الذي تؤدّيه الذاكرة الحوارية، ما يتيح لوكلائك التعامل مع أسئلة المتابعة والاستفادة من الملاحظات وإدارة المهام المتعددة الخطوات بسلاسة.
  • التواصل مع MCP: يمكنك التواصل مع مجموعة أدوات MCP.

لِنبدأ. 🚀

2. إعداد مفتاح واجهة برمجة التطبيقات في Google Cloud Platform وGemini

إعداد مشروعك على Google Cloud Platform ومفتاح واجهة برمجة التطبيقات في Gemini

لتشغيل وكلاء الذكاء الاصطناعي، نحتاج إلى عنصرَين: مشروع Google Cloud لتوفير الأساس، ومفتاح Gemini API للوصول إلى نماذج Google الفعّالة.

الخطوة 1: تفعيل حساب الفوترة

  • للمطالبة بحساب الفوترة الذي يتضمّن رصيدًا بقيمة 5 دولار أمريكي، ستحتاج إليه عند نشر تطبيقك. تأكَّد من تسجيل الدخول إلى حسابك على Gmail.

الخطوة 2: إنشاء مشروع جديد على Google Cloud Platform

  • انتقِل إلى Google Cloud Console وأنشِئ مشروعًا جديدًا.

إنشاء حساب جديد على Google Cloud Platform

  • انتقِل إلى Google Cloud Console وأنشِئ مشروعًا جديدًا.
  • افتح اللوحة اليمنى، وانقر على Billing، وتحقّق ممّا إذا كان حساب الفوترة مرتبطًا بحساب Google Cloud Platform هذا.

ربط حساب الفوترة بحساب Google Cloud Platform

إذا ظهرت لك هذه الصفحة، ضَع علامة في المربّع manage billing account، واختَر Google Cloud Trial One واربطه بحسابك.

الخطوة 3: العثور على معرّف مشروع Google Cloud

👉انقر على "تفعيل Cloud Shell" في أعلى "وحدة تحكّم Google Cloud" (رمز شكل الوحدة الطرفية في أعلى لوحة Cloud Shell)، cloud-shell.png

👉انقر على الزر "فتح المحرّر" (يبدو كملف مفتوح مع قلم رصاص). سيؤدي ذلك إلى فتح "محرِّر Cloud Shell" في النافذة. سيظهر لك مستكشف الملفات على الجانب الأيمن. open-editor.png

👉العثور على رقم تعريف مشروعك على Google Cloud:

  • افتح Google Cloud Console: link
  • اختَر المشروع الذي تريد استخدامه في ورشة العمل هذه من القائمة المنسدلة للمشروع في أعلى الصفحة.
  • يظهر رقم تعريف مشروعك في بطاقة "معلومات المشروع" على "لوحة البيانات".

03-04-project-id.png

👉💻 في نافذة الوحدة الطرفية، تأكَّد من أنّك قد أثبتّ هويتك وأنّ المشروع مضبوط على رقم تعريف مشروعك باستخدام الأمر التالي:

gcloud auth list

👉💻 استنسِخ مشروع bootstrap من GitHub:

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

👉💻 شغِّل نص الإعداد الأوّلي، وسيطلب منك إدخال رقم تعريف مشروع Google Cloud. وأدخِل رقم تعريف مشروع Google Cloud الذي عثرت عليه في الخطوة الأخيرة عندما يُطلب منك ذلك من خلال النص البرمجي 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

3- الجلسة 1: أول وكيل لك في "حزمة تطوير البرامج على الويب" من "إعلانات Google"

افتح 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)

👉 بعد ذلك، للوصول إلى واجهة مستخدم "حزمة تطوير التطبيقات" من المتصفّح، اتّبِع الخطوات التالية:

من رمز "معاينة الويب" (غالبًا ما يبدو كعين أو مربّع مع سهم) في شريط أدوات Cloud Shell (عادةً في أعلى يسار الصفحة)، اختَر "تغيير المنفذ". في النافذة المنبثقة، اضبط المنفذ على 8000 وانقر على "تغيير ومعاينة". سيفتح Cloud Shell بعد ذلك علامة تبويب أو نافذة متصفّح جديدة تعرض واجهة مستخدم ADK Dev.

webpreview

👉 اكتملت طقوس الاستدعاء، والوكيل يعمل الآن. واجهة مستخدم مطوّر ADK في المتصفّح هي وسيلة التواصل المباشر مع Familiar.

اختَر وكيل سير العمل المتوازي في القائمة المنسدلة في أعلى واجهة المستخدم، اختَر parallel_agent.

يمكنك النقر على single_agent هنا: صورة تتبُّع لعملاء فرديين

يمكنك الاطّلاع على التتبُّع هنا: صورة تتبُّع لوكيل واحد

👉 طلب التحديث التجريبي:

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

4. الجلسة 2: وكيل سير العمل: الوكيل التسلسلي، والوكيل المتوازي، ووكيل التكرار

Parallel Agent

اختَر وكيل سير العمل المتوازي في القائمة المنسدلة في أعلى واجهة المستخدم، اختَر parallel_agent.

👉 طلب التحديث التجريبي:

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

يمكنك النقر على parallel_agent هنا: تتبُّع صورة لوكلاء متوازيين

يمكنك الاطّلاع على التتبُّع هنا: تتبُّع صورة لوكلاء متوازيين

Sequential Agent

اختَر وكيل سير العمل التسلسلي في القائمة المنسدلة في أعلى واجهة المستخدم، اختَر sequential_agent.

👉 طلب التحديث التجريبي:

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

يمكنك النقر على sequential_agent هنا: صورة تتبُّع لبرامج وكيلة متسلسلة

يمكنك الاطّلاع على التتبُّع هنا: صورة تتبُّع sequential_agent

Loop Agent

اختيار عامل سير عمل الحلقة في القائمة المنسدلة في أعلى واجهة المستخدم، اختَر loop_agent.

👉 طلب التحديث التجريبي:

Plan a trip from Sunnyvale to San Francisco today.

يمكنك النقر على loop_agent هنا: صورة تتبُّع لوكلاء الحلقات

يمكنك الاطّلاع على التتبُّع هنا: صورة تتبُّع لوكلاء الحلقات

5- الجلسة 3: وكيل مخصّص

بعد فتح واجهة مستخدم ADK Web، يمكنك اختيار العامل 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

6. الجلسة 4: نمط المنسّق - وكيل التوجيه

بعد فتح واجهة مستخدم ADK على الويب، يمكنك النقر على routing_agent.

👉 طلب التحديث التجريبي:

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

يمكنك النقر على routing_agent هنا: صورة تتبُّع لوكلاء التوجيه

يمكنك الاطّلاع على التتبُّع هنا: صورة تتبُّع لوكلاء التوجيه

7. الجلسة 5: الوكيل كأداة

بعد فتح واجهة مستخدم ADK Web، يمكنك اختيار العامل Agent_as_tool.

👉 طلب التحديث التجريبي:

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

يمكنك النقر على agent_as_tool هنا: صورة تتبُّع للوكيل كأداة

يمكنك الاطّلاع على التتبُّع هنا: صورة تتبُّع لوكلاء التوجيه

8. الجلسة 6: وكيل مزوّد بذاكرة طويلة الأمد

👉💻 اختبِر ذاكرتك الطويلة الأمد من خلال الانتقال إلى المجلد واستخدام أداة التشغيل لتنشيط الوكيل:

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.

9- الجلسة 7: تعزيز قدرات وكيلك باستخدام "منصة العملاء من Google"

الخطوة 1: إعداد قاعدة البيانات المحلية

👉💻 نفِّذ الأمر التالي في الوحدة الطرفية

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

الخطوة 2: تثبيت خادم MCP Toolbox وتشغيله

👉💻 نفِّذ الأمر التالي في الوحدة الطرفية

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

الخطوة 3

في إحدى الوحدات الطرفية، شغِّل الأمر التالي

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