Data Agent Kit ve Antigravity IDE ile Sahtekarlık Algılama Ardışık Düzeni

1. Giriş

Yüksek hacimli bir ödeme işleyicisi olan Cymbal Financial'da veri bilimci olduğunuzu hayal edin. Bir dizi ödeme gecikmesi yaşandı ve uyumluluk ekibi, koordineli bir sahtekarlık yapıldığından şüpheleniyor. Ham takas merkezi işlem günlüklerini alma, verileri temizleme, makine öğrenimi modeli eğitme, toplu çıkarım çalıştırma ve yüksek riskli işlemleri manuel denetim için Cloud Spanner inceleme sırasına yerleştirme işlemlerini gerçekleştirmek üzere bir ardışık düzen oluşturmanız gerekir.

Normalde bu işlem, günlerce tekrarlayan kurulum kodu (Spark not defterleri, dbt yapılandırmaları, eğitim komut dosyaları, Airflow DAG'leri) yazmayı ve konsol arayüzleri ile düzenleyiciler arasında sürekli bağlam değiştirmeyi gerektirir.

Bu codelab'de, Antigravity IDE'de Google Cloud Data Agent Kit (DAK)'i kullanarak bir temsilciyle eşli programlama yapacaksınız. Sohbet dilinde doğal dil kullanarak aracı, Managed Service for Apache Airflow'u kullanarak Spark not defterleri oluşturmanıza, dbt projesi derlemenize, çıkarım döngüsü oluşturmanıza ve iş akışını düzenlemenize yardımcı olur.

Yapacaklarınız

  • Apache Spark için Yönetilen Hizmet (Spark Serverless) kullanarak Cloud Storage'dan takas merkezi günlüklerini BigQuery tablosuna aktarın.
  • Temiz veri katmanları (Ham, Hazırlama, Zenginleştirilmiş) oluşturmak için dbt'yi kullanarak işlemleri tekilleştirin ve normalleştirin.
  • Spark Serverless'ta dağıtılmış bir rastgele orman sınıflandırma modelini eğitme (RandomForestClassifier)
  • Yeni işlemler üzerinde toplu çıkarım çalıştırma ve yüksek riskli uyarıları doğrudan Cloud Spanner'a yazma.
  • Apache Airflow için Yönetilen Hizmet'i ve IDE'deki etkileşimli DAG izlemeyi kullanarak tüm ardışık düzeni düzenleyin, görsel olarak yapılandırın ve dağıtın.

İhtiyacınız olanlar

  • Chrome gibi bir web tarayıcısı
  • Faturalandırmanın etkin olduğu bir Google Cloud projesi (uygulamalı laboratuvarlar için yeni ve özel bir proje kullanmanızı öneririz).
  • SQL, Python ve PySpark hakkında temel bilgi sahibi olmak
  • Google AI Pro aboneliğiyle Antigravity IDE (önerilir)

Bu codelab'de oluşturulan kaynakların maliyeti 5 ABD dolarından az olmalıdır. Sağlanan kaynakları silmek için laboratuvarın sonundaki Temizleme talimatlarını uyguladığınızdan emin olun.

2. Ortam kurulumu

Laboratuvarı başlatmak için bir bootstrap komut dosyası çalıştıracaksınız. Bu komut dosyası, gerekli GCP API'lerini otomatik olarak etkinleştirir, bir alım Cloud Storage paketi oluşturur, sahte işlem ve dizin veri kümeleri oluşturur, referans dizinlerini BigQuery'ye yükler ve Cloud Spanner ile Apache Airflow için Yönetilen Hizmet'in (eski adıyla Cloud Composer) arka planda sağlanmasını başlatır.

Proje seçin veya oluşturun

Google Cloud Console'da mevcut bir projeyi seçin veya yeni bir proje oluşturun.

Faturalandırmayı doğrulama

Google Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bu işlemi nasıl yapacağınız hakkında daha fazla bilgi edinmek için bu kılavuzu inceleyebilirsiniz.

Kurulum komut dosyasını çalıştırma

Ortam kurulumunu başlatmak için Google Cloud Shell'i (veya Google Cloud KSA ile yapılandırılmış yerel kabuğunuzu) kullanacaksınız.

  1. Google Cloud Console'u açın.
  2. Sağ üstteki araç çubuğunda Cloud Shell'i Etkinleştir'i tıklayın.

Cloud Shell'i açın

  1. Cloud Shell terminalinde etkin projenizi yapılandırın:
gcloud config set project <<YOUR_PROJECT_ID>>
export PROJECT_ID=$(gcloud config get-value project)
  1. Codelab deposunu klonlayın ve komut dosyaları klasörüne gidin:
cd ~/
git clone --filter=blob:none --no-checkout https://github.com/GoogleCloudPlatform/devrel-demos.git
cd ~/devrel-demos
git sparse-checkout init --cone
git sparse-checkout set codelabs/agentic-data-labs/data-science
git checkout main
cd codelabs/agentic-data-labs/data-science/scripts
  1. Tüm kaynakları us-central1 konumuna dağıtmak için bootstrap kurulum komut dosyasını çalıştırın:
chmod +x setup.sh setup_spanner.sh setup_composer.sh
export REGION=us-central1
./setup.sh
  1. Komut dosyası tamamlandığında, BigQuery veri kümenizin ve Cloud Storage paketinizi hazır olduğunu belirten bir özet çıkışı görürsünüz. Arka planda Cloud Spanner (~2 dakika sürer) ve Managed Airflow (~20 dakika sürer) hizmetlerinin sağlanması devam eder. Aşağıdaki komutu çalıştırarak ilerleme durumunu istediğiniz zaman izleyebilirsiniz:
tail -f /tmp/spanner_setup.log
tail -f /tmp/composer_setup.log

Antigravity IDE'yi açın.

  1. Antigravity IDE'yi Google Antigravity indirme sayfasından indirip yükleyin.
  2. Antigravity IDE'yi başlatın.
  3. Yerel makinenizde yeni ve boş bir klasör oluşturun (ör.agentic-data-labs olarak adlandırın) ve Open Folder'ı (Klasör Aç) seçerek klasörü IDE'de açın. Bu, codelab için yerel çalışma alanınız olarak işlev görür.

Antigravity IDE proje klasörünü yapılandırma

Data Agent Kit uzantısını yükleme

Google Cloud Data Agent Kit uzantısı, doğrudan düzenleyicinizde Google Cloud veri hizmetleriyle derin entegrasyon sağlayarak bağlam değiştirmeden BigQuery, Cloud SQL, Cloud Storage ve daha fazlasıyla etkileşim kurmanıza olanak tanır.

  1. Antigravity IDE'de, ekranın en sol tarafındaki etkinlik çubuğunda Uzantılar simgesini (dört kareye benzer) tıklayın.
  2. Uzantılar bölmesinin üst kısmındaki arama çubuğuna Google Cloud Data Agent Kit yazın.
  3. googlecloudtools tarafından yayınlanan Google Cloud Data Agent Kit adlı uzantıyı bulun.
  4. Yükle düğmesini tıklayın.
  5. "googlecloudtools" yayıncısına ve uzantılarına güveniyor musunuz?" sorusunu içeren bir istem görünebilir. Devam etmek için Yayıncılara güven ve yükle'yi tıklayın.

Data Agent Kit uzantısını yükleme

Yüklendikten sonra Antigravity IDE'nin en solundaki Etkinlik Çubuğu'nda yeni bir Google Cloud Data Agent Kit simgesi görünür.

  1. "Google Cloud Data Agent Kit'e hoş geldiniz" başlıklı bir ilk katılım sayfası otomatik olarak açılır. Cloud hesabınızda oturum açmadıysanız erişime izin vermek için istemleri uygulayın.
  2. Yapılandırma Özeti bölümünde proje alanını bulun. Açılır listeyi tıklayın ve Google Cloud projenizi seçin. Bölgenizi us-central1 olarak ayarlayın. Ardından MCP Sunucularını Yapılandır'ı seçin.

Veri Aracısı Kiti uzantısının ilk yapılandırması

  1. MCP Sunucularını Yapılandır'ı seçin. MCP Yapılandırması bölmesinde aşağıdaki uzak MCP sunucularını etkinleştirdiğinizden emin olun:
    • BigQuery
    • Spanner
    • Not defterleri

Ardından Başlayın'ı tıklayın.

MCP sunucularını yapılandırma

Yapılandırma seçeneklerini keşfetme

Kurulum tamamlandıktan sonra "Google Cloud Veri Aracısı Kiti'ni kullanmaya başlama" sayfasına yönlendirilirsiniz.

  1. "Kurulum ve Yapılandırma " bölümünde Başlayın'ı tıklayın.
  2. Bu işlem, Veri Aracısı Kiti Yapılandırması panelini açar. Sekmeleri keşfedin:
    • Proje ve Bölge: Seçtiğiniz proje kimliğini doğrulayın ve kurulum komut dosyasının gerekli tüm API'leri (Compute Engine, Cloud Storage, BigQuery, Spanner vb.) etkinleştirdiğini onaylayın.
    • BigQuery: BigQuery sorgularınız için varsayılan konumu yapılandırın. Bölgeyi us-central1 kullanın.
    • MCP sunucularını yapılandırma: Yapay zeka aracılarına verilerinizle güvenli bir şekilde etkileşim kurma olanağı tanıyan etkinleştirilmiş MCP sunucularını (BigQuery, Notebooks, Spanner vb.) görüntüleyin.
    • Beceriler: Temsilcilere karmaşık veri görevleri için özel yetenekler sağlayan önceden oluşturulmuş becerileri keşfedin.

Veri Aracı Kiti Ayarları paneli

Bölüm Özeti: Spanner ve Airflow arka planda oluşturulurken GCS ve BigQuery öğelerini oluşturmak için bootstrap komut dosyasını çalıştırdınız. Ardından projeyi Antigravity IDE'de açıp Google Cloud Data Agent Kit uzantısını etkinleştirdiniz. Artık ilk not defterinizi yazmaya hazırsınız.

3. Spark Serverless kullanarak ham günlükleri alma

Bu bölümde, ham JSON işlem günlüklerini veri gölüne aktaracaksınız. Apache Spark için Yönetilen Hizmet (Spark Serverless), BigQuery'nin yerel depolama alanına doğrudan bağlanır. Tablo verilerini yönetmek ve doğrudan sorgu ve analizleri etkinleştirmek için standart BigQuery bağlayıcısını kullanırsınız.

Önceden yapılandırılmış Spark Serverless çalışma zamanını keşfetme

Spark kodunu yürütmeden önce, kurulum komut dosyası tarafından önceden yapılandırılmış olan Sunucusuz Çalışma Zamanı şablonunu inceleyin. Bu şablon, hedef yürütme ortamı arka ucunu tanımlar ve gerekli bağlayıcı bağımlılıklarını paketler.

  1. IDE etkinlik çubuğunda Google Cloud Data Agent Kit panelini açın.
  2. Apache Spark açılır menüsünü ve ardından Sunucusuz'u genişletin.
  3. fraud-pipeline-runtime simgesini sağ tıklayın ve düzenleyicide yapılandırma görünümünü açmak için Profil'i seçin.
  4. Profil sekmesinde aşağı kaydırın ve ortama eklenen özel bağımlılıkları incelemek için Özellikler'i genişletin:
    • spark.jars: gs://spark-lib/spanner/spark-3.5-spanner-1.4.0.jar içerir. Bu görev, Spark işlerinin çıkarım sonuçlarını daha sonra laboratuvarda doğrudan Cloud Spanner'a yazmasına olanak tanımak için Spark Spanner bağlayıcısını kullanır. (Not: Dataproc Serverless, Google Cloud'un Spark BigQuery bağlayıcısını varsayılan olarak içerir. Bu nedenle, BigQuery tablolarını okumak ve yazmak için ek JAR yapılandırması gerekmez.)

Spark Sunucusuz Çalışma Zamanı Özelliklerini Keşfetme

  1. Soldaki Etkileşimli Oturumlar sekmesine dikkat edin. Henüz herhangi bir kod yürütmediğiniz için şu anda boştur. Bir sonraki adımda not defterini çalıştırdığınız anda, canlı bir sunucusuz bilgi işlem oturumu dinamik olarak sağlanır ve burada görünür.

Veri Temsilcisi Kitini kullanarak veri alma

Spark oturumunu manuel olarak yapılandırmak veya PySpark yükleme komut dosyalarını sıfırdan yazmak yerine, Veri Aracısı Kiti'ni kullanarak bir aracıyla birlikte programlama yapacaksınız.

  1. Sağ üstteki araç çubuğunda Toggle Agent (Aracı Aç/Kapat) simgesini tıklayarak Agent Chat (Aracıyla Sohbet) bölmesini açın.
  2. Aşağıdaki istemi sohbete yapıştırın (${PROJECT_ID} yerine gerçek Google Cloud proje kimliğinizi yazdığınızdan emin olun):
Create a PySpark notebook (01_ingestion.ipynb) to ingest JSON transaction logs
from gs://${PROJECT_ID}-fin-clearing-raw/ into a BigQuery table
`${PROJECT_ID}.transactions_dataset_evals.raw_transactions`
using the Spark BigQuery connector (`format("bigquery")`) with overwrite mode.
  1. Aracı, arka plan doğrulama komutlarını yürütmek için izin isterse (ör. "Bu komutun çalıştırılmasına izin verilsin mi?") önerilen komutu inceleyin ve Evet, bu sefer izin ver'i (veya Evet ve her zaman izin ver) seçin.
  2. Aracı dosya oluşturmayı tamamladığında, notebooks/01_ingestion.ipynb dosyasını çalışma alanınıza kaydetmek için sohbet bölmesinin alt kısmındaki mavi Tümünü kabul et düğmesini (veya onay işareti simgesini) tıklayın.

Alım not defterini oluşturan aracı

Not defterini inceleyin ve çalıştırın

  1. Yeni oluşturulan notebooks/01_ingestion.ipynb dosyasını IDE'de açın.
  2. BigQuery bağlayıcısının yazma mantığı için PySpark kodunu inceleyin.
  3. IDE'nin not defteri araç çubuğunda Tümünü Çalıştır'ı tıklayın.
  4. Uzak bir Spark not defterini ilk kez çalıştırıyorsanız IDE, yerel bağımlılıkları yüklemenizi isteyebilir. İstenirse Install dependencies for Remote Spark Kernels'ı (Uzak Spark çekirdekleri için bağımlılıkları yükle) tıklayın ve yükleme iletişim kutularını onaylayın, ardından Run All'ı (Tümünü Çalıştır) tekrar tıklayın.
  5. Select Kernel (Çekirdek Seç) açılır menüsünde Remote Spark Kernels (Uzak Spark Çekirdekleri) -> fraud-pipeline-runtime on Serverless Spark'ı (Sunucusuz Spark'ta sahtekarlık-işlem hattı-çalışma zamanı) seçin. (İpucu: Önceden yapılandırılmış çalışma zamanı şablonunuz listelenmiyorsa çekirdek seçici açılır listesinin sağ üst kısmındaki yenileme simgesini tıklayarak kullanılabilir uzak çekirdekleri yeniden yükleyin).
  6. Düzenleyicinin sol alt kısmındaki durum çubuğuna bakın. Connecting to kernel: fraud-pipeline-runtime on Serverless Spark... seçeneğini görürsünüz. Spark Serverless çalışma zamanı çekirdeği arka ucunun ilk lansmanı olduğundan, sağlama ve başlatma işlemi birkaç dakika sürer.
  7. Çekirdek bağlantısı tamamlandıktan sonra not defteri, ham işlem günlüklerini BigQuery veri kümenize işlemek için tüm hücreleri sırayla otomatik olarak yürütmeye başlar.

Doğrulama

Yürütme tamamlandıktan sonra tablo oluşturma işlemini doğrulamak için Veri Aracısı Kiti kataloğunu kontrol edin:

Katalog Gezgini'nde Ham tablosunu doğrulama

  1. IDE etkinlik çubuğunda Google Cloud Data Agent Kit panelini açın.
  2. CATALOG bölümünü genişletin.
  3. Proje kimliğinizi genişletin.
  4. BigQuery'yi genişletin.
  5. transactions_dataset_evals veri kümesini genişletin.
  6. Ana düzenleyicide ayrıntı görünümünü açmak için raw_transactions tabloyu tıklayın.
  7. Alınan kayıtları ve meta verileri incelemek için soldaki gezinme panelinde Veri, Şema ve Ayrıntılar sekmelerini inceleyin.

Bölüm Özeti: Tam bir Spark Serverless iş yükü oluşturmak için Agent Chat'te doğal dil kullandınız. Ardından, yapılandırılmamış JSON günlüklerini BigQuery (ham) tablosuna işlemek için bu komutu yürüttünüz.

4. dbt ile yinelenen öğeleri kaldırma ve normalleştirme

Makine öğrenimi modelini eğitmeden önce, yinelenen yayın günlüklerini kaldırarak, hatalı kayıtları (ör. boş işlem kimlikleri) izole ederek ve boyut verilerini (ödeyenler ve alacaklılar) birleştirerek veri kalitesini zorunlu kılarsınız. Bu işlem, dbt (data build tool)'yi mükemmel bir seçenek haline getiren, idempotent ve güvenilir SQL dönüşümleri gerektirir.

dbt ardışık düzenini oluşturma

BigQuery veri kümesi üzerinde bir dbt projesi oluşturmak için aracı kullanın:

  1. Temsilci Sohbeti bölmesine dönün.
  2. dbt projesini oluşturmak için aşağıdaki talimatı verin:
Scaffold a us-central1 dbt project in dbt_project/ that maps raw_transactions
through to an enriched_transactions model in dataset transactions_dataset_evals.

Deduplicate by transaction_id in staging. Quarantine null IDs to an invalid_transactions model.
Join the valid staging records with dim_payers and dim_payees for the enriched_transactions model,
preserving the historical `is_fraud` label column, and finally add a transaction uniqueness test.

Create an implementation plan first.
  1. Temsilci, ana düzenleyici bölmesinde bir Uygulama Planı yapay nesnesi sunar. Önerilen dosya yapısını ve SQL mantığını inceleyin.
  2. Temsilcinin çalışma alanınızda dosya oluşturmasına izin vermek için Devam'ı (ve ardından Tümünü kabul et'i) tıklayın.

Devam et düğmesi içeren uygulama planı

  1. Oluşturma işlemi tamamlandığında aracı, yeni bileşenleri özetleyen bir Walkthrough (Adım Adım Açıklama) gösterir. İstenirse tüm değişiklikleri kabul edin.

Chat bölmesinde oluşturulan tüm dosyaları kabul etme

Derleme ve test etme

Aracı, oluşturulan SQL'in söz dizimi açısından geçerli olmasını sağlamak için dbt compile komutunu otomatik olarak çalıştırsa da artık bu görünümleri ve tabloları BigQuery'de oluşturup yerel doğrulama için veri kalitesi testlerini çalıştıracaksınız. (Not: Bu laboratuvarın ilerleyen bölümlerinde, bu dbt adımını uçtan uca Airflow DAG'sinin bir parçası olarak otomatikleştirirsiniz.)

  1. En soldaki etkinlik çubuğunda Explorer simgesini tıklayın (veya Cmd/Ctrl+Shift+E tuşuna basın).
  2. Oluşturulan SQL modellerini incelemek için dbt_project -> models'i genişletin. Dönüşüm ve sahtekarlık özelliklerinin mantığını düzenleyicide açıp incelemek için enriched_transactions.sql simgesini tıklayın.
  3. Dosya Gezgini'nde dbt_project klasörünü sağ tıklayın ve Open in Integrated Terminal'ı (Entegre Terminalde Aç) seçin. Bu işlem, doğrudan gerekli dbt_project çalışma dizinine ayarlanmış bir terminal bölmesini otomatik olarak açar.
  4. Henüz dbt yüklü değilse dbt_project/ dışında (ev veya çalışma alanı kökünüzde) bir sanal ortam oluşturun ve BigQuery bağdaştırıcısını yükleyin:
python3 -m venv ~/.venv/dbt
source ~/.venv/dbt/bin/activate
pip install dbt-bigquery
  1. dbt modellerini ve bunlarla ilişkili veri kalitesi testlerini çalıştırın:
dbt build
  1. Terminal çıkışını izleyin. dbt, SQL'i derler, BigQuery'de hazırlama ve zenginleştirilmiş tabloları oluşturur ve veri testlerini yürütür.

Entegre terminalde dbt projesi oluşturma ve test etme

  1. Derleme işlemi tamamlandıktan sonra kalan adımlar için ekran alanını boşaltmak üzere terminal bölmesini kapatın.

Bölüm Özeti: Aracıyla bir dbt projesi oluşturdunuz, veri kalitesi testleri çalıştırdınız ve ham kayıtları hazırlama ve zenginleştirilmiş BigQuery tablolarına dönüştürdünüz.

5. Rastgele Orman ile dağıtılmış sahtekarlık algılama modelini eğitme

BigQuery'de gerçekleşen zenginleştirilmiş işlemlerle, sahtekarlık içeren etkinlikleri sınıflandırmak için bir makine öğrenimi modeli oluşturacaksınız. Rastgele Orman, tablo şeklinde sınıflandırma verileri için uygun bir toplu öğrenme yöntemidir. Spark Sunucusuz'da RandomForestClassifier çalıştırmak, altyapıyı yönetmenizi gerektirmeden model eğitimi işlemini çalışma düğümleri arasında dağıtır.

Bu adımda, Spark ML eğitim ardışık düzenini oluşturmak için ajanı kullanacaksınız.

Makine öğrenimi eğitimi not defterini oluşturma

  1. Agent Chat (Aracıyla Sohbet) bölmesini açın.
  2. Model eğitim sırasını tasarlamak için aşağıdaki istemi girin (${PROJECT_ID} yerine etkin proje kimliğinizi yazmayı unutmayın):
Create a PySpark notebook (02_training.ipynb) to train a distributed Random Forest
(RandomForestClassifier) model on the BigQuery table
`transactions_dataset_evals`.`enriched_transactions`, predicting the `is_fraud` label.
Train only on historically labeled records where `is_fraud` is not null.

One-hot encode categorical strings, scale amounts, cache the dataset in memory,
evaluate AUC, and save the evaluated model to gs://${PROJECT_ID}-models/fraud_model.
  1. Aracının planını veya oluşturulan kodu inceleyin ve notebooks/02_training.ipynb öğesini çalışma alanınıza kaydetmek için Devam / Tümünü kabul et'i tıklayın.

Eğitim not defterini oluşturan temsilci

Not defterini inceleyin ve çalıştırın

  1. notebooks/02_training.ipynb dosyasını düzenleyicide açın.
  2. Özellik kodlama, vektör oluşturma ve rastgele orman sınıflandırma mantığı için PySpark ML işlem hattı aşamalarını inceleyin.
  3. IDE'nin not defteri araç çubuğunda Tümünü Çalıştır'ı tıklayın.
  4. Select Kernel (Çekirdek Seç) açılır liste seçicisi açıldığında fraud-pipeline-runtime on Serverless Spark'ı (Sunucusuz Spark'ta sahtekarlık işlem hattı çalışma zamanı) seçin.

Eğitim not defteri için sunucusuz Spark çekirdeğini seçme

Doğrulama

Yürütme tamamlandıktan sonra modelin doğru şekilde eğitildiğini ve dışa aktarıldığını onaylayın:

  1. Bildirilen ROC eğrisi altındaki alan (AUC) puanını doğrulamak için not defterinin alt kısmına yakın yerdeki değerlendirme hücresi çıkışlarını inceleyin.
  2. Model yapılarının GCS'ye başarıyla kaydedildiğinden emin olmak için Data Agent Kit kenar çubuğundaki STORAGE (DEPOLAMA) Gezgini bölmesini genişletin.
  3. -models ile biten (etkin proje kimliğinize bağlı) paketi bulun, genişletin ve fraud_model dizininin ve ardışık düzen aşamalarının mevcut olduğunu doğrulamak için ayrıntılı inceleme yapın.

Modelin GCS'ye kaydedildiğini doğrulama

Bölüm Özeti: PySpark ML eğitim ardışık düzeni oluşturmak için aracı kullandınız, zenginleştirilmiş BigQuery tablonuzda Random Forest modeli eğittiniz ve modeli Cloud Storage'a aktardınız.

6. Toplu çıkarım ve Cloud Spanner yazma

Cloud Storage'da depolanan eğitilmiş bir tahmini modelle, BigQuery'den geçen yeni işlemler üzerinde toplu çıkarım çalıştırırsınız. Yüksek riskli işlemlerin, uygunluk ekibinin inceleyebilmesi için operasyonel bir sisteme yönlendirilmesi gerekir. Cloud Spanner, bu inceleme sırası için ölçeklenebilir bir işlemsel veritabanı sağlar.

Toplu çıkarım not defterini oluşturma

BigQuery, Cloud Storage ve Cloud Spanner'ı bağlayan bir çıkarım not defteri oluşturmak için aracı kullanın:

  1. Agent Chat (Aracıyla Sohbet) bölmesini açın.
  2. Aşağıdaki istemi girin:
Create an inference notebook (03_inference.ipynb) that loads the RandomForestClassifier
model to score unlabeled records (where `is_fraud` is null) from the BigQuery table
`transactions_dataset_evals`.`enriched_transactions`.

Filter for high-risk transactions with a 50%+ fraud probability score (probability >= 0.50)
and write them to the Cloud Spanner table SparkEvalFraudReviewQueue in the cymbal-fraud instance
under fraud-db.
  1. notebooks/03_inference.ipynb dosyasını çalışma alanınıza kaydetmek için oluşturulan not defterini kabul edin.

Çıkarım not defterini oluşturan aracı

Not defterini inceleyin ve çalıştırın

  1. Yeni oluşturulan notebooks/03_inference.ipynb öğesini düzenleyicide açın.
  2. PySpark çıkarım sırasını inceleyin:
    • Bağımlılıklar: Sunucusuz Çalışma Zamanı şablonu, Spark yürütmesi için gerekli cloud-spanner JAR bağımlılıklarını sağlar.
    • Veri Biçimlendirme: Komut dosyası, Spanner tablo şemasıyla eşleşmesi için yazmadan önce karmaşık Spark ML vektör sütunlarını (ör. ham özellikler ve olasılıklar) bırakır.
    • Spanner Bağlayıcı: İşaretlenen satırları, doğrudan inceleme sırasına eklemek için .format("cloud-spanner") kullanarak yazar.
  3. IDE'nin not defteri araç çubuğunda Tümünü Çalıştır'ı tıklayın.
  4. Çekirdek seçmeniz istendiğinde fraud-pipeline-runtime on Serverless Spark'ı seçin.

Doğrulama

Çıkarım not defteri işlemeyi tamamladıktan sonra, operasyonel Spanner veritabanınızı doğrudan IDE'de sorgulayabilirsiniz:

  1. IDE etkinlik çubuğunda Google Cloud Data Agent Kit panelini açın.
  2. CATALOG bölümünü genişletin.
  3. Proje kimliğinizi ve ardından Spanner'ı genişletin.
  4. cymbal-fraud -> fraud-db -> Tables -> SparkEvalFraudReviewQueue'e gidin.
  5. Tabloyu sağ tıklayın ve Tabloyu Sorgula'yı seçin, ardından sorguyu yürütün:
SELECT *
FROM `SparkEvalFraudReviewQueue`
LIMIT 100;
  1. Aşağıdaki Sorgu Sonuçları bölmesinde, manuel inceleme için işaretlenen yüksek riskli işlemleri temsil eden yeni eklenmiş satırları görmeniz gerekir.

Cloud Spanner'daki satırları doğrulama

Bölüm Özeti: Toplu çıkarım not defteri oluşturmak için aracı kullandınız, eğitilmiş modelinizle etiketlenmemiş BigQuery kayıtlarına puan verdiniz ve yüksek riskli işlemleri doğrudan Cloud Spanner'a yazdınız.

7. Managed Airflow ile iskele oluşturma ve düzenleme

İş hattınız şu anda ayrı adımlardan oluşuyor: bir alım not defteri, bir dbt dönüşüm projesi ve bir toplu çıkarım not defteri. Bu grafiği üretime hazır hale getirmek için bunları planlanmış bir bağımlılık grafiğinde birleştirirsiniz.

Apache Airflow için Yönetilen Hizmet (eski adıyla Cloud Composer), bu iş akışı için yönetilen bir düzenleme motoru sağlar. Veri Aracısı Kiti, bildirim temelli YAML ardışık düzen tanımlarını doğrudan Airflow DAG'lerine çeviren bir Orchestration Pipelines özelliği içerir.

Ardışık düzeni tanımlama

Orkestrasyon işlem hattı yapılandırmasını oluşturmak için aracı kullanın:

  1. Agent Chat'te (Temsilci Sohbeti) aşağıdaki istemi girin (${PROJECT_ID} yerine kendi değerinizi girmeyi unutmayın):
Initialize and define an orchestration pipeline (fraud_analysis_pipeline) triggering
the ingestion notebook, dbt project, and inference notebook in sequential order.
For Dataproc Serverless engine configs in us-central1, use resourceProfile.inline
(defining properties with spark.jars: "gs://spark-lib/spanner/spark-3.5-spanner-1.4.0.jar"
for inference) rather than resourceProfile.path or overrides.

Set the schedule interval to run daily at midnight, and use
gs://${PROJECT_ID}-airflow-artifacts for artifact storage.

DAG yapılandırmasını inceleyin

Data Agent Kit Orchestrator, ardışık düzenleri Apache Airflow'a tanımlamak ve dağıtmak için bildirim temelli YAML yapılandırmalarını kullanır. Bu sayede tanımların sürüm kontrolü yapılabilir ve CI/CD üzerinden dağıtılabilir.

IDE Explorer bölmesinde, aracının çalışma alanınızın kök dizininde oluşturduğu iki işlem hattı dosyasını inceleyin:

  1. deployment.yaml: Bu dosyayı açın. Bu, ortam kayıt defteriniz olarak kullanılır. Mantıksal dev ardışık düzeninizi cymbal-airflow ortamıyla eşler, yürütme bölgesini (us-central1) ayarlar ve derlenmiş DAG'lerin ve bağımlılıkların hazırlandığı artifact_storage paketini tanımlar.
  2. fraud_analysis_pipeline.yaml: Bu dosyayı açın. Bu, yürütme grafiğini tanımlar. Tetikleyici programını (interval: '0 0 * * *') belirtir ve actions bloğundaki üç adımı sıralar:
    • Dataproc Serverless üzerinde çalışan 01_ingestion.ipynb için bir alım notebook işlemi.
    • dbt_project dizinini hedefleyen bir dönüşüm pipeline işlemi ve alım adımını gösteren bir dependsOn bağımlılığı.
    • Spanner JAR özelliğini paketleyen, dbt adımını işaret eden dependsOn bağımlılığına sahip 03_inference.ipynb için bir çıkarım notebook işlemi.
  3. Ajan, oluşturulan bu öğeleri, yapılandırılan ve doğrulanan işlemleri özetleyerek düzenleyici bölmenizde Walkthrough (Adım Adım Açıklama) sekmesine de ekler.

Etkileşimli DAG yapılandırması

Data Agent Kit, Airflow DAG özelliklerini incelemek ve düzenlemek için ardışık düzen yapılandırmanızı etkileşimli bir görsel grafik olarak oluşturur.

  1. IDE etkinlik çubuğunda Google Cloud Data Agent Kit panelini açın.
  2. DATA ENGINEERING bölümünde Orchestration Pipelines seçeneğini genişletin.
  3. Görsel DAG tuvalini ana düzenleyicide açmak için fraud_analysis_pipeline.yaml simgesini tıklayın.

Orchestration DAG görsel tuvali

  1. En üstteki Schedule trigger düğümünü tıklayın. Sağ tarafta, ayrıştırılmış Cron dizesini (0 0 * * *) gösteren ve doldurma ile yakalama gibi parametreleri ayarlamanıza olanak tanıyan bir yapılandırma açılır.
  2. Not defteri görev düğümlerinden birini (ör. alma veya çıkarım adımı) tıklayın. Açılır pencere, belirli Dataproc Serverless yürütme eşlemelerini ve bağlayıcı özelliklerini gösterecek şekilde güncellenir.
  3. Düğüm bloğunun içindeki not defteri dosya adı köprüsüne (ör. 01_ingestion.ipynb) dikkat edin. Bu düğmeyi tıkladığınızda not defteri doğrudan düzenleyicinizde açılır.
  4. Orchestration Pipelines'ın altındaki sol kenar çubuğunda Deployment configuration simgesini tıklayın. Bu görünümde hedef dev ortam kümeniz ve çıkış GCS paketi yapılarınız gösterilir.

Bölüm Özeti: Aracıyla bir orkestrasyon işlem hattı yapılandırması oluşturdunuz ve etkileşimli bir görsel tuvalde alım, dbt ve çıkarım görevleri arasındaki bağımlılıkları tanımladınız.

8. Dağıtma, yürütme ve izleme

DAG yerel olarak tanımlandığında, kurulum sırasında sağlanan Managed Airflow ortamına bağlanır ve işlem hattını dağıtırsınız.

Managed Service for Apache Airflow'u yapılandırma

Dağıtmadan önce, uzantının yönetilen Airflow ortamınızı hedeflemesi için Veri Aracısı Kiti ayarlarında Scheduler bağlantısını yapılandırın:

  1. IDE etkinlik çubuğunda Google Cloud Data Agent Kit panelini açın.
  2. SETTINGS bölümünde Ayarlar'ı tıklayın.
  3. Sol menüden Planlayıcı'yı seçin.
  4. Ayarları yapılandırın:
    • Proje kimliği: Etkin proje kimliğinizi seçin.
    • Bölge: us-central1 seçeneğini belirleyin.
    • Ortam: cymbal-airflow simgesini seçin.
  5. Kaydet'i tıklayın.

Managed Service for Apache Airflow Ayarları

DAG'yi dağıtma

Artık yapılandırılan ardışık düzeni doğrudan görsel tuvalden Managed Airflow ortamınıza dağıtabilirsiniz:

  1. Google Cloud Data Agent Kit kenar çubuğunda DATA ENGINEERING > Orchestration Pipelines'ı genişletin ve fraud_analysis_pipeline.yaml'ı tıklayarak görsel DAG tuvalini açın.
  2. Tuval araç çubuğunun sağ üst köşesinde mavi Ardışık düzeni çalıştır düğmesini tıklayın.
  3. Ortam açılır menü seçicisinde dev öğesini seçin.
  4. Alt durum alanındaki (Running pipeline: Building pipeline locally...) ilerleme bildirimini inceleyin. Uzantı, DAG'nizi otomatik olarak derler, not defteri ve dbt öğelerini paketler ve bunları Managed Airflow ortamınızın GCS paketine yükler (bu işlem yaklaşık 3-4 dakika sürer).

Ardışık düzeni görsel tuvalden dağıtma

Çalıştırmayı izleme

Yerel derleme tamamlandıktan ve pop-up bildirimi Triggered a new run for pipeline... successfully onaylandıktan sonra canlı yürütmeyi izleyin:

  1. Google Cloud Data Agent Kit kenar çubuğunda DATA ENGINEERING > Orchestration Pipelines'ı genişletin.
  2. Pipelines management'ı (İşlem hattı yönetimi) tıklayın.
  3. İşlem hattı yönetimi tablosunda, yürütme geçmişini açmak için fraud_analysis_pipeline simgesini tıklayın.

Ardışık düzen yönetimine genel bakış

  1. Yürütme Geçmişi görünümünde, takvimden etkin çalıştırmayı seçin.
  2. Yürütme işlemi her bir ardışık düzen görevinde (alma, dbt dönüşümü ve çıkarım) ilerledikçe durum göstergeleri güncellenir ve görev süreleri doldurulur. Canlı yürütme çıkışını ve Airflow DAG günlüklerini incelemek için herhangi bir görevi tıklayın.

Canlı ardışık düzen yürütme geçmişi ve görev ayrıntıları

Bölüm Özeti: Airflow planlayıcı bağlantısını yapılandırdınız, uçtan uca analitik ardışık düzeninizi Managed Airflow'a dağıttınız ve canlı bir yürütmeyi izleyerek sistemi ham günlüklerden nihai Cloud Spanner tahminlerine kadar doğruladınız.

9. Temizleme

Bu codelab'de kullanılan kaynaklar için Google Cloud projenizin sürekli olarak ücretlendirilmesini önlemek istiyorsanız otomatik komut dosyasını kullanarak ortamı kaldırın.

  1. Terminal panelinde (veya Cloud Shell'de) komut dosyaları dizinine gidin ve şu komutu çalıştırın:
cd ~/devrel-demos/codelabs/agentic-data-labs/data-science/scripts
chmod +x teardown.sh
./teardown.sh
  1. Komut dosyası, silmeyi planladığı tüm kaynakları listeler ve onay ister:
    • Yönetilen Airflow Ortamı (cymbal-airflow)
    • Cloud Spanner Instance (cymbal-fraud)
    • BigQuery Veri Kümesi (transactions_dataset_evals)
    • Cloud Storage paketleri (gs://${PROJECT_ID}-fin-clearing-raw ve gs://${PROJECT_ID}-models)
    • Worker Service Account (composer-worker-sa)
  2. Onaylamak için y yazın. Sökme komut dosyası, sağlanan tüm GCP hizmetlerini kaldırır ve yerel dosyaları temizler.

10. Tebrikler!

Antigravity IDE'de Google Cloud Data Agent Kit ile eşli programlama yaparak Cloud Storage, BigQuery, Managed Service for Apache Spark (Spark Serverless), dbt, Cloud Spanner ve Managed Service for Apache Airflow'u kapsayan uçtan uca bir sahtekarlık algılama ardışık düzeni oluşturmuş olmalısınız.

Başarılarınız

  1. 📥 Apache Spark için Yönetilen Hizmet ve Veri Aracısı Kiti'ni kullanarak işlenmemiş işlem günlüklerini BigQuery tablosuna aktarın.
  2. 🧹 Veri kalitesi testleri içeren bir dbt projesi oluşturarak verileri tekilleştirip normalleştirdi.
  3. 🤖 RandomForestClassifier kullanarak dağıtılmış bir Random Forest modeli eğitti ve eğitilmiş modeli Cloud Storage'a aktardı.
  4. ⚡ Gelen işlemlerde toplu çıkarım yürütüldü ve yüksek riskli kayıtlar denetim incelemesi için Cloud Spanner'a yönlendirildi.
  5. 🔄 Apache Airflow için Yönetilen Hizmet ve IDE'nin görsel DAG yönetim araçlarını kullanarak iş akışını planlanmış bir Airflow DAG'si olarak düzenledi, dağıttı ve izledi.

Temel kavramlar

Kavram

Öğrendikleriniz

Veri Ajanı Kiti

PySpark not defterleri oluşturmak, dbt modellerini yapılandırmak ve Airflow DAG'lerini tanımlamak için doğal dil kullanarak IDE'de birlikte programlama

BigQuery

Analitik SQL, dbt dönüşümleri ve makine öğrenimi eğitimi için ölçeklenebilir tablo depolama

Spark Serverless

Dağıtılmış PySpark veri yükleme ve Random Forest makine öğrenimi eğitimi için sunucusuz yürütme

Cloud Spanner Bağlayıcısı

Toplu Spark çıkarım tahminlerini doğrudan operasyonel veritabanı inceleme sıralarına yazma

YAML DAG Bildirimleri

Bildirim temelli ardışık düzen tanımları, IDE'de etkileşimli Airflow görsel grafikleri olarak oluşturulur.

Görsel DAG Yönetimi

Ardışık düzen bağımlılıklarını inceleme, Managed Airflow'a dağıtma ve IDE'de canlı görev yürütme geçmişini izleme

Sonraki adımlar