ADK Agentic Pattern with Memory & MCP

1. Öğrenecekleriniz

ADK Master Class - Your Journey into Multi-Agent Systems'e hoş geldiniz

Yapay zeka temsilcilerinin heyecan verici dünyasına adım atmak üzeresiniz. Yalnızca soruları yanıtlayan basit chatbot'ları unutun. Karmaşık görevleri tamamlamak için akıl yürütebilen, plan yapabilen ve araçları kullanabilen gelişmiş, bağımsız sistemler oluşturmak amacıyla Agent Development Kit (ADK)'nın derinliklerine iniyoruz.

cover

Bu eğitimin sonunda şunları yapabileceksiniz:

  • İlk Yapay Zeka Temsilcinizi Oluşturun: Kullanıcının ihtiyaçlarını anlayabilen, Google Arama gibi araçları kullanabilen ve ayrıntılı, faydalı yanıtlar üretebilen, tamamen işlevsel bir temsilci oluşturun.
  • Çok Temsilcili Sistemler Oluşturma: Temsilcilerin görevleri diğer uzmanlaşmış temsilcilere devrettiği ve birlikte çalışan bir yapay zeka uzmanları ekibi oluşturduğu devrim niteliğindeki bir kavram olan "Araç Olarak Temsilci" modelini öğrenin.
  • Karmaşık İş Akışlarını Düzenleme: Basit görev atamanın ötesine geçin ve Yönlendiriciler, Sıralı Zincirler, Döngüler ve Paralel Yürütme gibi gelişmiş kalıplarda uzmanlaşarak neredeyse tüm istekleri işleyebilen sağlam, verimli ve akıllı uygulamalar oluşturun.
  • Temsilcilerinize Hafıza Kazandırma: Sohbet hafızasının kritik rolünü anlayın. Bu sayede temsilcileriniz ek soruları yanıtlayabilir, geri bildirimlerden ders çıkarabilir ve çok adımlı görevleri sorunsuz bir şekilde yönetebilir.
  • MCP ile bağlanma: MCP araç kutusuyla bağlanın.

Haydi, başlayalım. 🚀

2. GCP ve Gemini API anahtarını ayarlama

GCP Projenizi ve Gemini API Anahtarınızı Ayarlama

Yapay zeka aracılarımızı desteklemek için iki şeye ihtiyacımız var: temel işlevleri sağlamak üzere bir Google Cloud projesi ve Google'ın güçlü modellerine erişmek için bir Gemini API anahtarı.

1. adım: Faturalandırma hesabını etkinleştirin

  • Faturalandırma hesabınızı 5 ABD doları krediyle talep edin. Bu hesabı dağıtımınız için kullanmanız gerekir. Gmail hesabınızda oturum açtığınızdan emin olun.

2. adım: Yeni bir GCP projesi oluşturun

  • Google Cloud Console'a gidip yeni bir proje oluşturun.

yeni bir GCP hesabı oluşturabilirsiniz

  • Google Cloud Console'a gidip yeni bir proje oluşturun.
  • Sol paneli açın, Billing simgesini tıklayın ve faturalandırma hesabının bu GCP hesabına bağlı olup olmadığını kontrol edin.

Faturalandırma hesabını GCP hesabına bağlama

Bu sayfayı görüyorsanız manage billing account seçeneğini işaretleyin, Google Cloud deneme sürümünü seçin ve bu sürüme bağlanın.

3. adım: Google Cloud proje kimliğinizi bulun

👉Google Cloud Console'un üst kısmında Cloud Shell'i etkinleştir'i tıklayın (Cloud Shell bölmesinin üst kısmındaki terminal şeklindeki simge). cloud-shell.png

👉 "Open Editor" (Düzenleyiciyi aç) düğmesini tıklayın (kalemli açık bir klasöre benzer). Bu işlemle pencerede Cloud Shell kod düzenleyici açılır. Sol tarafta bir dosya gezgini görürsünüz. open-editor.png

👉Google Cloud proje kimliğinizi bulun:

  • Google Cloud Console'u açın: bağlantı
  • Sayfanın üst kısmındaki proje açılır listesinden bu atölye çalışması için kullanmak istediğiniz projeyi seçin.
  • Proje kimliğiniz, kontrol panelindeki Proje bilgileri kartında gösterilir.

03-04-project-id.png

👉💻 Terminalde, aşağıdaki komutu kullanarak kimliğinizin doğrulandığını ve projenin proje kimliğinize ayarlandığını doğrulayın:

gcloud auth list

👉💻 Bootstrap projesini GitHub'dan kopyalayın:

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

👉💻 Başlatma komut dosyasını çalıştırın. Bu komut dosyası, Google Cloud proje kimliğinizi girmenizi ister. Ayrıca, setup_venv.sh komut dosyası tarafından istendiğinde son adımda bulduğunuz Google Cloud proje kimliğini girin.

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. Oturum: ADK Web'deki İlk Aracınız

Aşağıdaki komutu çalıştırarak ADK Web'i açın:

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

Komutları çalıştırdıktan sonra terminalinizde ADK Web Sunucusu'nun başlatıldığını belirten bir çıkış görmelisiniz. Bu çıkış şuna benzer:

+-----------------------------------------------------------------------------+
| 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)

👉 Ardından, tarayıcınızdan ADK Dev kullanıcı arayüzüne erişmek için:

Cloud Shell araç çubuğundaki (genellikle sağ üstte) Web önizlemesi simgesinden (genellikle göz veya ok içeren bir kareye benzer) Bağlantı noktasını değiştir'i seçin. Pop-up pencerede bağlantı noktasını 8000 olarak ayarlayın ve "Değiştir ve Önizle"yi tıklayın. Ardından Cloud Shell, ADK Dev kullanıcı arayüzünü gösteren yeni bir tarayıcı sekmesi veya penceresi açar.

webpreview

👉 Çağırma ritüeliniz tamamlandı ve artık aracı çalışıyor. Tarayıcınızdaki ADK Dev UI, Familiar ile doğrudan bağlantınızdır.

Paralel iş akışı aracını seçin: Kullanıcı arayüzünün üst kısmındaki açılır menüden parallel_agent simgesini seçin.

single_agent simgesini buradan seçebilirsiniz: Tek bir temsilcinin izleme resmi

İzlemeyi buradan görebilirsiniz: Tek bir temsilcinin izleme resmi

👉 Test İstem:

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

4. 2. Oturum: İş Akışı Aracısı: Sıralı Aracı, Paralel Aracı, Döngü Aracısı

Parallel Agent

Paralel iş akışı aracını seçin: Kullanıcı arayüzünün üst kısmındaki açılır menüden parallel_agent simgesini seçin.

👉 Test İstem:

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

parallel_agent simgesini buradan seçebilirsiniz: paralel ajanların izleme resmi

İzlemeyi buradan görebilirsiniz: paralel ajanların izleme resmi

Sıralı Temsilci

Sıralı iş akışı aracısını seçme: Kullanıcı arayüzünün üst kısmındaki açılır menüden sequential_agent simgesini seçin.

👉 Test İstem:

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

sequential_agent simgesini buradan seçebilirsiniz: sıralı aracıların izleme resmi

İzlemeyi buradan görebilirsiniz: tracing picture of sequential_agent

Loop Agent

Döngü iş akışı aracını seçin: Kullanıcı arayüzünün üst kısmındaki açılır menüden loop_agent simgesini seçin.

👉 Test İstem:

Plan a trip from Sunnyvale to San Francisco today.

loop_agent simgesini buradan seçebilirsiniz: Loop aracılarının izleme resmi

İzlemeyi buradan görebilirsiniz: Loop aracılarının izleme resmi

5. 3. Oturum: Özel Temsilci

ADK Web Kullanıcı Arayüzünüz açıldıktan sonra Custom_Agent aracısını seçebilirsiniz.

👉 Test İstem:

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

Custom_Agent simgesini buradan seçebilirsiniz: Custom_Agent'ın izleme resmi

İzlemeyi buradan görebilirsiniz: Custom_Agent'ın izleme resmi

6. 4. Oturum: Düzenleyici Deseni - Yönlendirme Aracısı

ADK Web Kullanıcı Arayüzünüz açıldıktan sonra routing_agent simgesini seçebilirsiniz.

👉 Test İstem:

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

routing_agent simgesini buradan seçebilirsiniz: yönlendirme aracıları resminin izini sürme

İzlemeyi buradan görebilirsiniz: yönlendirme aracıları resminin izini sürme

7. 5. Oturum: Temsilciyi araç olarak kullanma

ADK Web Kullanıcı Arayüzünüz açıldıktan sonra Agent_as_tool aracısını seçebilirsiniz.

👉 Test İstem:

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

agent_as_tool simgesini buradan seçebilirsiniz: Aracı araç olarak izleme resmi

İzlemeyi buradan görebilirsiniz: yönlendirme aracıları resminin izini sürme

8. 6. Oturum: Uzun Süreli Belleğe Sahip Aracı

👉💻 Klasöre gidip koşucuyu kullanarak ajanı güçlendirerek uzun süreli hafızanızı test edin:

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

👉 Test İstem:

I like Art and Italian food.

Ardından "crtl+C" tuşlarına basarak oturumu sonlandırın. Oturumu yeniden başlatın:

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

👉 Test İstem:

Plan a trip to San Francisco based on my preference.

9. 7. Oturum: Temsilcinizi MCP ile güçlendirme

1. adım: Yerel veritabanını hazırlayın

👉💻 Terminalinizde aşağıdaki komutu çalıştırın.

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

2. adım: MCP Toolbox sunucusunu yükleyin ve çalıştırın

👉💻 Terminalinizde aşağıdaki komutu çalıştırın.

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

indirme işlemi tamamlandıktan sonra çalıştırın.

chmod +x toolbox

3. Adım

Bir terminalde aşağıdaki komutu çalıştırın

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

Başka bir terminalde aşağıdaki komutu çalıştırın.

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