Ana Veri Yönetiminde Basitleştirilmiş: Eşleşir & Üretken yapay zekadan yararlanın

1. Genel Bakış

Ana Veri Yönetimi nedir?

Ana Veri Yönetimi (MDM), kuruluşunuzun en kritik verileri için tek ve güvenilir bir doğru kaynak oluşturmakla ilgilidir. Her kitabın (veri noktası) doğru şekilde etiketlendiği, güncel olduğu ve kolayca bulunabildiği, titizlikle düzenlenmiş bir kitaplık hayal edin.

Ana veriler, bir şirketin operasyonları için gerekli olan temel işletme varlıklarını temsil eder. Ana verilerin temel öğeleri şunlardır:

  • İşletme varlıkları: İşletmenizin etrafında döndüğü isimler olan müşteriler, ürünler, tedarikçiler, konumlar ve çalışanlar gibi varlıklar
  • Tanımlayıcılar: Her öğenin sistemler arasında farklı ve izlenebilir olmasını sağlayan benzersiz tanımlayıcılar
  • Özellikler: Her bir varlığı tanımlayan özellikler (ör. müşterinin adresi, ürünün fiyatı vb.)

Ana verileri daha iyi anlamanıza yardımcı olmak için bunları işlemsel verilerle karşılaştıralım. İşlem verileri, tek tek etkinlikleri (satın alma, gönderim vb.) yakalar. Ana veriler ise ilgili öğeleri tanımlayarak bu etkinliklerin bağlamını sağlar. Örneğin, bir satış işlemi müşteri, ürün ve satış görevlisiyle ilgili ana verilere bağlanır.

Sağlam bir MDM uygulaması stratejik karar verme için gerekli olsa da bu süreç karmaşık ve kaynak yoğun olabilir. İşte bu noktada, üretken yapay zekanın dönüştürücü gücü, özellikle Gemini 1.0 Pro, Gemini 1.0 Pro Vision ve Gemini 1.5 Pro gibi modeller devreye giriyor.

2. Hedef

Bu codelab'de, Gemini 1.0 Pro'nun BigQuery herkese açık veri kümesinde bulunan citibike_stations verileri için zenginleştirme ve tekilleştirme gibi ana veri yönetimi uygulamalarını nasıl basitleştirdiğini göstereceksiniz.

Kullanacağınız öğeler

  1. BigQuery herkese açık veri kümesi bigquery-public-data.new_york_citibike.
  2. Gemini Function Calling (citibike_stations verileriyle kullanılabilen koordinatlar için Reverse Geocoding API'yi kullanarak adres bilgilerini alan bir Java Cloud Functions işlevi).
  3. BigQuery'deki Vertex AI Embeddings API ve Vector Search ile yinelenenleri tanımlama

Ne oluşturacaksınız?

  1. Kullanım alanı için bir BigQuery veri kümesi oluşturacaksınız. Bu veri kümesinde, herkese açık veri kümesi tablosundaki bigquery-public-data.new_york_citibike.citibike_stations verileri içeren bir açılış tablosu oluşturacaksınız.
  2. Adres standardizasyonu için Gemini işlev çağrısını içeren Cloud Functions işlevini dağıtırsınız.
  3. Zenginleştirilmiş adres verilerini, açılış sayfası tablolarında (bu gösterim için sağlanan iki kaynaktan) saklayacaksınız.
  4. Adres verilerinde Vertex AI Embeddings API'yi BigQuery'den çağıracaksınız.
  5. Yinelenen kayıtları belirlemek için BigQuery Vector Search'ü kullanacaksınız.

Aşağıdaki şemada, verilerin akışı ve uygulamayla ilgili adımlar gösterilmektedir.

Kullanım alanının üst düzey akışı

3. Şartlar

  • Chrome veya Firefox gibi bir tarayıcı
  • Faturalandırmanın etkin olduğu bir Google Cloud projesi.

4. Başlamadan önce

  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 .
  3. bq'nun önceden yüklendiği, Google Cloud'da çalışan bir komut satırı ortamı olan Cloud Shell'i kullanacaksınız. Google Cloud Console'un üst kısmından Cloud Shell'i etkinleştir'i tıklayın.

Cloud Shell'i etkinleştir düğmesinin resmi

  1. Cloud Shell'e bağlandıktan sonra aşağıdaki komutu kullanarak kimliğinizin doğrulandığını ve projenin proje kimliğinize ayarlandığını kontrol edin:
gcloud auth list
  1. gcloud komutunun projeniz hakkında bilgi sahibi olduğunu onaylamak için Cloud Shell'de aşağıdaki komutu çalıştırın.
gcloud config list project
  1. Projeniz ayarlanmamışsa ayarlamak için aşağıdaki komutu kullanın:
gcloud config set project <YOUR_PROJECT_ID>
  1. API'yi etkinleştirmek için Google Cloud Marketplace için Gemini'a gidin. Cloud Shell terminalinde aşağıdaki komutu da kullanabilirsiniz:
gcloud services enable cloudaicompanion.googleapis.com --project PROJECT_ID
  1. BigQuery, BigQuery Connection, Cloud Function, Cloud Run, Vertex AI ve Cloud Build API'lerinin etkinleştirildiğinden emin olun. gcloud komutuna alternatif olarak bu bağlantıyı kullanarak konsol üzerinden işlem yapabilirsiniz.

gcloud komutları ve kullanımı için belgelere bakın.

5. BigQuery veri kümesi ve harici bağlantı oluşturma

Veri kümesi ve Cloud kaynağı bağlantısı oluşturarak başlayalım.

BigQuery'deki veri kümesi, uygulamanızla ilgili tüm tabloların ve nesnelerin bulunduğu bir kapsayıcıdır.

Veri kümesi oluşturmak için aşağıdakileri yapın:

  1. Google Cloud Console'da BigQuery sayfasına gidin.
  2. Gezgin panelinde, veri kümesini oluşturmak istediğiniz projeyi seçin.
  3. İşlemler seçeneğini (dikey üç nokta simgesi) genişletin ve Veri kümesi oluştur'u tıklayın.

İşlemler menüsünün ve Veri kümesi oluştur seçeneğinin resmi

  1. Veri kümesi kimliği alanına mdm_gemini girin.
  2. Konum türünüzü Multi-region olarak ayarlayın ve varsayılan değeri (US(multiple regions in United States.) kabul edin.
  3. Veri kümesi oluştur'u tıklayın.
  4. Veri kümesinin oluşturulduğunu ve Gezgin bölmesinde proje kimliğinizin altında listelendiğini kontrol edin.

Cloud Function'ınızla etkileşim kurmak için BigQuery bağlantısı gerekir. Uzak işlev oluşturmak için BigQuery bağlantısı oluşturmanız gerekir. Bu codelab'de, Cloud Function aracılığıyla BigQuery'den modele erişmek için BigLake bağlantısını kullanacağız. BigLake bağlantıları, harici veri kaynağını bağlamaya yardımcı olurken ayrıntılı BigQuery erişim denetimini ve güvenliğini (bu örnekte Vertex AI Gemini Pro API) korur.

BigLake bağlantısını oluşturmak için aşağıdakileri yapın:

  1. BigQuery sayfasının Gezgin bölmesinde Ekle'yi tıklayın.

Harici bağlantı eklemek için EKLE düğmesinin vurgulandığı BigQuery Konsolu

  1. Harici veri kaynaklarına bağlantılar'ı tıklayın.
  2. Bağlantı türü listesinde Vertex AI uzak modelleri, uzak işlevler ve BigLake (Cloud Kaynağı) seçeneğini belirleyin.
  3. Connection ID (Bağlantı kimliği) alanına bağlantı adınızı gemini-bq-conn olarak girin.
  4. Konum türünüzü Multi-region olarak ayarlayın ve varsayılan değeri (US(multiple regions in United States.) kabul edin.
  5. Bağlantı oluştur'u tıklayın.
  6. Bağlantıya git'i tıklayın ve Bağlantı bilgileri bölmesindeki hizmet hesabı kimliğini kopyalayın.

Bağlantı bilgileri ekran görüntüsü

  1. IAM ve Yönetici sayfasına gidip Erişim izni ver'i tıklayın.
  2. Hizmet hesabı kimliğini New principles (Yeni ana hesaplar) alanına yapıştırın.
  3. Rol listesinden Vertex AI user rolünü seçin ve Kaydet'i tıklayın.

Hizmet hesabı ekran görüntüsüne erişim izni verme

Veri kümesini ve BigQuery bağlantısını başarıyla oluşturdunuz.

6. Gemini İşlev Çağrısı'nı (Java Cloud Functions işlevi) dağıtma

Gemini işlev çağrısı içeren Java Cloud Function'ı dağıtmak için aşağıdaki adımları uygulayın.

  1. Cloud Shell terminalinizde aşağıdaki komutu kullanarak github deposunu klonlayın:
git clone https://github.com/AbiramiSukumaran/GeminiFunctionCalling
  1. YOUR_API_KEY ve YOUR_PROJECT_ID yer tutucularını kendi değerlerinizle değiştirin.

Blogu buradan okursanız işlev çağrısı uygulamalarının Reverse Geocoding API'yi kullandığını öğrenebilirsiniz. Buradaki talimatları uygulayarak kendi API_KEY değerinizi oluşturabilirsiniz.

  1. Cloud Shell terminalinde, yeni klonlanan proje dizini GeminiFunctionCalling'e gidin ve Cloud Function'ı oluşturup dağıtmak için aşağıdaki ifadeyi çalıştırın:
gcloud functions deploy gemini-fn-calling --gen2 --region=us-central1 --runtime=java11 --source=. --entry-point=cloudcode.helloworld.HelloWorld --trigger-http

"Allow unauthenticated invocations" (Kimliği doğrulanmamış çağrılara izin ver) sorusu sorulduğunda "y" yazın. İdeal olarak, öneri doğrultusunda kurumsal uygulamalarınız için kimlik doğrulamayı ayarlarsınız. Ancak bu bir demo uygulaması olduğundan kimlik doğrulama yapmadan devam edeceğiz.

Çıkış, aşağıdaki biçimde bir REST URL'sidir:

https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/gemini-fn-calling

  1. Terminalden aşağıdaki komutu çalıştırarak bu Cloud Functions işlevini test edin:
gcloud functions call gemini-fn-calling --region=us-central1 --gen2 --data '{"calls":[["40.714224,-73.961452"]]}'

Rastgele örnek istem için yanıt:

 '{"replies":["{ \"DOOR_NUMBER\": \"277\", \"STREET_ADDRESS\": \"Bedford Ave\", \"AREA\":
 null, \"CITY\": \"Brooklyn\", \"TOWN\": null, \"COUNTY\": \"Kings County\", \"STATE\":
 \"NY\", \"COUNTRY\": \"USA\", \"ZIPCODE\": \"11211\", \"LANDMARK\": null}}```"]}'

Bu Cloud Functions işlevinin istek ve yanıt parametreleri, BigQuery'nin uzak işlev çağrısı özelliğiyle uyumlu olacak şekilde uygulanır. Doğrudan BigQuery verilerinden yerinde kullanılabilir. Bu, veri girişiniz (enlem ve boylam verileri) BigQuery'de bulunuyorsa verilerdeki uzak işlevi çağırabileceğiniz ve doğrudan BigQuery'de depolanabilen veya işlenebilen işlev yanıtını alabileceğiniz anlamına gelir.

  1. Bu dağıtılmış Cloud Functions işlevini çağıran bir uzak işlev oluşturmak için BigQuery'den aşağıdaki DDL'yi çalıştırın:
CREATE OR REPLACE FUNCTION
 `mdm_gemini.MDM_GEMINI` (latlng STRING) RETURNS STRING
 REMOTE WITH CONNECTION `us.gemini-bq-conn`
 OPTIONS (
   endpoint = 'https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/gemini-fn-calling', max_batching_rows = 1
 );

Oluşturulan yeni uzak işlevi kullanmak için test sorgusu:

SELECT mdm_gemini.MDM_GEMINI(latlong) from mdm_gemini.CITIBIKE_STATIONS limit 1;

BigQuery'de oluşturulan yeni uzak işlevi kullanan test sorgusu, Cloud Functions izinleriyle ilgili bir sorun nedeniyle başarısız olursa Google Cloud Console'dan Cloud Functions'a gidin ve "gemini-fn-calling" adlı dağıtılmış Cloud Functions işlevini bulun. İzinler sekmesine gidin, asıl öğeyi "allUsers" olarak ekleyin ve Cloud Functions'ın tüm kullanıcılar tarafından erişilebilir olduğundan emin olmak için "Cloud Functions Invoker" rolünü verin (yalnızca bu bir demo uygulaması olduğundan).

7. Geçici çözüm deneme

Ters coğrafi kodlama işlevi çağrısı yaklaşımı için gerekli API_KEY'ye sahip değilseniz veya Cloud Function'ı herhangi bir nedenle dağıtmadıysanız alternatif olarak aşağıdakileri yapabilirsiniz:

  1. Depodan CITIBIKE_STATIONS.csv dosyasını Cloud Shell proje klasörünüze indirip bu klasöre gidin.
  2. Cloud Shell Terminal'de aşağıdaki komutu kullanarak verileri CSV dosyasından yeni BigQuery veri kümenize mdm_gemini aktarın:
bq load --source_format=CSV --skip_leading_rows=1 mdm_gemini.CITIBIKE_STATIONS ./CITIBIKE_STATIONS.csv \ name:string,latlng:string,capacity:numeric,num_bikes_available:numeric,num_docks_available:numeric,last_reported:timestamp,full_address_string:string

8. Tablo oluşturma ve adres verilerini zenginleştirme

1. adım: Tabloyu oluşturun

Önemli: Tabloyu daha önce oluşturmuş olmanız gerektiğinden geçici çözümü kullandıysanız bu adımı atlayın.

Geçici çözümü kullanmadıysanız BigQuery SQL Düzenleyici'de aşağıdaki DDL'yi çalıştırın:

CREATE TABLE mdm_gemini.CITIBIKE_STATIONS as (
select  name, latitude || ',' || longitude as latlong, capacity, num_bikes_available, num_docks_available,last_reported,
'' as full_address_string
from bigquery-public-data.new_york_citibike.citibike_stations) ;

Şimdi de tablodaki enlem ve boylam koordinatlarında uzaktan işlevi çağırarak adres verilerini zenginleştirelim. Veriler için aşağıdaki koşulları ayarlayın:

  • 2024 yılında bildirilenler
  • Mevcut bisiklet sayısı > 0
  • Kapasite > 100

Aşağıdaki sorguyu çalıştırın:

update `mdm_gemini.CITIBIKE_STATIONS`
set full_address_string = `mdm_gemini.MDM_GEMINI`(latlong)
where EXTRACT(YEAR FROM last_reported) = 2024 and num_bikes_available > 0 and capacity > 100;

2. adım: Bisiklet istasyonu konum verileri için ikinci bir kaynak oluşturun

Tabloyu oluşturmak için geçici çözüm yaklaşımını kullandıysanız bile bu adımı atlamayın.

Bu adımda, bu codelab için bisiklet istasyonu konum verileriyle ilgili ikinci bir kaynak oluşturacaksınız. Bu, MDM'nin birden fazla kaynaktan gelen verileri bir araya getirdiğini ve doğru bilgiyi belirlediğini göstermek içindir.

BigQuery SQL Düzenleyici'de, içinde iki kayıt bulunan ikinci konum verileri kaynağını oluşturmak için aşağıdaki DDL'leri çalıştırın. Bu tabloya mdm_gemini.CITIBIKE_STATIONS_SOURCE2 adını verelim ve iki kayıt ekleyelim.

CREATE TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE2 (name STRING(55), address STRING(1000), embeddings_src ARRAY<FLOAT64>);

insert into mdm_gemini.CITIBIKE_STATIONS_SOURCE2 VALUES ('Location broadway and 29','{ "DOOR_NUMBER": "1593", "STREET_ADDRESS": "Broadway", "AREA": null, "CITY": "New York", "TOWN": null, "COUNTY": "New York County", "STATE": "NY", "COUNTRY": "USA", "ZIPCODE": "10019", "LANDMARK": null}', null);

insert into mdm_gemini.CITIBIKE_STATIONS_SOURCE2 VALUES ('Allen St & Hester','{ "DOOR_NUMBER": "36", "STREET_ADDRESS": "Allen St", "AREA": null, "CITY": "New York", "TOWN": null, "COUNTY": "New York County", "STATE": "NY", "COUNTRY": "USA", "ZIPCODE": "10002", "LANDMARK": null}', null);

9. Adres verileri için yerleştirilmiş öğeler oluşturma

Yerleştirmeler, metin parçası veya ses dosyası gibi belirli bir varlığı temsil eden yüksek boyutlu sayısal vektörlerdir. Makine öğrenimi (ML) modelleri, bu tür varlıklarla ilgili semantiği kodlamak için yerleştirmeleri kullanarak bunlar hakkında akıl yürütmeyi ve bunları karşılaştırmayı kolaylaştırır. Örneğin, kümeleme, sınıflandırma ve öneri modellerinde yaygın bir işlem, semantik olarak en benzer öğeleri bulmak için yerleştirme alanındaki vektörler arasındaki mesafeyi ölçmektir. Vertex AI metin yerleştirmeleri API'si, Vertex AI'da üretken yapay zekayı kullanarak metin yerleştirmeleri oluşturmanıza olanak tanır. Metin yerleştirmeleri, kelimeler ve kelime öbekleri arasındaki ilişkileri yakalayan metinlerin sayısal temsilleridir. Vertex AI Text Embeddings hakkında daha fazla bilgiyi burada bulabilirsiniz.

  1. Vertex AI metin yerleştirmeleri API'si için uzak model oluşturmak üzere aşağıdaki DDL'yi çalıştırın:
CREATE OR REPLACE MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`
REMOTE WITH CONNECTION `us.gemini-bq-conn`
OPTIONS (ENDPOINT = 'textembedding-gecko@latest');
  1. Uzak yerleştirme modeli hazır olduğuna göre, ilk kaynak için yerleştirmeler oluşturalım ve aşağıdaki sorguyu kullanarak bunları bir tabloda saklayalım:
CREATE TABLE `mdm_gemini.CITIBIKE_STATIONS_SOURCE1` AS (
SELECT *
FROM ML.GENERATE_EMBEDDING(
 MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`,
 ( select name, full_address_string as content from `mdm_gemini.CITIBIKE_STATIONS`
 where full_address_string is not null )
  )
);

Yeni bir tablo oluşturmak yerine, yerleştirme sonuç alanını daha önce oluşturduğunuz aynı mdm_gemini.CITIBIKE_STATIONS tablosunda da saklayabilirsiniz.

  1. CITIBIKE_STATIONS_SOURCE2 tablosundaki adres verileri için yerleştirme oluşturmak üzere aşağıdaki sorguyu çalıştırın:
update `mdm_gemini.CITIBIKE_STATIONS_SOURCE2` a set embeddings_src =
(
SELECT  ml_generate_embedding_result
FROM ML.GENERATE_EMBEDDING(
 MODEL `mdm_gemini.CITIBIKE_STATIONS_ADDRESS_EMB`,
 ( select name, address as content from `mdm_gemini.CITIBIKE_STATIONS_SOURCE2` ))
where name = a.name) where name is not null;

Bu işlem, ikinci kaynak için yerleştirmeler oluşturur. Yerleştirme alanını aynı tabloda CITIBIKE_STATIONS_SOURCE2 oluşturduğumuzu unutmayın.

  1. Kaynak veri tabloları 1 ve 2 için oluşturulan yerleştirmeleri görselleştirmek üzere aşağıdaki sorguyu çalıştırın:
select name,address,embeddings_src from `mdm_gemini.CITIBIKE_STATIONS_SOURCE2`;
select name,content,ml_generate_embedding_result from `mdm_gemini.CITIBIKE_STATIONS_SOURCE1`;

Şimdi de yinelemeleri belirlemek için vektör araması yapalım.

10. Yinelenen adresleri işaretlemek için vektör araması çalıştırma

Bu adımda, mdm_gemini.CITIBIKE_STATIONS_SOURCE2 tablosunun embeddings_src sütunundaki her bir veri satırıyla eşleşen en iyi iki yerleştirme için mdm_gemini.CITIBIKE_STATIONS_SOURCE1 tablosunun ml_generate_embedding_result sütununda adres yerleştirmelerini arayacaksınız.

Bunu yapmak için aşağıdaki sorguyu çalıştırın:

select query.name name1,base.name name2,
/* (select address from mdm_gemini.CITIBIKE_STATIONS_SOURCE2 where name = query.name) content1, base.content content2, */
distance
from VECTOR_SEARCH(
 TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE1,
 'ml_generate_embedding_result',
 (SELECT * FROM mdm_gemini.CITIBIKE_STATIONS_SOURCE2),
 'embeddings_src',
 top_k => 2
) where query.name <> base.name
order by distance desc;

Sorguladığımız tablo: mdm_gemini.CITIBIKE_STATIONS_SOURCE1 alanında ml_generate_embedding_result

Temel olarak kullandığımız tablo: mdm_gemini.CITIBIKE_STATIONS_SOURCE2 alanında embeddings_src

top_k: Döndürülecek en yakın komşuların sayısını belirtir. Varsayılan değer 10'dur. Negatif değerler sonsuz olarak kabul edilir. Bu da tüm değerlerin komşu olarak sayıldığı ve döndürüldüğü anlamına gelir.

distance_type: İki vektör arasındaki uzaklığı hesaplamak için kullanılacak metrik türünü belirtir. Desteklenen uzaklık türleri Öklid ve Kosinüs'tür. Varsayılan değer Öklit'tir.

Sorgunun sonucu aşağıdaki gibidir:

Sonuç Kümesi

Gördüğünüz gibi, bu işlev CITIBIKE_STATIONS_SOURCE2 içindeki iki satır için CITIBIKE_STATIONS_SOURCE1'den en yakın iki komşuyu (diğer bir deyişle en yakın kopyaları) listelemiştir. distance_type belirtilmediğinden Öklid olduğu varsayılır ve uzaklık, iki kaynak arasındaki adres METİN değerlerindeki uzaklıklar olarak okunur. En düşük uzaklık, en benzer adres metinleridir.

Aşağıdaki sorguyu kullanarak distance_type değerini Cosine olarak ayarlayalım:

select query.name name1,base.name name2,
/* (select address from mdm_gemini.CITIBIKE_STATIONS_SOURCE2 where name = query.name) content1, base.content content2, */
distance
from VECTOR_SEARCH(
 TABLE mdm_gemini.CITIBIKE_STATIONS_SOURCE1,
 'ml_generate_embedding_result',
 (SELECT * FROM mdm_gemini.CITIBIKE_STATIONS_SOURCE2),
 'embeddings_src',
 top_k => 2,distance_type => 'COSINE'
) where query.name <> base.name
order by distance desc;

Sorgunun sonucu aşağıdaki gibidir:

2. sonuç kümesi

Her iki sorgu (her iki mesafe türü) de mesafeye göre AZALAN şekilde sıralanır. Bu, sonuçları azalan mesafeye göre listelemek istediğimiz anlamına gelir. Ancak ikinci sorgunun mesafe sırasının tersine çevrildiğini fark edeceksiniz. Nedenini tahmin edebilir misiniz?

Evet!! Tebrikler! Kosinüs benzerliğinde, daha büyük bir sayı daha fazla benzerlik ve daha kısa mesafe anlamına gelir. Öklid uzaklığında, daha büyük bir sayı değerler arasındaki mesafenin daha fazla olduğu anlamına gelir.

MDM'yi anlama ve Öklid ile Kosinüs arasındaki farkı ve uygulamalarını anlama hakkında daha fazla bilgi ve ipucu için blogu okuyun.

11. Temizleme

Bu yayında kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız şu adımları uygulayın:

  1. Google Cloud Console'da Kaynakları yönetin sayfasına gidin.
  2. Proje listesinde silmek istediğiniz projeyi seçin ve Sil'i tıklayın.
  3. İletişim kutusunda proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.
  4. Projenizi tutmak istiyorsanız yukarıdaki adımları atlayın ve Cloud Functions'a giderek Cloud Functions işlevini silin. İşlevler listesinden silmek istediğiniz işlevi işaretleyin ve Sil'i tıklayın.

12. Tebrikler

Tebrikler! Birkaç MDM etkinliğini basitleştirilmiş ancak güçlü, deterministik ve güvenilir üretken yapay zeka özelliklerine dönüştürmede Gemini 1.0 Pro ve İşlev Çağırma'nın gücünü gösterdiniz. Artık bu bilgileri edindiğinize göre, aynı kullanım alanını veya diğer MDM işlevlerini uygulamak için başka yöntemler belirleyebilirsiniz. Doğrulayabileceğiniz veri kümeleri, doldurabileceğiniz bilgi boşlukları veya üretken yapay zeka yanıtlarınıza yerleştirilmiş yapılandırılmış aramalarla otomatikleştirilebilecek görevler var mı? Daha ayrıntılı bilgi için Vertex AI, BigQuery Remote Functions, Cloud Functions, Embeddings ve Vector Search belgelerine bakın. Bu projenin GitHub deposunu burada bulabilirsiniz. Bu bilgilerle neler yaptığınızı bize bildirin.