MCP ve Cloud Run ile kurumsal yönetime uygun bir aracı dağıtma

1. Giriş

Bu codelab, yönetime duyarlı üretken yapay zeka aracının nasıl oluşturulacağını ele alan iki bölümlük serinin bir parçasıdır.

(Bu serinin ilk bölümünde, BigQuery tablolarına Dataplex Aspects uygulayarak veri temelini oluşturma ve kuralları Gemini CLI aracılığıyla yerel olarak test etme konuları ele alınmaktadır. 👉 1. Bölümü okuyun)

Ancak yerel bir CLI'de test yapmak sadece başlangıçtır. Bu özelliği şirketinizin tamamında kullanıma sunmak için merkezi güvenlik, standartlaştırılmış yapay zeka aracı bağlantıları ve aracının mantığını düzenleyip tanıdık bir sohbet arayüzü sağlayan uygun bir uygulama çerçevesi gerekir.

Bu ikinci bölümde, bu zorlukları çözecek ve üretim için ölçeklendirme yapacaksınız. Yönetim kurallarınızı Cloud Run üzerinde barındırılan merkezi bir MCP sunucusuna dağıtırsınız. Ardından, gerçek aracı uygulamasını oluşturmak ve bunu profesyonel bir web kullanıcı arayüzüyle birlikte MCP araçlarınıza bağlamak için Google'ın Agent Development Kit (ADK)'ini kullanacaksınız.

be15d5f41f0d716c.png

Ön koşullar

  • Faturalandırmanın etkin olduğu bir Google Cloud projesi.
  • Cloud Run, IAM hizmet hesapları ve Python hakkında temel bilgiler.
  • 1. bölümde oluşturulan BigQuery veri kümeleri ve Dataplex Aspect'leri. (Sildiyseniz endişelenmeyin. Aşağıda bunları yeniden oluşturmak için hızlı bir komut dosyası paylaşıyoruz.)

Neler öğreneceksiniz?

  • Yapay zeka aracıların Google Cloud verileriyle etkileşim kurma şeklini standartlaştırmak için Model Context Protocol'ü (MCP) kullanma.
  • Cloud Run'a güvenli bir MCP sunucusu dağıtma
  • Agent Development Kit'i (ADK) kullanarak nasıl yapay zeka aracısı oluşturacağınız ve bunu MCP arka ucunuza nasıl bağlayacağınız.
  • Yönetilen temsilcinizle etkileşim kurmak için ADK'nın yerleşik geliştirici kullanıcı arayüzünü çalıştırma

Gerekenler

  • Google Cloud Shell'e erişim

Temel kavramlar

  • Model Context Protocol (MCP): MCP'yi yapay zeka aracıları için "evrensel bir USB-C kablosu" olarak düşünebilirsiniz. MCP, her bir yapay zeka modeli için özel API entegrasyon kodu yazmak yerine yapay zekanın kurumsal veri araçlarınıza (Dataplex ve BigQuery gibi) güvenli bir şekilde bağlanması için standart bir yol sağlar.
  • Agent Development Kit (ADK): Google tarafından geliştirilen ve yapay zeka temsilcilerinin uçtan uca geliştirilmesini basitleştirmek için tasarlanmış esnek, açık kaynaklı bir çerçeve. Yazılım mühendisliği ilkelerini aracı oluşturmaya uygulayarak karmaşık araçları düzenlemenize, durumu yönetmenize ve test ile dağıtım için yerleşik bir geliştirici kullanıcı arayüzünü kolayca başlatmanıza olanak tanır.

2. Kurulum ve şartlar

Cloud Shell'i başlatma

Google Cloud, dizüstü bilgisayarınızdan uzaktan çalıştırılabilir. Ancak bu codelab'de, Cloud'da çalışan bir komut satırı ortamı olan Google Cloud Shell'i kullanacaksınız.

Google Cloud Console'da sağ üstteki araç çubuğunda Cloud Shell simgesini tıklayın:

Cloud Shell'i etkinleştirme

Ortamın temel hazırlığı ve bağlanması yalnızca birkaç dakikanızı alır. İşlem tamamlandığında aşağıdakine benzer bir sonuç görürsünüz:

Ortamın bağlandığını gösteren Google Cloud Shell terminalinin ekran görüntüsü

Bu sanal makine, ihtiyaç duyacağınız tüm geliştirme araçlarını içerir. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Bu sayede ağ performansı ve kimlik doğrulama önemli ölçüde güçlenir. Bu codelab'deki tüm çalışmalarınızı tarayıcıda yapabilirsiniz. Herhangi bir şey yüklemeniz gerekmez.

Ortamı başlatma

Cloud Shell'i açın ve tüm komutların doğru altyapıyı hedeflediğinden emin olmak için proje değişkenlerinizi ayarlayın.

export PROJECT_ID=$(gcloud config get-value project)
gcloud config set project $PROJECT_ID
export REGION="us-central1"

Kontrol noktası: Devam mı etmeli yoksa yeniden mi oluşturmalı?

Bu, 2. Bölüm olduğundan temsilcinizin çalışması için 1. Bölümdeki yönetilen verilere ihtiyacı var. Lütfen yolunuzu seçin:

A yolu: 1. Bölüm'ü yeni bitirdim ve kaynaklarım hâlâ çalışıyor.

Mükemmel! Çalışma dizinine gidin ve devam etmeye hazır olun.

cd ~/devrel-demos/data-analytics/governance-context

B yolu: 1. Bölüm'ü atladım VEYA kaynaklarımı sildim (Temizleme).

Sorun değil. Aşağıda bir "Hızlı İzleme" komut bloğu verilmiştir. Bu işlem, BigQuery veri gölünü otomatik olarak yeniden oluşturur ve Dataplex yönetim meta verilerini 1. Bölüm'de yaptığımız gibi uygular.

# 1. Clone the repo and navigate to the working directory
git clone --depth 1 --filter=blob:none --sparse https://github.com/GoogleCloudPlatform/devrel-demos.git
cd devrel-demos
git sparse-checkout set data-analytics/governance-context
cd data-analytics/governance-context

# 2. Rebuild the messy data lake with Terraform
cd terraform
terraform init
terraform apply -var="project_id=${PROJECT_ID}" -var="region=${REGION}" -auto-approve

# 3. Generate and apply Dataplex Aspects (Governance rules)
cd ..
chmod +x ./generate_payloads.sh ./apply_governance.sh
./generate_payloads.sh
./apply_governance.sh

3. MCP ile ölçeklendirme: Veri denetim düzlemini oluşturma

Şimdiye kadar Gemini CLI'yi kullanarak yönetim mantığınızı başarıyla test ettiniz. Bu yöntem, hızlı prototip oluşturma için mükemmeldir ancak kişisel kullanıcı kimlik bilgileriniz kullanılarak yerel olarak çalıştırılır.

Gerçek bir kurumsal ortamda merkezi bir veri kontrol düzlemine ihtiyacınız vardır. Bunu oluşturmak için Google'ın resmi açık kaynak projesi olan Veri Tabanları için Üretken Yapay Zeka Araç Kutusu'nu kullanacağız. Bu araç kutusu, yapay zeka aracılarını Dataplex gibi Google Cloud veritabanlarına ve meta veri hizmetlerine güvenli bir şekilde bağlamak için özel olarak tasarlanmış, önceden oluşturulmuş bir MCP sunucusu sağlar.

Bu araç kutusunu Cloud Run'da MCP sunucumuz olarak dağıtarak şunları elde ederiz:

  1. Merkezi kimlik: Aracı, kişisel kullanıcı hesabınız olarak değil, kısıtlanmış bir hizmet hesabı olarak çalışır.
  2. Standartlaştırma: Herhangi bir istemci (ADK, Gemini, özel uygulamalar) standart MCP protokolünü kullanarak bu sunucuya "takılabilir".
  3. Kontrollü kapsam (en az ayrıcalık): Büyük dil modeline BigQuery'ye açık uçlu erişim izni vermeyiz. Öncelikle Dataplex meta veri kataloğunda gezinmeye zorlarız.

Araç tanımını yapılandırma (tools.yaml)

Üretken Yapay Zeka Araç Kutusu için bildirim temelli bir yapılandırma dosyası (tools.yaml) gerekir. Bu dosya, sources (nereye bağlanılacağı) ve tools (yapay zekanın yapmasına izin verilenler) bilgilerini tanımlar.

  1. Sunucu dizinine gidin ve proje kimliğinizi yapılandırma dosyasına ekleyin:
cd ~/devrel-demos/data-analytics/governance-context/mcp_server
envsubst < tools.yaml > tools.tmp && mv tools.tmp tools.yaml
cat tools.yaml

Aşağıdaki snippet ile aynı görünmelidir. Proje alanının artık gerçek Google Cloud proje kimliğinizle eşleştiğini doğrulayın.

sources:
  dataplex:
    kind: dataplex
    project: YOUR-PROJECT-ID

tools:
  search_entries:
    kind: dataplex-search-entries
    source: dataplex
    description: Search for entries in Dataplex Catalog.

  lookup_entry:
    kind: dataplex-lookup-entry
    source: dataplex
    description: Retrieve a specific entry from Dataplex Catalog.

  search_aspect_types:
    kind: dataplex-search-aspect-types
    source: dataplex
    description: Find aspect types relevant to a query.

toolsets:
  dataplex-toolset:
    - search_entries
    - lookup_entry
    - search_aspect_types

Bu üç aracı tanımlayarak yapay zekayı "salt okunur" ve "önce yönetişim" olacak şekilde zorlayabiliriz.

Yapılandırmayı güvenli hale getirme (Secret Manager)

Kurumsal mimaride, yapılandırma dosyalarını doğrudan kapsayıcı görüntülerine yerleştirmemelisiniz. tools.yaml, Google Cloud Secret Manager'da güvenli bir şekilde saklanır.

gcloud services enable secretmanager.googleapis.com
gcloud secrets create dataplex-tools-config --data-file=tools.yaml

En az ayrıcalık ilkesini uygulama (IAM)

Ardından, GenAI Toolbox MCP sunucusu için özel bir hizmet hesabı oluştururuz. Bu kimlik yalnızca Dataplex kataloğunu okumak ve BigQuery verilerine erişmek için gereken izinlere sahip olur.

export MCP_SA=mcp-sa
gcloud iam service-accounts create ${MCP_SA} \
    --display-name="Service Account for Dataplex MCP"
export MCP_SERVICE_ACCOUNT="${MCP_SA}@${PROJECT_ID}.iam.gserviceaccount.com"

# Allow the server to read its own config from Secret Manager
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
  --role="roles/secretmanager.secretAccessor"

# Allow the server to read Dataplex Metadata and BigQuery Data
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
  --role="roles/dataplex.catalogViewer"
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
  --role="roles/bigquery.dataViewer"

MCP sunucusunu Cloud Run'a dağıtma

Şimdi de üretken yapay zeka araç kutusunu dağıtıyoruz. Google'ın önceden oluşturulmuş kapsayıcı görüntüsünü (database-toolbox/toolbox) kullanıyoruz ve yapılandırmamızı çalışma zamanında Secret Manager'dan (--set-secrets) monte ediyoruz.

export IMAGE=us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:latest

gcloud run deploy governance-mcp \
    --image=$IMAGE \
    --service-account $MCP_SERVICE_ACCOUNT \
    --region=$REGION \
    --no-allow-unauthenticated \
    --set-secrets="/app/tools.yaml=dataplex-tools-config:latest" \
    --args="--tools-file=/app/tools.yaml","--address=0.0.0.0","--port=8080"

Artık yönetilen bir API'niz var. Üretken yapay zeka ön ucunuza doğrudan veritabanı erişimi vermek yerine bu Cloud Run URL'sine bağlanır. Aracı yalnızca bu araç kutusunun görmesine izin verdiği şeyleri görebilir.

4. ADK ile aracı arka ucunu oluşturma

Cloud Run'da çalışan güvenli ve yönetilen bir veri denetim düzlemi (MCP) oluşturmuş olmanız gerekir. Artık yapay zeka temsilcinizin, mantığını düzenlemek için bir çerçeveye ihtiyacı var. Örneğin, kullanıcı girişlerini işleme, MCP sunucusunun ne zaman çağrılacağına karar verme ve çıkışı biçimlendirme.

Tüm bu standart kodu sıfırdan yazmak yerine Google'ın Agent Development Kit'ini (ADK) kullanacağız. ADK, aracı mantığınızı otomatik olarak FastAPI arka ucuna sarmalayan, kod öncelikli bir çerçevedir. Ayrıca, yerleşik bir geliştirici kullanıcı arayüzüyle birlikte gelir. Bu sayede, önce özel bir ön uç oluşturmadan aracının muhakeme sürecini ve araç çağrılarını anında görselleştirebilirsiniz.

Aracı mantığını (agent.py) inceleyin

Altyapıyı yapılandırmadan önce bu uygulamanın temel özelliklerine göz atalım.

Dizine gidin ve agent.py dosyasının içeriğini çıkarın. Bu dosya, ADK dağıtımınızın "beynidir".

cd ~/devrel-demos/data-analytics/governance-context/mcp_server
cat agent.py

Kod yapısına bakın. Minimum ortak metinle üç kritik işlevi yerine getirir:

  1. MCPToolset entegrasyonu: ADK, Dataplex araçlarınızla etkileşim kurmak için özel HTTP istemcileri yazmak yerine MCPToolset(server_url=mcp_url) kullanır. Bu, dağıtılan MCP sunucunuzdan tools.yaml tanımını dinamik olarak getirir ve bunları LLM için yerel işlev çağrılarına çevirir.
  2. Sistem Talimatları: instructions parametresi, katı yönetim kurallarını (CLI GEMINI.md'da kullandığımız mantıkla aynı) içerir. Bu parametre, modeli 1. Aşama (Meta veri araması) ile 2. Aşama (Veri sorgusu) arasındaki akıl yürütme döngüsünü yürütmeye açıkça yönlendirir.
  3. Aracı Düzenleme: Agent(...) sınıfı, Gemini modelini, sistem istemini ve MCP araçlarını birbirine bağlar. ADK, dağıtıldığında bu nesneyi otomatik olarak ölçeklenebilir bir FastAPI uç noktasına dönüştürür.

Görevlerin ayrılması: Ön uç kimliğini yapılandırma

Bu kodu güvenli bir şekilde çalıştırmak için aracıya MCP sunucunuzun nerede bulunduğunu bildirmemiz gerekir. URL'yi dinamik olarak oluşturur ve ADK'nın çalışma zamanında okuyacağı bir .env dosyasına kaydederiz.

Ayrıca, kullanıcıya yönelik bu uygulama için ayrı bir kimlik (dataplex-agent-sa) oluşturacağız. Bu görev ayrımı, ön uç aracısının arka uç yönetim sunucusundan farklı izinlere sahip olmasını sağlar.

Ortamı ve kimliği yapılandırmak için aşağıdaki komutları çalıştırın:

export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
export MCP_SERVER_URL=https://governance-mcp-${PROJECT_NUMBER}.${REGION}.run.app/mcp

export AGENT_SA=dataplex-agent-sa
export AGENT_SERVICE_ACCOUNT="${AGENT_SA}@${PROJECT_ID}.iam.gserviceaccount.com"

gcloud iam service-accounts create ${AGENT_SA} \
    --display-name="Service Account for Dataplex Agent "

Çalışma Zamanı Değişkenlerini Yapılandırma

ADK çerçevesi, bağlamını anlamak için ortam değişkenlerini kullanır. Proje kimliğini ve bölgeyi açıkça ayarlamamız ve Vertex AI kullanımını etkinleştirmemiz gerekir. Bunları aynı .env dosyasına ekleriz.

echo MCP_SERVER_URL=$MCP_SERVER_URL > .env
echo GOOGLE_GENAI_USE_VERTEXAI=1 >> .env
echo GOOGLE_CLOUD_PROJECT=$PROJECT_ID >> .env
echo GOOGLE_CLOUD_LOCATION=$REGION >> .env

İzin verme

Aracı, yönetim kontrollerini MCP sunucusuna devretse de çalışmak için temel izinlere ihtiyaç duyar. Tam olarak iki rol veriyoruz:

  1. Vertex AI Kullanıcısı: Doğal dil yanıtları oluşturmak için Gemini modelini çağırmak üzere.
  2. Cloud Run Invoker: MCP sunucusu API'nizi güvenli bir şekilde çağırmak için. Doğrudan BigQuery veya Dataplex erişimi almaz.
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
  --role="roles/aiplatform.user"

gcloud run services add-iam-policy-binding governance-mcp \
  --region=$REGION \
  --member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
  --role="roles/run.invoker"

Cloud Run'a dağıtma

Son olarak, tam yığını Cloud Run'a dağıtırız.

Bağımlılıkları manuel olarak yüklemeden ADK aracını çalıştırmak için uvx kullanırız. Aşağıdaki komut, agent.py mantığınızı paketler, bir container görüntüsü oluşturur, hizmet hesabınızı ekler ve bir FastAPI sunucusu başlatır. --with_ui işaretini eklediğinizde hata ayıklama için ADK Web Playground da paketlenir.

Bu komut, kapsayıcıyı oluşturur ve dağıtır. Bu işlemin tamamlanması 1-3 dakika sürebilir.

uvx --from google-adk \
adk deploy cloud_run \
  --project=$PROJECT_ID \
  --region=$REGION \
  --service_name=dataplex-agent \
  --with_ui \
  . \
  -- \
  --service-account=$AGENT_SERVICE_ACCOUNT \
  --allow-unauthenticated

Bu komut tamamlandığında Hizmet URL'si (e.g., https://dataplex-agent-xyz.run.app) çıkışı verir. Tamamen yönetilen üretken yapay zeka sohbet arayüzünüzü açmak için bu bağlantıyı tıklayın.

12a5fa4c2aaf381f.png

Uçtan Uca Mimari Akış

Sistemi tamamladınız. Bir kullanıcı ADK kullanıcı arayüzüyle etkileşimde bulunduğunda aşağıdaki sıra gerçekleşir:

  1. Kullanıcı, ADK Agent (Dev UI)'de bir istem gönderir.
  2. ADK Agent (agent.py), girişi işler ve Gemini modelini çağırır.
  3. Gemini, bağlama ihtiyaç duyduğunu belirler ve MCP sunucusundan Dataplex araçlarını yürütmesini ister.
  4. MCP sunucusu, Dataplex Governance kurallarını uygular ve meta verileri döndürür.
  5. Gemini, meta verilere göre güvenilir yanıtı sentezleyip kullanıcıya döndürür.

5. Enterprise Agent'ı test etme

Aracınız yayınlandığına göre, daha önce CLI ile test edilen yönetim senaryolarını tekrar ele alalım. Mantık aynı kalır ancak artık dahili durumu ve araç yürütmelerini görselleştiren dağıtılmış ADK Web Playground ile etkileşim kuruyorsunuz.

  1. Orkestrasyon: ADK aracısı (Cloud Run'da çalışır) metninizi alır.
  2. Araç Yönlendirme: Gemini, sorunuzun veri bağlamı gerektirdiğini algılar ve isteği MCP sunucusuna yönlendirir.
  3. Yönetim Kontrolü: MCP sunucusu (ayrı bir Cloud Run örneğinde çalışır) belirli Aspect Türleri için Dataplex'i sorgular.
  4. Sentez: Son yanıtı oluşturmak için ilgili meta veriler Gemini'a döndürülür.

Yönetim mantığını doğrulama

Önceki adımda oluşturduğunuz Hizmet URL'sini (e.g., https://dataplex-agent-xyz.run.app) tarayıcınızda açın. Aşağıdaki istemi yapıştırın:

"My dashboard needs to show what's happening right now with our ad spend. I can't wait for the overnight load. What do you recommend?"

Geliştirici kullanıcı arayüzünde temsilcinin muhakeme sürecini gözlemleyin:

  1. Niyet Tanıma: Temsilci, "şu anda" ve "geceyi bekleyemem" ifadelerini ayrıştırıyor.
  2. Meta Veri Arama: MCP aracını search_aspect_types çağırır. update_frequency Yönü GÜNLÜK veya AYLIK yerine ANLIK ya da AKIŞ olarak ayarlanmış veri varlıklarını arar.
  3. Seçim: mkt_realtime_campaign_performance tablosunun bu ölçütleri karşıladığını, fin_monthly_closing_internal tablosunun ise (yüksek kaliteli olmasına rağmen) isteğiniz için çok yavaş olduğunu belirtir.
  4. Yanıt: Temsilci, anlık tabloyu önerir.

e0da615724199e.png

Bu neden önemli?

Bu yönetim meta verileri olmadan, bir LLM, verilerin 24 saatlik olduğunu göz ardı ederek yalnızca "ad_spend" adlı bir sütuna sahip olduğu için fin_monthly_closing_internal tablosunu önerebilir. Meta veri bağlamınız bir işletme hatasını önledi.

Ayrıca, aracının Veri Ürünü Katmanı yönüne göre farklı tablolara nasıl geçtiğini görmek için "Yönetim Kurulu Toplantısı" istemini de test edebilirsiniz:

"We are preparing the deck for an internal Board of Directors meeting next week. I need the numbers to be absolutely finalized, trustworthy, and kept strictly confidential. Which table is safe to use?"

6. Temizleme

Bu codelab'de kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız 1. ve 2. bölümde oluşturulan tüm altyapıyı yok etmek için aşağıdaki adımları uygulayın.

Veri gölünü yok etme (Terraform)

BigQuery tablolarını, veri kümelerini ve Dataplex Aspect tanımlarını kaldırmak için Terraform'u kullanın.

cd ~/devrel-demos/data-analytics/governance-context/terraform
terraform destroy -var="project_id=${PROJECT_ID}" -var="region=${REGION}" -auto-approve

Cloud Run hizmetlerini silme

Çalışan kapsayıcılar için etkin faturalandırmayı durdurmak üzere işlem kaynaklarını kaldırın.

gcloud run services delete governance-mcp --region=$REGION --quiet
gcloud run services delete dataplex-agent --region=$REGION --quiet

Derleme yapılarını ve hazırlama depolama alanını temizleme

ADK aracısını uvx kullanarak dağıttığınızda sistem otomatik olarak bir container görüntüsü oluşturmuş ve kaynak kodunuzu geçici bir Cloud Storage paketine yüklemişti. Bu yapılar, Cloud Run hizmeti silindikten sonra bile kalıcı olur ve sürekli depolama maliyetlerine neden olur.

Artifact Registry deposunu ve Cloud Storage hazırlık paketini kaldırın:

# Delete the repository used for the agent build
gcloud artifacts repositories delete cloud-run-source-deploy \
    --location=$REGION \
    --quiet

# Delete the staging bucket created by Cloud Run source deploy
gcloud storage rm --recursive gs://run-sources-${PROJECT_ID}-${REGION}

Kimliği, izinleri ve gizli anahtarları silme

"Tombstone" girişlerinin (üst öğesi olmayan kayıtlar) projenizin IAM sayfasında kalmasını önlemek için önce IAM politikası bağlamalarını kaldırın. Ardından, hizmet hesaplarını ve yapılandırma sırlarını silin.

# Remove IAM roles granted to the MCP Service Account
gcloud projects remove-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
  --role="roles/secretmanager.secretAccessor" --quiet
gcloud projects remove-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
  --role="roles/dataplex.catalogViewer" --quiet
gcloud projects remove-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
  --role="roles/bigquery.dataViewer" --quiet

# Remove IAM roles granted to the Agent Service Account
gcloud projects remove-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
  --role="roles/aiplatform.user" --quiet

# Delete the Service Accounts
gcloud iam service-accounts delete $MCP_SERVICE_ACCOUNT --quiet
gcloud iam service-accounts delete $AGENT_SERVICE_ACCOUNT --quiet

# Delete the Secret Manager entry
gcloud secrets delete dataplex-tools-config --quiet

Yerel yapılandırmayı kaldırma

Son olarak, Cloud Shell'deki yerel yapılandırma dosyalarını ve ortam değişkenlerini temizleyin.

# Uninstall the Gemini CLI extension (installed in Part 1)
gemini extensions uninstall dataplex

# Remove local repository files and unset variables
cd ~
rm -rf ~/devrel-demos
unset MCP_SERVER_URL
unset MCP_SERVICE_ACCOUNT
unset AGENT_SERVICE_ACCOUNT

7. Tebrikler!

Uçtan uca, yönetime uygun bir üretken yapay zeka aracısını başarıyla dağıttınız.

Bu iki bölümlük codelab'de, basit istem mühendisliğinin ötesine geçerek sağlam ve üretime hazır bir mimari uyguladınız. Veri yönetimine üretken yapay zekanın ön koşulu olarak yaklaşarak modelin sertifikasız veya uydurulmuş verileri almasını önlemek için sistematik bir yöntem oluşturmuş olursunuz.

Temel Çıkarımlar

  • Meta veriler aracılığıyla deterministik yapay zeka: Büyük dil modelinin sütun adlarına göre doğru tabloyu tahmin etmesine güvenmek yerine, Veritabanları için Üretken Yapay Zeka Araç Kutusu'nu kullanarak katı bir akıl yürütme döngüsü uyguladınız. Yalnızca üç Dataplex aracını (search_aspect_types, search_entries, lookup_entry) açıkça kullanıma sunarak modelin cevapları sentezlemeden önce veri sertifikalarını doğrulamasını sağladınız.
  • Ayrılmış mimari (MCP): Model Context Protocol (MCP) sunucusunu Cloud Run'da dağıtarak veri yönetimi kurallarınızı merkezi ve standartlaştırılmış bir API'ye dönüştürdünüz. Ön uç aracısının veritabanı mantığı içermesi gerekmez. Yalnızca MCP standardı üzerinden iletişim kurması yeterlidir. Bu sayede, gelecekteki tüm yapay zeka modellerini veya istemcilerini aynı yönetilen arka uca bağlayabilirsiniz.
  • Görevlerin ayrılması: IAM kimliklerini izole ederek en az ayrıcalık ilkesini uyguladınız. Kullanıcıya yönelik ADK aracısı, model çağırma ve API yönlendirme ile sınırlı izinlerle çalışırken arka uç MCP sunucusu, Dataplex katalog sorgularını ve BigQuery veri alımını güvenli bir şekilde işler.
  • Önce Kodlu Aracı Düzenleme: Google Agent Development Kit'i (ADK) kullanarak Python aracınızın mantığını anında ölçeklenebilir bir FastAPI arka ucuna sarmaladınız ve aracın dahili araç yürütmelerini görselleştirmek ve hatalarını ayıklamak için yerleşik geliştirici kullanıcı arayüzünü kullandınız.

Sırada ne var?