Next '26 Açılış Konuşması: Birleştirilmiş Zeka Yapısı

1. Giriş

"Fabric of Unified Intelligence" codelab'ine hoş geldiniz. Bu codelab, Google Cloud Next '26 açılış konuşması demolarının bir parçasıdır.

Bu laboratuvarda, Cloud Run'da dağıtılan birden fazla aracıyı düzenlemek, sorunsuz devirler ve kolaylaştırılmış iş akışları için bağlam paylaşmak üzere Gemini Enterprise'ı nasıl kullanacağınızı öğreneceksiniz.

Kurgusal bir modern mobilya markası olan "Organic Living"de ürün yöneticisi olduğunuzu düşünün. Yeni bir ürün serisi piyasaya sürmek istiyorsunuz ancak standart pazar araştırması ve tasarım süreçleri çok uzun sürüyor. Bu laboratuvarda, bu süreci otomatikleştirmek ve hızlandırmak için bir yapay zeka aracı ekibi dağıtacaksınız:

  • Ürün Stratejisi Aracısı: Ürün konseptlerini pazar verilerine göre iyileştirir.
  • Pazar Araştırması Aracısı: Trendleri ve müşteri geri bildirimlerini analiz eder.
  • Orchestrator Agent: Diğer aracılar arasındaki iş akışını koordine eder.
  • Geliştirme Temsilcisi: Bilet oluşturup kodu yapılandırarak planları eyleme dönüştürür.

Bu laboratuvarın sonunda, Cloud Run'da dağıtılmış ve Gemini Enterprise kullanılarak düzenlenmiş, birleşik zekanın gücünü gösteren çalışan bir çok ajanlı sisteminiz olacak.

Ön koşullar

  • Google Cloud Console ve gcloud KSA hakkında temel düzeyde bilgi sahibi olmak

Yapacaklarınız

  • Cloud Run'da çoklu aracı sistemi dağıtma
  • Temsilcilerinizi Gemini Enterprise'a kaydedin.
  • Gemini Enterprise ile aşağıdaki iş akışlarını yürütebilirsiniz:
    • Verilerinizi analiz edin ve verilerinizden analizler oluşturun.
    • Veo ile ürünleriniz için videolar oluşturun.
    • Geliştirme ekibinizin web sitesini analizlere göre güncellemesi için gereksinimler oluşturun.

İhtiyacınız olanlar

  • Chrome gibi bir web tarayıcısı
  • Google Hesabı

2. Ortam Kurulumu

Proje Ayarları

Google Cloud projesi oluşturma

  1. Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.
  2. Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını kontrol etmeyi öğrenin.

Cloud Shell'i etkinleştirme

Cloud Shell, Google Cloud'da çalışan ve gerekli araçların önceden yüklendiği bir komut satırı ortamıdır.

  1. Google Cloud Console'un üst kısmından Cloud Shell'i etkinleştir'i tıklayın.
  2. Cloud Shell'e bağlandıktan sonra kimlik doğrulamanızı onaylayın:
    gcloud auth list
    
  3. Projenizin yapılandırıldığını onaylayın:
    gcloud config get project
    
  4. Projeniz beklendiği gibi ayarlanmamışsa şu şekilde ayarlayın:
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

Ortam değişkenleri dosyasını başlatma

Cloud Shell oturumunuzun bağlantısı kesilirse ortam değişkenlerinizin korunmasını sağlamak için bunları bir dosyaya kaydedip gerektiğinde kaynak olarak kullanacaksınız.

  1. Cloud Shell'de dosyayı oluşturun ve proje kimliğinizi ekleyin:
    echo "export PROJECT_ID=$(gcloud config get-value project)" > ~/lab_env.sh
    source ~/lab_env.sh
    

AI Studio'dan Gemini API anahtarı edinme

Pazar Araştırması Ajanı, Gemini Deep Research Etkileşimleri API'sini kapsar. deep_research aracı, şu anda yalnızca AI Studio uç noktası üzerinden kullanılabilen Gemini Deep Research Interactions API'yi çağırır. Bu işlemle, vertexai=False ile ayrı bir genai.Client oluşturulur ve GEMINI_API_KEY ortam değişkeninde depolanan bir API anahtarı kullanılarak kimlik doğrulaması yapılır.

  1. Google AI Studio'ya gidin.
  2. Google hesabınızla oturum açın.
  3. Create API key'i (API anahtarı oluştur) tıklayın.
  4. Anahtara Unified Intelligence Agents adını verin.
  5. İçe aktarılan bir proje seçin bölümünde projenizi seçin veya içe aktarın.
  6. Anahtar Oluştur'u tıklayın.
  7. Oluşturulan API anahtarını ayrıntılar bölmesinden kopyalayın.
  8. Cloud Shell'de bu anahtarı laboratuvar ortamı dosyanıza kaydedin (YOUR_GEMINI_API_KEY yerine gerçek anahtarı kullanın):
    echo "export GEMINI_API_KEY=\"YOUR_GEMINI_API_KEY\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

API'leri etkinleştir

  1. Cloud Shell'de bu laboratuvar için gerekli API'leri etkinleştirin:
    gcloud services enable \
      cloudresourcemanager.googleapis.com \
      aiplatform.googleapis.com \
      storage.googleapis.com \
      run.googleapis.com \
      bigquery.googleapis.com \
      cloudbuild.googleapis.com \
      iam.googleapis.com \
      discoveryengine.googleapis.com \
      geminidataanalytics.googleapis.com \
      cloudaicompanion.googleapis.com \
      secretmanager.googleapis.com
    

Depoyu Klonlama

Veri kümesini ve aracıları ayarlayabilmek için kaynak kodu ve veri komut dosyalarını içeren depoyu klonlamanız gerekir.

  1. Cloud Shell'de next-26-keynotes deposunu klonlayın:
    cd $HOME
    git clone https://github.com/GoogleCloudPlatform/next-26-keynotes.git
    

3. Veri ve Kaynak Yapılandırması

BigQuery verilerini ve aracısını ayarlama

Bu adımda bir BigQuery veri kümesi oluşturacak, bu kümeyi sahte mobilya envanteri ve satış verileriyle dolduracak ve bu verileri analiz etmek için bir BigQuery Data Agent oluşturacaksınız.

  1. Cloud Shell'de data dizinine gidin:
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/data
    
  2. application-default kimlik bilgileriyle kimlik doğrulaması yapın, bu komutu çalıştırın ve istemleri uygulayın:
    gcloud auth application-default login
    
  3. Veri kümesini, tabloları ve görünümü oluşturmak için kurulum komut dosyasını çalıştırın:
    chmod +x setup_bigquery.sh
    ./setup_bigquery.sh
    
    Bu komut dosyası şunları oluşturur:
    • Veri kümesi: unified_intelligence_fabric_demo
    • Tablo: furniture_stock
    • Tablo: furniture_sales
    • Görünüm: dead_stock_view
  4. Tabloları örnek verilerle doldurmak için uv kullanarak Python komut dosyasını çalıştırın:
    uv run --with google-cloud-bigquery ./populate_tables.py
    
  5. BigQuery Veri Aracısı oluşturma:
    • Cloud Console'da BigQuery Agents Hub'a gidin.
    • Aracı Kataloğu bölümünde Yeni Aracı'yı tıklayın.
    • Temsilci Adı'nı Unified Intelligence Data Agent olarak ayarlayın.
    • Bilgi Kaynağı'nı, yeni oluşturduğunuz veri kümesindeki tablolara (furniture_stock, furniture_sales) ayarlayın.
      • furniture yazarak tabloları arayın.
      • Enter tuşuna basın.
      • İki tabloyu seçin (furniture_stock, furniture_sales).
      • Ekle'yi tıklayın.
    • Yayınla'yı tıklayın.
    • Temsilciyi paylaşmanız istendiğinde "İptal"i tıklayın. Daha sonraki bir adımda Compute Hizmet Hesabı'na roller ekleyeceksiniz.
  6. Aracıyı test etme:
    • Sağdaki test sohbetinde şu gibi bir soru sorun: What are the furniture items with the highest stock?
    • Örnek verilere göre sonuç döndürdüğünü doğrulayın. Çıkışta buna benzer bir tablo görmeniz gerekir.agent-output
  7. Veri Tasarrufu Temsilcisi Kimliği:
    • Ekranın sol tarafında, yeni oluşturduğunuz aracının kimliğini görürsünüz. Bu, agent_ba43c386-ae82-45e0-a2b5-1928440f0926 gibi görünür.
    agent-id
    • Kimliği kopyalayın.
    • Kaydetmek için Cloud Shell'de aşağıdaki komutu çalıştırın. YOUR_AGENT_ID yerine gerçek kimliği girin:
    echo "export BQ_DATA_AGENT_ID=YOUR_AGENT_ID" >> ~/lab_env.sh
    source ~/lab_env.sh
    

Paylaşılan klasör oluşturma

Bu adımda, Google Drive'ınızda bir klasör oluşturacak ve bu klasörü Cloud Run hizmet hesabıyla paylaşacaksınız. Bu klasör, dosyaları (ör. oluşturulan gereksinimler) kaydetmek ve paylaşmak için aracılar tarafından kullanılır.

  1. Google Drive'a gidin.
  2. Yeni > Yeni klasör'ü tıklayın, klasöre Unified Intelligence Lab adını verin ve Oluştur'u tıklayın.
  3. Yeni oluşturulan klasörü sağ tıklayın ve Paylaş > Paylaş'ı seçin.
  4. Cloud Shell'de, varsayılan Compute Engine hizmet hesabının e-posta adresini almak için aşağıdaki komutu çalıştırın:
    PROJECT_NUMBER=$(gcloud projects describe $(gcloud config get-value project) --format="value(projectNumber)")
    echo "${PROJECT_NUMBER}-compute@developer.gserviceaccount.com"
    
  5. Çıktıdaki e-posta adresini kopyalayın.
  6. Google Drive paylaşım iletişim kutusuna bu e-posta adresini ekleyin.
  7. Rolü Düzenleyici olarak ayarlayın.
  8. Klasörü açın ve URL'den kimliği kopyalayın. URL, https://drive.google.com/drive/folders/YOUR_FOLDER_ID gibi görünür. URL'nin sonundaki alfanümerik dizeyi (/folders/ işaretinden sonra gelen) kopyalayın.
  9. Cloud Shell'de bu kimliği laboratuvar ortamı dosyanıza kaydedin (YOUR_FOLDER_ID yerine gerçek kimliğinizi girin):
    echo "export GOOGLE_DRIVE_FOLDER_ID=YOUR_FOLDER_ID" >> ~/lab_env.sh
    source ~/lab_env.sh
    

GCS paketleri oluşturma

Cloud Shell'de, yapıtlar/görevler, kampanya videoları ve günlükler için GCS paketleri oluşturmak üzere aşağıdaki komutları çalıştırın:

gcloud storage buckets create gs://$(gcloud config get-value project)-artifacts --location=us-central1
gcloud storage buckets create gs://$(gcloud config get-value project)-videos --location=us-central1
gcloud storage buckets create gs://$(gcloud config get-value project)-logs --location=us-central1

Video paketini herkese açık hâle getirme

Web sitesinin videolara erişmesine izin vermek için video paketini herkese açık hâle getirin:

gcloud storage buckets add-iam-policy-binding gs://$(gcloud config get-value project)-videos --member=allUsers --role=roles/storage.objectViewer

IAM rolleri verme

Bu bölümde, kullanıcınız ve çeşitli hizmet hesapları/aracıları için IAM rolleri vereceksiniz.

Kullanıcınıza roller verme

Discovery Engine (Arama ve Görüşme) özelliklerini kullanmak için Cloud Shell'de aşağıdaki komutları çalıştırarak kullanıcı hesabınıza Discovery Engine Kullanıcısı rolünü verin:

source ~/lab_env.sh

echo "export USER_ACCOUNT=$(gcloud config get-value account)" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="user:$USER_ACCOUNT" \
  --role="roles/discoveryengine.user"

Compute Engine hizmet hesabına roller verme

Cloud Shell'de, Compute Engine hizmet hesabına roller vermek için aşağıdaki komutları çalıştırın:

source ~/lab_env.sh

PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
echo "export PROJECT_NUMBER=${PROJECT_NUMBER}" >> ~/lab_env.sh
echo "export COMPUTE_SA=\"${PROJECT_NUMBER}-compute@developer.gserviceaccount.com\"" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/storage.objectAdmin"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/aiplatform.user"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/cloudtrace.agent"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/geminidataanalytics.dataAgentUser"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/geminidataanalytics.dataAgentStatelessUser"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/bigquery.dataViewer"

gcloud iam service-accounts add-iam-policy-binding $COMPUTE_SA \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/iam.serviceAccountTokenCreator" \
  --project=$PROJECT_ID

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/cloudbuild.builds.builder"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/run.invoker"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$COMPUTE_SA" \
  --role="roles/secretmanager.secretAccessor"

Discovery Engine hizmet hesabına roller verme

Cloud Shell'de, Discovery Engine hizmet hesabına roller atamak için aşağıdaki komutları çalıştırın:

source ~/lab_env.sh

echo "export DISCOVERY_ENGINE_SA=\"service-\${PROJECT_NUMBER}@gcp-sa-discoveryengine.iam.gserviceaccount.com\"" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$DISCOVERY_ENGINE_SA" \
  --role="roles/run.invoker"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$DISCOVERY_ENGINE_SA" \
  --role="roles/aiplatform.user"

AI Platform Reasoning Engine Hizmet Aracısı'na Rol Verme

Cloud Shell'de, AI Platform Reasoning Engine Service Agent'a roller atamak için aşağıdaki komutları çalıştırın:

source ~/lab_env.sh

echo "export AI_PLATFORM_RE_SA=\"service-\${PROJECT_NUMBER}@gcp-sa-aiplatform-re.iam.gserviceaccount.com\"" >> ~/lab_env.sh
source ~/lab_env.sh

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AI_PLATFORM_RE_SA" \
  --role="roles/storage.objectViewer"

4. Aracıları Yapılandırma ve Dağıtma

Bu codelab için gereken tüm özel aracıları yapılandırın ve dağıtın.

Ürün Stratejisi Aracısını Yapılandırma ve Dağıtma

Bu adımda, Ürün Stratejisi Temsilcisi'ni Cloud Run'a dağıtacak ve Gemini Enterprise uygulamasına kaydedeceksiniz. Bu temsilci, ürün konseptlerini pazar verilerine göre iyileştirmekten sorumludur.

Ön koşullar

Ancak öncelikle, Ürün Stratejisi Temsilcisi'nin ortam değişkenlerini yapılandıracaksınız.

  1. Cloud Shell'de Product Strategy Agent dizinine gidin:
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/product-strategy
    
  2. .env.sample dosyasını .env konumuna kopyalamak için aşağıdaki komutu çalıştırın:
    cp .env.sample .env
    
  3. .env dosyasını proje ayrıntılarınızla doldurmak için Cloud Shell'de aşağıdaki komutları çalıştırın:
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s/YOUR_VEO_GCS_BUCKET/${PROJECT_ID}-videos/" .env
    sed -i "s/YOUR_GOOGLE_DRIVE_FOLDER_ID/${GOOGLE_DRIVE_FOLDER_ID}/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

Ürün stratejisi aracını dağıtma

  1. Cloud Run'a dağıtma Şimdi Cloud Shell'de aracıyı Cloud Run'a dağıtın. Depoda bu süreci basitleştiren bir Makefile bulunur:
    make deploy
    
    Dağıtım tamamlandıktan sonra Ürün Stratejisi Aracısı'nın URL'sini alırsınız.
  2. Cloud Shell'de, dağıtılan hizmetin URL'sini almak ve laboratuvar ortamı dosyanıza kaydetmek için aşağıdaki komutu çalıştırın:
    source ~/lab_env.sh
    PRODUCT_STRATEGY_URL=$(gcloud run services describe product-strategy --region us-central1 --format 'value(status.url)')
    echo "export PRODUCT_STRATEGY_URL=\"${PRODUCT_STRATEGY_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

Pazar Araştırması Aracısını Yapılandırma ve Dağıtma

Bu adımda, pazar araştırması aracını Cloud Run'a dağıtacak ve Gemini Enterprise uygulamasına kaydedeceksiniz. Bu aracı, trendleri ve müşteri geri bildirimlerini analiz eder.

Ön koşullar

Ancak öncelikle Deep Research aracı için API anahtarı da dahil olmak üzere Pazar Araştırması Aracısı'nın ortam değişkenlerini yapılandıracaksınız.

  1. Cloud Shell'de market-research dizinine gidin:
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/market-research
    
  2. .env.sample dosyasını .env konumuna kopyalamak için aşağıdaki komutu çalıştırın:
    cp .env.sample .env
    
  3. .env dosyasını proje ayrıntılarınızla doldurmak için Cloud Shell'de aşağıdaki komutları çalıştırın:
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

Gizli anahtar oluşturma

GEMINI_API_KEY değişkeni Secret Manager'da depolanır ve dağıtım sırasında Cloud Run düzeltmesine yerleştirilir.

  1. Cloud Shell'de GEMINI_API_KEY dosyanıza .env ekleyin:
    source ~/lab_env.sh
    echo "GEMINI_API_KEY=${GEMINI_API_KEY}" >> .env
    
  2. Gizli değerleri yerel .env dosyanızdan Secret Manager'a aktarmak için aşağıdaki komutu çalıştırın:
    make create-secrets
    
  3. Cloud Run'a gizli erişimi vermek için aşağıdaki komutu çalıştırın:
    make grant-secret-access
    

Pazar araştırması aracısını Cloud Run'a dağıtma

  1. Cloud Shell'de Makefile kullanarak aracı dağıtın:
    make deploy
    
    Dağıtım tamamlandıktan sonra Pazar Araştırması Temsilcisi'nin URL'sini alırsınız.
  2. Cloud Shell'de, dağıtılan hizmetin URL'sini almak ve laboratuvar ortamı dosyanıza kaydetmek için aşağıdaki komutu çalıştırın:
    source ~/lab_env.sh
    MARKET_RESEARCH_URL=$(gcloud run services describe market-research --region us-central1 --format 'value(status.url)')
    echo "export MARKET_RESEARCH_URL=\"${MARKET_RESEARCH_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

Orkestratör aracısını yapılandırma ve dağıtma

Bu adımda, Orchestrator Agent'ı Cloud Run'a dağıtacak ve Gemini Enterprise uygulamasına kaydedeceksiniz. Bu aracı, diğer aracılar arasındaki iş akışını koordine eder.

Ön koşullar

Ancak öncelikle Orchestrator Agent'ın ortam değişkenlerini yapılandıracaksınız. Önceki adımlarda dağıttığınız Ürün Stratejisi ve Pazar Araştırması aracılarını URL'lerini bilmesi gerekir.

  1. Cloud Shell'de orchestrator dizinine gidin:
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/orchestrator
    
  2. .env.sample dosyasını .env konumuna kopyalamak için aşağıdaki komutu çalıştırın:
    cp .env.sample .env
    
  3. Cloud Shell'de, .env dosyasını proje ayrıntılarınız ve BigQuery Data Agent yapılandırmanızla doldurmak için aşağıdaki komutları çalıştırın:
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s|http://localhost:8002|${MARKET_RESEARCH_URL}|" .env
    sed -i "s|http://localhost:8001|${PRODUCT_STRATEGY_URL}|" .env
    sed -i "s/YOUR_BQ_DATA_AGENT_PROJECT/${PROJECT_ID}/" .env
    sed -i "s/YOUR_BQ_DATA_AGENT_ID/${BQ_DATA_AGENT_ID}/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

Orchestrator aracısını dağıtma

  1. Cloud Shell'de Makefile kullanarak Orchestrator aracısını dağıtın:
    make deploy
    

Dağıtım tamamlandıktan sonra Orchestrator aracısının URL'sini alırsınız.

  1. Cloud Shell'de, dağıtılan hizmetin URL'sini almak ve laboratuvar ortamı dosyanıza kaydetmek için aşağıdaki komutu çalıştırın:
    source ~/lab_env.sh
    ORCHESTRATOR_URL=$(gcloud run services describe orchestrator --region us-central1 --format 'value(status.url)')
    echo "export ORCHESTRATOR_URL=\"${ORCHESTRATOR_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

Geliştirme Aracısını Yapılandırma ve Dağıtma

Bu adımda, geliştirme aracısını Cloud Run'a dağıtacak ve Gemini Enterprise uygulamasına kaydedeceksiniz. Bu aracı, görevler oluşturup kodu iskeletlendirerek planları eyleme dönüştürür. Geliştirme Aracısı, kayıt oluşturmak için Jira ile entegre olabilir. Bu, ana tema demosunda gösterilen özelliktir. Ancak bu codelab'de Jira entegrasyonunu atlayıp aracının görevleri Google Cloud Storage'a kaydetmesini sağlayacağız.

Ön koşullar

Ancak önce geliştirme aracısının ortam değişkenlerini yapılandıracaksınız.

  1. Cloud Shell'de dev-agent dizinine gidin:
    cd $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/agents/dev-agent
    
  2. .env.sample dosyasını .env konumuna kopyalamak için aşağıdaki komutu çalıştırın:
    cp .env.sample .env
    
  3. .env dosyasını proje ayrıntılarınızla doldurmak için Cloud Shell'de aşağıdaki komutları çalıştırın:
    source ~/lab_env.sh
    sed -i "s/YOUR_PROJECT_ID/${PROJECT_ID}/" .env
    sed -i "s/YOUR_ASSET_BUCKET_NAME/${PROJECT_ID}-artifacts/" .env
    sed -i "s/YOUR_VEO_GCS_BUCKET/${PROJECT_ID}-videos/" .env
    sed -i "s/YOUR_LOGS_BUCKET_NAME/${PROJECT_ID}-logs/" .env
    

Geliştirici aracını dağıtma

  1. Cloud Shell'de Makefile kullanarak geliştirme aracısını dağıtın:
    make deploy
    

Dağıtım tamamlandıktan sonra Geliştirme Aracısı'nın URL'sini alırsınız.

  1. Cloud Shell'de, dağıtılan hizmetin URL'sini almak ve laboratuvar ortamı dosyanıza kaydetmek için aşağıdaki komutu çalıştırın:
    source ~/lab_env.sh
    DEV_AGENT_URL=$(gcloud run services describe dev-agent --region us-central1 --format 'value(status.url)')
    echo "export DEV_AGENT_URL=\"${DEV_AGENT_URL}\"" >> ~/lab_env.sh
    source ~/lab_env.sh
    

5. Gemini Enterprise'ı kurma ve aracıları kaydetme

Bu codelab'de, Gemini Enterprise'ı kullanarak aracıları kaydedip yönetiyoruz. Böylece, Workspace ve diğer kurumsal sistemlerle etkileşim kurmalarını ve kullanıcıların onlarla etkileşim kurabilmelerini sağlıyoruz.

Bu codelab için Gemini Enterprise Plus deneme sürümüne kaydolmanız gerekir. Ayrıca, Aracılarınızı kaydetmek için kullanacağınız bir Uygulama da oluşturursunuz.

Gemini Enterprise deneme sürümüne kaydolma

Discovery Engine API'yi daha önce etkinleştirdiğimiz için deneme sürümünü açıkça başlatmanız gerekmez. Bunun yerine, ilk uygulamanızı oluşturmak için farklı bir düğme gösterilir.

  1. Google Cloud Console'da Gemini Enterprise sayfasına gidin.
  2. Karşılama ekranı gösterilir. "İlk uygulamanızı oluşturun"u tıklayın.gemini-enterprise-app

Uygulama oluşturma

  1. Uygulama adı için n26-unified girin. Ekranda gösterilen ücretsiz deneme banner'ına dikkat edin.trial-banner
  2. Diğer alanları varsayılan değerlerinde bırakıp "Oluştur"u tıklayın.
  3. Karşılama ekranı gösterilir. Önizleme bağlantısını tıklayın.gemini-enterprise-app-preview
  4. Gemini Enterprise web uygulamasının yer aldığı yeni bir pop-up pencere açılır. URL çubuğunda ekranın üst kısmındaki URL'yi not edin. Uygulamaya erişmek için bu URL'ye ilerleyen bölümlerde ihtiyacınız olacak. https://vertexaisearch.cloud.google.com/home/cid/ebb52d4a-b33b-4007-a180-91d02fa124e1 gibi görünmelidir.gemini-enterprise-web-app

Özel Temsilcileri Kaydetme

Gemini Enterprise'ın Temsilcinizi kullanabilmesi için temsilciyi bir Gemini Enterprise uygulamasına kaydetmeniz gerekir. Cloud Run'a dağıtılan özel aracılar, A2A (Agent-to-to-Agent) entegrasyonuna kaydedilebilir.

  1. Konsoldaki ayrı bir pencerede Gemini Enterprise Uygulamaları ekranına gidin.
  2. n26-unified adlı uygulamayı tıklayın.
  3. Sol taraftaki gezinme panelinde Aracıları tıklayın.

Ürün Stratejisi Aracısı'nı kaydetme

  1. Aracı kartını almak için Cloud Shell'de şu komutu çalıştırın:
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $PRODUCT_STRATEGY_URL/.well-known/agent-card.json  | jq
    
  2. + Ajan ekle'yi tıklayın.
  3. A2A aracılığıyla özel temsilci'yi tıklayın.
  4. Önceki adımdaki Agent Card JSON'ı metin kutusuna yapıştırın.
  5. Aracı Ayrıntılarını Önizle'yi tıklayın.
  6. İleri'yi tıklayın.
  7. Temsilci yetkilendirmesi için Atla ve Bitir'i tıklayın.
  8. Kullanıcı izinleri sekmesinde, Tüm kullanıcılar'a Temsilci Kullanıcı rolünü verin.
  9. Kaydet'i tıklayın.

Pazar Araştırması Ajanı'nı Gemini Enterprise Uygulaması'na kaydetme

  1. Aracı kartını almak için Cloud Shell'de şu komutu çalıştırın:
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $MARKET_RESEARCH_URL/.well-known/agent-card.json  | jq
    
  2. + Ajan ekle'yi tıklayın.
  3. A2A aracılığıyla özel temsilci'yi tıklayın.
  4. Önceki adımdaki Agent Card JSON'ı metin kutusuna yapıştırın.
  5. Aracı Ayrıntılarını Önizle'yi tıklayın.
  6. İleri'yi tıklayın.
  7. Temsilci yetkilendirmesi için Atla ve Bitir'i tıklayın.
  8. Kullanıcı izinleri sekmesinde, Tüm kullanıcılar'a Temsilci Kullanıcı rolünü verin.
  9. Kaydet'i tıklayın.

Orchestrator aracısını kaydetme

  1. Aracı kartını almak için Cloud Shell'de şu komutu çalıştırın:
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $ORCHESTRATOR_URL/.well-known/agent-card.json  | jq
    
  2. + Ajan ekle'yi tıklayın.
  3. A2A aracılığıyla özel temsilci'yi tıklayın.
  4. Önceki adımdaki Agent Card JSON'ı metin kutusuna yapıştırın.
  5. Aracı Ayrıntılarını Önizle'yi tıklayın.
  6. İleri'yi tıklayın.
  7. Temsilci yetkilendirmesi için Atla ve Bitir'i tıklayın.
  8. Kullanıcı izinleri sekmesinde, Tüm kullanıcılar'a Temsilci Kullanıcı rolünü verin.
  9. Kaydet'i tıklayın.

Geliştirme Aracısını Kaydetme

  1. Aracı kartını almak için Cloud Shell'de şu komutu çalıştırın:
    source ~/lab_env.sh
    TOKEN=$(gcloud auth print-identity-token)  
    curl  -H "Content-Type: application/json" \
      -H "Authorization: Bearer ${TOKEN}" $DEV_AGENT_URL/.well-known/agent-card.json  | jq
    
  2. + Ajan ekle'yi tıklayın.
  3. A2A aracılığıyla özel temsilci'yi tıklayın.
  4. Önceki adımdaki Agent Card JSON'ı metin kutusuna yapıştırın.
  5. Aracı Ayrıntılarını Önizle'yi tıklayın.
  6. İleri'yi tıklayın.
  7. Temsilci yetkilendirmesi için Atla ve Bitir'i tıklayın.
  8. Kullanıcı izinleri sekmesinde, Tüm kullanıcılar'a Temsilci Kullanıcı rolünü verin.
  9. Kaydet'i tıklayın.

6. 1. Perde: Gemini Enterprise'da Strateji ve Düzenleme

Laboratuvarın bu bölümünde, "Organic Living" şirketinde satışları düşen ürün gruplarını canlandırmakla görevli Ticari Ürünlerden Sorumlu Başkan Yardımcısı rolünü oynayacaksınız.

Daha az popüler olan bazı ürün gruplarını yeniden canlandırmak için temsilcinizden trendleri analiz etmesini, deponuzdaki ölü stokları belirlemesini ve yeniden lansman kampanyası düzenlemesini isteyeceksiniz. Gemini Enterprise'ın tek bir karmaşık istemi yanıtlamak için birden fazla temsilciyi nasıl düzenlediğini göreceksiniz.

Bu URL, 4. adımda (Gemini Enterprise'ı ayarlayın ve temsilcileri kaydedin) not aldığınız URL'dir. URL'niz yoksa aşağıdaki adımları uygulayarak URL'yi alabilirsiniz:

  1. Gemini Enterprise Uygulamaları ekranına gidin.
  2. n26-unified adlı uygulamayı tıklayın.
  3. https://vertexaisearch.cloud.google.com ile başlayan URL'yi tıklayın.

Ajanı görevinizle ilgili yardım etmeye yönlendirme

  1. Ana sayfanızdaki sohbet kutusuna yazarak yeni sohbete başlayın veya sol taraftaki gezinme menüsünde Yeni sohbet'i tıklayın.
  2. Aşağıdaki istemi ekleyin:
    Analyze current interior design trends and identify dead stock in our warehouse that matches the trend. Orchestrate a relaunch campaign
    
  3. Gönder'i (kağıt uçak simgesi) tıklayın ve Orchestrator Agent'ın sihrini izleyin.

Çıkışı gözlemleyin

Bu tek istemle birden fazla temsilci, saatler yerine dakikalar içinde bir dizi görevi tamamlar.

  • Deep Research tarafından desteklenen Pazar Araştırması Ajanı, en yeni tasarım trendlerini bulmak için en son Google Arama bilgilerini analiz eder.
  • Veri Analizleri Aracısı, küresel ürün verilerine bağlanır ve araştırma bulgularını, bu trend ölçütlerine uyan "ölü stok" öğelerini (düşük hızlı envanter) belirlemek için dahili kataloğumuza aktarır.
  • Ürün Stratejisi Temsilcisi, diğer temsilcilerden gelen araştırma ve verilere dayalı olarak yeniden lansman kampanyası stratejisi oluşturmak için her şeyi bir araya getirir.

Planı onaylayın ve çıktıyı inceleyin

  1. Planı onaylamak için Yes ile yanıtlayın
  2. Çıkışı inceleyin
    • Pazar Araştırması Aracısı'nın sunduğu analizlerle başlar ve web sitesi yeniden markalandırması da dahil olmak üzere kapsamlı bir plan içerir.
    • Daha önce ayarladığımız BigQuery Data Agent kullanılarak ürün verilerimizden alınan verileri içerir.
    • Analiz ve önerilere güvenebilmeniz için çıktının alt kısmındaki kaynaklara dikkat edin.

Yeni Organic Living stiline göre videolar oluşturma

  1. Sohbette, Ürün Stratejisi Temsilcisi'nden video oluşturmasını isteyin. @Product yazıp listeden Ürün Stratejisi Aracısı'nı seçerek başlayın.
  2. Aşağıdaki istemi ekleyin:
    generate three videos for the landing page
    
  3. Gemini, video öğeleri oluşturmak ve bunların URL'lerini sağlamak için Ürün Stratejisi Aracısı'nı kullanır.

Geliştirme ekibiyle koordineli çalışma

Açılış konuşmasındaki demoda, Geliştirme Aracısı, geliştirme ekibine Google Chat bildirimi gönderdi. Ancak kişisel Gmail hesaplarında gelen webhook'lar desteklenmediğinden bu adımı bu codelab'den kaldırdık. Bunun yerine, Geliştirme Temsilcisi, görevi Google Cloud Storage'da oluşturmaya odaklanır.

  1. Sohbette, Geliştirme Aracısı'ndan geliştirme ekibi için bir görev oluşturmasını isteyin. @Dev yazıp listeden Dev Agent'ı seçerek başlayın.
  2. Aşağıdaki istemi ekleyin:
    create a task for the dev team to get started on the new product landing page.
    
  3. Çıkışı inceleyin. Geliştirme Temsilcisi, bir görev oluşturduğunu onaylayacak ve bir Görev Kimliği (ör.TASK-A3F7B2C1) sağlayacaktır. 2. Perde'de bu Görev Kimliği'ne ihtiyacınız olacağından not alın.

7. 2. Perde: Gemini CLI'da geliştirme

Bu işlemde geliştirici rolüne geçersiniz. 1. Perde'de oluşturulan görevi takip ederek yeni kampanyanın açılış sayfasını oluşturup yayınlamakla görevlendirildiniz.

Görev dosyasındaki tasarım spesifikasyonuna göre "Organic Living" web sitesini oluşturmak için Gemini CLI'ı kullanacaksınız. Gemini CLI, Gemini'ın gücünü komut satırına getiren açık kaynaklı bir yapay zeka aracısıdır. Cloud Shell ortamınıza önceden yüklenmiştir.

Gemini KSA'yı yapılandırma

  1. Cloud Shell'de web sitesi projeniz için yeni bir dizin oluşturun ve bu dizine gidin:
    mkdir -p $HOME/website
    cd $HOME/website
    
  2. Klonlanan depodaki GEMINI.md talimatlarını ve tasarım resmini çalışma dizininize kopyalayın:
    cp $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/gemini-cli/GEMINI.md .
    cp $HOME/next-26-keynotes/genkey/fabric-unified-intelligence/gemini-cli/Organic_Living_Website_Design.png .
    
  3. Aracı yapılandırma dizinini ve dev-agent.md dosyasını oluşturun:
    source ~/lab_env.sh
    mkdir -p ~/.gemini/agents
    cat > ~/.gemini/agents/dev-agent.md <<EOF
    ---
    kind: remote
    name: dev-agent
    agent_card_url: ${DEV_AGENT_URL}/.well-known/agent-card.json
    description: "Task assistant. Use for: creating/looking up/starting APPDEV tasks."
    auth:
      type: google-credentials
    ---
    EOF
    

İstem girmeye başlama

  1. Etkileşimi başlatmak için gemini-cli komutunu çalıştırın:
    source ~/lab_env.sh
    gemini
    
  2. Bu klasördeki dosyalara güvenip güvenmediğiniz sorulur. 1. seçeneği belirleyin. Güven klasörü (web sitesi).
  3. Gemini CLI isteminde auth yazıp Enter tuşuna basın.
  4. Gemini API anahtarını kullan'ı seçin. Bu işlem, GEMINI_API_KEY ortam değişkenini lab_env.sh'dan yüklediğiniz şekilde otomatik olarak kullanır.
  1. gemini> isteminde, ajana 1. Perde'de oluşturulan görev üzerinde çalışmak istediğinizi söyleyin (TASK-A3F7B2C1 yerine not aldığınız gerçek görev kimliğini girin):
    @dev-agent let me work on TASK-A3F7B2C1
    
    Temsilci, GCS'de görevi arar ve size bir özet ile plan sunar.
  2. Şimdi temsilciden web sitesini oluşturmasını isteyin:
    Build and deploy it
    
    Gemini, geçerli dizindeki GEMINI.md dosyasını okur ve spesifikasyonlara göre web sitesini oluşturmaya başlar.
  3. Derleme ve dağıtım tamamlandıktan sonra aracı, dağıtılan Cloud Run hizmetinin URL'si de dahil olmak üzere sonuçları çıkarır.
  4. Yeni "Organic Living" web sitesini yeni bir sekmede açmak için sağlanan URL'yi tıklayın ve tasarım özellikleriyle eşleştiğini doğrulayın.

8. Özet

Bu codelab'de, farklı roller ve ortamlarda karmaşık ve çok adımlı bir iş akışını tamamlayarak "Birleşik Zeka Ağı"nın gücünü başarıyla gösterdiniz:

  1. Çoklu aracı sistemini yönetme: Gemini Enterprise'da, trendleri analiz etmek, envanteri belirlemek ve yeniden lansman stratejisi geliştirmek için tek bir istem kullanarak bir aracı ekibini (pazar araştırması, veri analizleri ve ürün stratejisi) görevlendirdiniz. Tek bir istemle, her görevi ayrı ayrı tamamlamaya gerek kalmadan birçok işi yapabilirsiniz.
  2. Oluşturulan multimedya öğeleri: Yeni ürün serisi için video öğeleri oluşturmak üzere Ürün Stratejisi Temsilcisi'ni kullandınız.
  3. Simüle Edilmiş Roller Arası Devir: GCS'de görev oluşturmak için Geliştirme Temsilcisi'ni kullandınız. Bu, iş ekibinden geliştirme ekibine devri simüle eder. Sistem, doğrudan paylaşmanıza gerek kalmadan paylaşılan bağlamı korudu.
  4. Gemini CLI ile Web Sitesi Oluşturma: Cloud Shell'de geliştirici rolüne geçtiniz ve önceki adımda oluşturulan göreve ve GEMINI.md'daki tasarım özelliklerine dayalı bir açılış sayfası oluşturup dağıtmak için Gemini CLI'ı kullandınız.

Bu iş akışında, Gemini Enterprise'ın karmaşık iş süreçlerini kolaylaştırmak için farklı araçları, veri kaynaklarını ve rolleri nasıl bağlayabileceği vurgulanmaktadır.

9. Temizleme

Bu laboratuvarda çok sayıda kaynak oluşturulur. Bu nedenle, uzun bir temizleme adımından kaçınmak için projenin tamamını silmenizi öneririz.

  1. Cloud Shell'de aşağıdaki komutu çalıştırarak Google Cloud projesinin tamamını silin:
source ~/lab_env.sh
gcloud projects delete "${PROJECT_ID}"

10. Tebrikler

Tebrikler! "Fabric of Unified Intelligence" adlı codelab'i başarıyla tamamladınız.