ADK Agentic Pattern with Memory & MCP

1. Öğrenecekleriniz

ADK Master Class - Çok Ajanlı Sistemlere Yolculuğunuza 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ş, otonom sistemler oluşturmak amacıyla Agent Development Kit (ADK)'nin derinliklerine iniyoruz.

cover

Bu eğiticiyi tamamladığınızda şunları yapabileceksiniz:

  • İlk Yapay Zeka Aracınızı Oluşturun: Kullanıcının ihtiyaçlarını anlayabilen, Google Arama gibi araçları kullanabilen ve ayrıntılı, faydalı yanıtlar oluşturabilen, tamamen işlevsel bir aracı sıfırdan oluşturun.
  • Birden fazla temsilci sistemi 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 "Araç olarak temsilci" modelini öğrenin.
  • Karmaşık İş Akışlarını Yönetin: Basit görevlendirme işlemlerinin ö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. Böylece temsilcileriniz ek soruları yanıtlayabilir, geri bildirimlerden ders çıkarabilir ve çok adımlı görevleri sorunsuz bir şekilde yönetebilir.
  • MCP'ye bağlanma: MCP Toolbox ile 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

Bu codelab'i çalıştırmak için biraz kredisi olan bir faturalandırma hesabına ihtiyacınız var. Başlamak için bu codelab'in üst kısmındaki banner'da yer alan kredileri kullanın. Zaten bir faturalandırma hesabına bağlıysanız bu adımı atlayabilirsiniz.

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ürseniz manage billing account işaretini kaldırın, Google Cloud deneme sürümünü seçin ve bu sürüme bağlayı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şlem, pencerede Cloud Shell kod düzenleyiciyi açar. Sol tarafta bir dosya gezgini görürsünüz. open-editor.png

👉Google Cloud proje kimliğinizi bulma:

  • 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 Temsilciniz

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 aşağıdaki gibi bir çıkış görmeniz gerekir:

+-----------------------------------------------------------------------------+
| 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 bir 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. 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 temsilci çalıştırılı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 aracının 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ı Ajan, Paralel Ajan, Döngü Ajanı

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ı Ajan

Sıralı iş akışı aracısını seçin: 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ı ajanları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 Ajanları'nın izleme resmi

İzlemeyi buradan görebilirsiniz: Loop Ajanları'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: tracing picture of Custom_Agent

6. 4. Oturum: Orchestrator Pattern - Routing Agent

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ının izleme resmi

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

7. 5. Oturum: Araç olarak aracı

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ı olarak aracının izini sürme resmi

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

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

👉💻 Klasöre gidip koşucuyu kullanarak ajana destek vererek 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: Ajanınızı MCP ile destekleme

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/mcp-toolbox-for-databases/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