1. Giriş
Bu laboratuvarda, film afişi resimlerini analiz etmek ve doğrudan BigQuery veri ambarında afişlere göre filmlerin özetlerini oluşturmak için uzak modellerle ( Gemini modelleri) çıkarım yapmak üzere BigQuery Makine Öğrenimi'ni nasıl kullanacağınızı öğreneceksiniz.
Yukarıdaki resimde: Analiz edeceğiniz film afişi resimlerinden bir örnek.
BigQuery, verilerinizden en yüksek değeri elde etmenize yardımcı olan, tamamen yönetilen, yapay zeka hazır bir veri analizi platformudur. Çok motorlu, çok biçimli ve çok bulutlu olacak şekilde tasarlanmıştır. Temel özelliklerinden biri, çıkarım için BigQuery Makine Öğrenimi'dir. Bu özellik, GoogleSQL sorgularını kullanarak makine öğrenimi (ML) modelleri oluşturmanıza ve çalıştırmanıza olanak tanır.
Google tarafından geliştirilen Gemini, çok formatlı kullanım alanları için tasarlanmış bir üretken yapay zeka modeli ailesidir.
GoogleSQL sorgularını kullanarak makine öğrenimi modellerini çalıştırma
Genellikle büyük veri kümelerinde makine öğrenimi veya yapay zeka (AI) kullanmak için kapsamlı programlama ve makine öğrenimi çerçeveleri hakkında bilgi sahibi olmanız gerekir. Bu durum, çözüm geliştirmeyi her şirketteki küçük bir uzman grubuyla sınırlandırır. SQL uygulayıcıları, çıkarım için BigQuery makine öğrenimi sayesinde model oluşturmak ve LLM'lerden ve Cloud AI API'lerinden sonuç elde etmek için mevcut SQL araçlarını ve becerilerini kullanabilir.
Ön koşullar
- Google Cloud Console hakkında temel düzeyde bilgi
- BigQuery deneyimi avantajdır
Neler öğreneceksiniz?
- Ortamınızı ve hesabınızı API'leri kullanacak şekilde yapılandırma
- BigQuery'de Cloud kaynağı bağlantısı oluşturma
- Film afişi resimleri için BigQuery'de veri kümesi ve nesne tablosu oluşturma
- BigQuery'de Gemini uzak modellerini oluşturma
- Gemini modelinden her poster için film özeti sağlamasını isteme
- Her posterde temsil edilen film için metin gömmeleri oluşturma
- Film afişi resimlerini veri kümesindeki benzer filmlerle eşleştirmek için BigQuery
VECTOR_SEARCH
'yi kullanma
Gerekenler
- Faturalandırmanın etkin olduğu bir Google Cloud Hesabı ve Google Cloud Projesi
- Chrome gibi bir web tarayıcısı
2. Kurulum ve Gereksinimler
Kendine ait tempoda ortam oluşturma
- Google Cloud Console'da oturum açın ve yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. Gmail veya Google Workspace hesabınız yoksa hesap oluşturmanız gerekir.
- Proje adı, bu projenin katılımcılarının görünen adıdır. Google API'leri tarafından kullanılmayan bir karakter dizesidir. Dilediğiniz zaman güncelleyebilirsiniz.
- Proje kimliği, tüm Google Cloud projelerinde benzersizdir ve değiştirilemez (ayarlandıktan sonra değiştirilemez). Cloud Console, benzersiz bir dize otomatik olarak oluşturur. Bu dizenin ne olduğu genellikle önemli değildir. Çoğu kod laboratuvarında proje kimliğinize (genellikle
PROJECT_ID
olarak tanımlanır) referans vermeniz gerekir. Oluşturulan kimliği beğenmezseniz rastgele başka bir kimlik oluşturabilirsiniz. Alternatif olarak, kendi anahtarınızı deneyerek kullanılabilir olup olmadığını görebilirsiniz. Bu adımdan sonra değiştirilemez ve proje boyunca geçerli kalır. - Bazı API'lerin kullandığı üçüncü bir değer (Proje Numarası) olduğunu belirtmek isteriz. Bu değerlerin üçü hakkında daha fazla bilgiyi dokümanlar bölümünde bulabilirsiniz.
- Ardından, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i çalıştırmak çok pahalı değildir. Bu eğitimden sonra faturalandırılmamak için kaynakları kapatmak istiyorsanız oluşturduğunuz kaynakları veya projeyi silebilirsiniz. Yeni Google Cloud kullanıcıları 300 ABD doları değerinde ücretsiz deneme programına uygundur.
Cloud Shell'i başlatma
Google Cloud, dizüstü bilgisayarınızdan uzaktan çalıştırılabilir. Ancak bu kod laboratuvarında, 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:
Ortam sağlanıp bağlantı kurulabilmesi için birkaç saniye beklemeniz gerekir. İşlem tamamlandığında aşağıdakine benzer bir ekran görürsünüz:
Bu sanal makinede ihtiyacınız olan tüm geliştirme araçları yüklüdür. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Bu sayede ağ performansını ve kimlik doğrulamayı büyük ölçüde iyileştirir. Bu codelab'deki tüm çalışmalarınızı tarayıcıda yapabilirsiniz. Hiçbir şey yüklemeniz gerekmez.
3. Başlamadan önce
BigQuery'de Gemini modelleriyle çalışmak için API'leri etkinleştirme, Cloud kaynak bağlantısı oluşturma ve Cloud kaynak bağlantısı için hizmet hesabına belirli izinler verme gibi birkaç kurulum adımı vardır. Bu adımlar proje başına bir kez uygulanır ve sonraki birkaç bölümde ele alınacaktır.
API'leri etkinleştirme
Cloud Shell'de proje kimliğinizin ayarlandığından emin olun:
gcloud config set project [YOUR-PROJECT-ID]
PROJECT_ID
ortam değişkenini ayarlama:
PROJECT_ID=$(gcloud config get-value project)
Vertex AI modelleri için varsayılan bölgenizi yapılandırın. Vertex AI'ın kullanılabildiği yerler hakkında daha fazla bilgi edinin. Örnekte us-central1
bölgesini kullanıyoruz.
gcloud config set compute/region us-central1
REGION
ortam değişkenini ayarlama:
REGION=$(gcloud config get-value compute/region)
Gerekli tüm hizmetleri etkinleştirin:
gcloud services enable bigqueryconnection.googleapis.com \
aiplatform.googleapis.com
Yukarıdaki tüm komutlar çalıştırıldıktan sonra beklenen çıkış:
student@cloudshell:~ (test-project-001-402417)$ gcloud config set project test-project-001-402417 Updated property [core/project]. student@cloudshell:~ (test-project-001-402417)$ PROJECT_ID=$(gcloud config get-value project) Your active configuration is: [cloudshell-14650] student@cloudshell:~ (test-project-001-402417)$ student@cloudshell:~ (test-project-001-402417)$ gcloud services enable bigqueryconnection.googleapis.com \ aiplatform.googleapis.com Operation "operations/acat.p2-4470404856-1f44ebd8-894e-4356-bea7-b84165a57442" finished successfully.
4. Bulut kaynağı bağlantısı oluşturma
Bu görevde, BigQuery'nin Cloud Storage'daki resim dosyalarına erişmesine ve Vertex AI'ya çağrı yapmasına olanak tanıyan bir Cloud Resource bağlantısı oluşturacaksınız.
- Google Cloud Console'da Gezinme menüsünde (
) BigQuery'yi tıklayın.
- Bağlantı oluşturmak için + EKLE'yi, ardından Harici veri kaynaklarına bağlantılar'ı tıklayın.
- Bağlantı türü listesinde Vertex AI uzak modelleri, uzak işlevler ve BigLake (Cloud Resource)'ı seçin.
- Bağlantı kimliği alanına bağlantınız için gemini_conn yazın.
- Konum türü için Çoklu bölge'yi, ardından açılır menüden ABD çoklu bölgesini seçin.
- Diğer ayarlar için varsayılanları kullanın.
- Bağlantı oluştur'u tıklayın.
- BAĞLANTILAR'A GİT'i tıklayın.
- Bağlantı bilgileri bölmesinde, hizmet hesabı kimliğini bir sonraki görevde kullanmak için bir metin dosyasına kopyalayın. Ayrıca, bağlantının BigQuery Explorer'da projenizin Harici Bağlantılar bölümüne eklendiğini görürsünüz.
5. Bağlantının hizmet hesabına IAM izinleri verme
Bu görevde, Cloud Resource bağlantısının hizmet hesabına bir rol aracılığıyla IAM izinleri vererek Vertex AI hizmetlerine erişmesine olanak tanırsınız.
- Google Cloud Console'un Gezinme menüsünde IAM ve Yönetici'yi tıklayın.
- Erişim İzni Ver'i tıklayın.
- Yeni yöneticiler alanına, daha önce kopyaladığınız hizmet hesabı kimliğini girin.
- Rol seçin alanına Vertex AI yazın ve ardından Vertex AI Kullanıcısı rolünü seçin.
- Kaydet'i tıklayın. Sonuç olarak, hizmet hesabı kimliği artık Vertex AI kullanıcı rolünü içerir.
6. Film afişi resimleri için BigQuery'de veri kümesini ve nesne tablosunu oluşturma
Bu görevde, proje için bir veri kümesi ve poster resimlerini depolamak üzere bu veri kümesinin içinde bir nesne tablosu oluşturacaksınız.
Bu eğitimde kullanılan film afişi resimlerinin veri kümesi, herkese açık bir Google Cloud Storage paketinde depolanmıştır: gs://cloud-samples-data/vertex-ai/dataset-management/datasets/classic-movie-posters
Veri kümesi oluşturma
Bu eğitimde kullanılan tablolar ve modeller dahil olmak üzere veritabanı nesnelerini depolamak için bir veri kümesi oluşturacaksınız.
- Google Cloud Console'da Gezinme menüsünü (
) ve ardından BigQuery'yi seçin.
- Gezgin panelinde, proje adınızın yanından İşlemleri göster'i (
) ve ardından Veri kümesi oluştur'u seçin.
- Veri kümesi oluştur bölmesinde aşağıdaki bilgileri girin:
- Veri kümesi kimliği: gemini_demo
- Konum türü: Çoklu bölge'yi seçin.
- Çoklu bölge: US'yi seçin
- Diğer alanları varsayılan değerlerinde bırakın.
- Veri Kümesi Oluştur'u tıklayın.
Sonuç olarak gemini_demo
veri kümesi oluşturulur ve BigQuery Explorer'da projenizin altında listelenir.
Nesne tablosunu oluşturma
BigQuery yalnızca yapılandırılmış verileri tutmaz, aynı zamanda nesne tabloları aracılığıyla yapılandırılmamış verilere (ör. poster resimleri) de erişebilir.
Bir Cloud Storage paketini işaretleyerek nesne tablosu oluşturursunuz. Oluşturulan nesne tablosunda, paketteki her nesne için depolama yolu ve meta verisi içeren bir satır bulunur.
Nesne tablosunu oluşturmak için bir SQL sorgusu kullanacaksınız.
- Yeni SQL sorgusu oluşturmak için + simgesini tıklayın.
- Sorgu düzenleyiciye aşağıdaki sorguyu yapıştırın.
CREATE OR REPLACE EXTERNAL TABLE
`gemini_demo.movie_posters`
WITH CONNECTION `us.gemini_conn`
OPTIONS (
object_metadata = 'SIMPLE',
uris = ['gs://cloud-samples-data/vertex-ai/dataset-management/datasets/classic-movie-posters/*']
);
- Sorguyu çalıştırın. Sonuç olarak,
gemini_demo
veri kümesine eklenen ve her film afişi resmininURI
(Cloud Storage konumu) ile yüklenen birmovie_posters
nesne tablosu elde edilir. - Gezgin'de
movie_posters
simgesini tıklayın ve şemayı ve ayrıntıları inceleyin. Belirli kayıtları incelemek için tabloyu sorgulayabilirsiniz.
7. BigQuery'de Gemini uzak modelini oluşturma
Nesne tablosu oluşturulduğuna göre artık bu tabloyla çalışmaya başlayabilirsiniz. Bu görevde, BigQuery'de kullanılabilmesi için Gemini 1.5 Flash için uzak bir model oluşturacaksınız.
Gemini 1.5 Flash uzaktan kumanda modelini oluşturma
- Yeni SQL sorgusu oluşturmak için + simgesini tıklayın.
- Sorgu düzenleyiciye aşağıdaki sorguyu yapıştırın ve çalıştırın.
CREATE OR REPLACE MODEL `gemini_demo.gemini_1_5_flash`
REMOTE WITH CONNECTION `us.gemini_conn`
OPTIONS (endpoint = 'gemini-1.5-flash')
Sonuç olarak gemini_1_5_flash
modeli oluşturulur ve modeller bölümünde gemini_demo
veri kümesine eklendiğini görürsünüz.
- Gezgin'de
gemini_1_5_flash
modelini tıklayın ve ayrıntıları inceleyin.
8. Gemini modelinden her poster için film özeti sağlamasını isteme
Bu görevde, film afişi resimlerini analiz etmek ve her film için özet oluşturmak üzere az önce oluşturduğunuz Gemini uzak modelini kullanacaksınız.
Parametrelerde modele referans vererek ML.GENERATE_TEXT
işlevini kullanarak modele istek gönderebilirsiniz.
Gemini 1.5 Flash modeliyle görüntüleri analiz etme
- Aşağıdaki SQL ifadesiyle yeni bir sorgu oluşturup çalıştırın:
CREATE OR REPLACE TABLE
`gemini_demo.movie_posters_results` AS (
SELECT
uri,
ml_generate_text_llm_result
FROM
ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_1_5_flash`,
TABLE `gemini_demo.movie_posters`,
STRUCT( 0.2 AS temperature,
'For the movie represented by this poster, what is the movie title and year of release? Answer in JSON format with two keys: title, year. title should be string, year should be integer. Do not use JSON decorators.' AS PROMPT,
TRUE AS FLATTEN_JSON_OUTPUT)));
Sorgu çalıştırıldığında BigQuery, Gemini modeline nesne tablosunun her satırı için istem gönderir ve görüntüyü belirtilen statik istemle birleştirir. Sonuç olarak movie_posters_results
tablosu oluşturulur.
- Şimdi sonuçları görüntüleyelim. Aşağıdaki SQL ifadesiyle yeni bir sorgu oluşturup çalıştırın:
SELECT * FROM `gemini_demo.movie_posters_results`
Sonuç olarak, her film afişi için URI
(film afişi resminin Cloud Storage konumu) içeren satırlar ve Gemini 1.5 Flash modelinden filmin başlığını ve yayınlandığı yılı içeren bir JSON sonucu elde edilir.
Bu sonuçları, aşağıdaki sorguyu kullanarak daha kolay okunabilir bir şekilde alabilirsiniz. Bu sorgu, film başlığını ve gösterim yılını bu yanıtlardan yeni sütunlara almak için SQL'i kullanır.
- Aşağıdaki SQL ifadesiyle yeni bir sorgu oluşturup çalıştırın:
CREATE OR REPLACE TABLE
`gemini_demo.movie_posters_results_formatted` AS (
SELECT
uri,
JSON_VALUE(ml_generate_text_llm_result, "$.title") AS title,
JSON_VALUE(ml_generate_text_llm_result, "$.year") AS year
FROM
`gemini_demo.movie_posters_results` results )
Sonuç olarak movie_posters_result_formatted
tablosu oluşturulur.
- Oluşturulan satırları görmek için tabloyu aşağıdaki sorguyla sorgulayabilirsiniz.
SELECT * FROM `gemini_demo.movie_posters_results_formatted`
URI
sütunu sonuçlarının aynı kaldığını ancak JSON'un artık her satır için title
ve year
sütunlarına dönüştürüldüğünü fark edin.
Gemini 1.5 Flash modelinden film özeti isteğinde bulunma
Bu filmlerin her biri hakkında biraz daha bilgi edinmek isterseniz (ör. her filmin metin özetini) ne olur? Bu içerik üretme kullanım alanı, Gemini 1.5 Flash modeli gibi bir LLM modeli için mükemmeldir.
- Aşağıdaki sorguyu çalıştırarak her afiş için film özeti sağlamak üzere Gemini 1.5 Flash'ı kullanabilirsiniz:
SELECT
uri,
title,
year,
prompt,
ml_generate_text_llm_result
FROM
ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_1_5_flash`,
(
SELECT
CONCAT('Provide a short summary of movie titled ',title, ' from the year ',year,'.') AS prompt,
uri,
title,
year
FROM
`gemini_demo.movie_posters_results_formatted`
LIMIT
20 ),
STRUCT(0.2 AS temperature,
TRUE AS FLATTEN_JSON_OUTPUT));
Sonuçlardaki ml_generate_text_llm_result
alanına dikkat edin. Bu alan, filmin kısa bir özetini içerir.
9. Uzak model kullanarak metin gömmeleri oluşturma
Artık oluşturduğunuz yapılandırılmış verileri deponuzdaki diğer yapılandırılmış verilerle birleştirebilirsiniz. BigQuery'de bulunan herkese açık IMDB veri kümesi, izleyiciler tarafından verilen puanlar ve bazı örnek serbest biçimli kullanıcı yorumları da dahil olmak üzere filmlerle ilgili zengin miktarda bilgi içerir. Bu veriler, film afişleriyle ilgili analizinizi derinleştirmenize ve bu filmlerin nasıl algılandığını anlamanıza yardımcı olabilir.
Verileri birleştirmek için bir anahtara ihtiyacınız vardır. Bu durumda, Gemini modeli tarafından oluşturulan film adları IMDB veri kümesindeki adlarla tam olarak eşleşmeyebilir.
Bu görevde, her iki veri kümesinden de film başlıklarının ve yıllarının metin embeddings'lerini oluşturacak, ardından en yakın IMDB başlığını yeni oluşturduğunuz veri kümesindeki film afişi başlıklarıyla birleştirmek için bu embeddings'ler arasındaki mesafeyi kullanacaksınız.
Uzak modeli oluşturma
Metin yerleştirmelerini oluşturmak için text-multilingual-embedding-002 uç noktasını işaret eden yeni bir uzak model oluşturmanız gerekir.
- Aşağıdaki SQL ifadesiyle yeni bir sorgu oluşturup çalıştırın:
CREATE OR REPLACE MODEL `gemini_demo.text_embedding`
REMOTE WITH CONNECTION `us.gemini_conn`
OPTIONS (endpoint = 'text-multilingual-embedding-002')
Sonuç olarak text_embedding
modeli oluşturulur ve gezginde gemini_demo
veri kümesinin altında görünür.
Posterlerle ilişkili başlık ve yıl için metin yerleştirilmesi oluşturma
Artık bu uzak modeli, her film afişi başlığı ve yılı için bir yerleşik oluşturmak üzere ML.GENERATE_EMBEDDING
işleviyle kullanacaksınız.
- Aşağıdaki SQL ifadesiyle yeni bir sorgu oluşturup çalıştırın:
CREATE OR REPLACE TABLE
`gemini_demo.movie_posters_results_embeddings` AS (
SELECT
*
FROM
ML.GENERATE_EMBEDDING(
MODEL `gemini_demo.text_embedding`,
(
SELECT
CONCAT('The movie titled ', title, ' from the year ', year,'.') AS content,
title,
year,
uri
FROM
`gemini_demo.movie_posters_results_formatted` ),
STRUCT(TRUE AS flatten_json_output)));
Sonuç olarak, gemini_demo.movie_posters_results_formatted
tablosunun her satırı için birleştirilen metin içeriğinin yerleştirilmesini içeren movie_poster_results_embeddings
tablosu oluşturulur.
- Sorgunun sonuçlarını aşağıdaki yeni sorguyu kullanarak görüntüleyebilirsiniz:
SELECT * FROM `gemini_demo.movie_posters_results_embeddings`
Burada, model tarafından oluşturulan her filmin yerleştirmelerini (sayılarla temsil edilen vektörler) görürsünüz.
IMDB veri kümesinin bir alt kümesi için metin yerleştirmeleri oluşturma
Herkese açık bir IMDB veri kümesinden yalnızca 1935'ten önce yayınlanan filmleri (afiş resimlerinden filmlerin bilinen dönemi) içeren yeni bir veri görünümü oluşturursunuz.
- Aşağıdaki SQL ifadesiyle yeni bir sorgu oluşturup çalıştırın:
CREATE OR REPLACE VIEW
`gemini_demo.imdb_movies` AS (
WITH
reviews AS (
SELECT
reviews.movie_id AS movie_id,
title.primary_title AS title,
title.start_year AS year,
reviews.review AS review
FROM
`bigquery-public-data.imdb.reviews` reviews
LEFT JOIN
`bigquery-public-data.imdb.title_basics` title
ON
reviews.movie_id = title.tconst)
SELECT
DISTINCT(movie_id),
title,
year
FROM
reviews
WHERE
year < 1935)
Sonuç olarak, veri kümesinde 1935'ten önce yayınlanan tüm filmler için bigquery-public-data.imdb.reviews
tablosundaki farklı film kimliklerinin, başlıklarının ve yayınlanma yıllarının listesini içeren yeni bir görünüm elde edilir.
- Şimdi, önceki bölüme benzer bir işlem kullanarak IMDB'deki film alt kümesi için yerleştirmeler oluşturacaksınız. Aşağıdaki SQL ifadesiyle yeni bir sorgu oluşturup çalıştırın:
CREATE OR REPLACE TABLE
`gemini_demo.imdb_movies_embeddings` AS (
SELECT
*
FROM
ML.GENERATE_EMBEDDING( MODEL `gemini_demo.text_embedding`,
(
SELECT
CONCAT('The movie titled ', title, ' from the year ', year,'.') AS content,
title,
year,
movie_id
FROM
`gemini_demo.imdb_movies` ),
STRUCT(TRUE AS flatten_json_output) )
WHERE
ml_generate_embedding_status = '' );
Sorgunun sonucu, gemini_demo.imdb_movies
tablosunun metin içeriğinin yerleştirilmelerini içeren bir tablodur.
BigQuery'yi kullanarak film afişi resimlerini IMDB ile eşleme movie_id
VECTOR_SEARCH
Artık VECTOR_SEARCH
işlevini kullanarak iki tabloyu birleştirebilirsiniz.
- Aşağıdaki SQL ifadesiyle yeni bir sorgu oluşturup çalıştırın:
SELECT
query.uri AS poster_uri,
query.title AS poster_title,
query.year AS poster_year,
base.title AS imdb_title,
base.year AS imdb_year,
base.movie_id AS imdb_movie_id,
distance
FROM
VECTOR_SEARCH( TABLE `gemini_demo.imdb_movies_embeddings`,
'ml_generate_embedding_result',
TABLE `gemini_demo.movie_posters_results_embeddings`,
'ml_generate_embedding_result',
top_k => 1,
distance_type => 'COSINE');
Sorgu, gemini_demo.movie_posters_results_embeddings
tablosundaki her satır için gemini_demo.imdb_movies_embeddings
tablosundaki en yakın komşuyu bulmak üzere VECTOR_SEARCH
işlevini kullanır. En yakın komşu, iki yerleştirmenin ne kadar benzer olduğunu belirleyen kosinüs uzaklığı metriği kullanılarak bulunur.
Bu sorgu, film afişlerinde Gemini 1.5 Flash tarafından tanımlanan filmlerin her biri için IMDB veri kümesinde en benzer filmi bulmak amacıyla kullanılabilir. Örneğin, IMDB herkese açık veri kümesinde "Au Secours!" filmiyle en yakın eşleşmeyi bulmak için bu sorguyu kullanabilirsiniz. Bu sorgu, filme İngilizce başlığı olan "Help!" ile referans verir.
- IMDB herkese açık veri kümesinde sağlanan film derecelendirmeleriyle ilgili bazı ek bilgileri birleştirmek için yeni bir sorgu oluşturup çalıştırın:
SELECT
query.uri AS poster_uri,
query.title AS poster_title,
query.year AS poster_year,
base.title AS imdb_title,
base.year AS imdb_year,
base.movie_id AS imdb_movie_id,
distance,
imdb.average_rating,
imdb.num_votes
FROM
VECTOR_SEARCH( TABLE `gemini_demo.imdb_movies_embeddings`,
'ml_generate_embedding_result',
TABLE `gemini_demo.movie_posters_results_embeddings`,
'ml_generate_embedding_result',
top_k => 1,
distance_type => 'COSINE') DATA
LEFT JOIN
`bigquery-public-data.imdb.title_ratings` imdb
ON
base.movie_id = imdb.tconst
ORDER BY
imdb.average_rating DESC
Bu sorgu, önceki sorguya benzer. Belirli bir film afişiyle benzer filmleri bulmak için vektör yerleştirmeler adı verilen özel sayısal gösterimleri kullanmaya devam eder. Ancak, IMDB'nin herkese açık veri kümesinden ayrı bir tablodaki her bir en yakın komşu filmin ortalama puanını ve oy sayısını da birleştirir.
10. Tebrikler
Codelab'i tamamladığınız için tebrikler. BigQuery'de poster resimleriniz için başarılı bir şekilde bir nesne tablosu oluşturdunuz, uzak bir Gemini modeli oluşturdunuz, Gemini modelini resimleri analiz etmeye ve film özetleri sağlamaya teşvik etmek için modeli kullandınız, film başlıkları için metin yerleştirmeleri oluşturdunuz ve bu yerleştirmeleri kullanarak film afişi resimlerini IMDB veri kümesindeki ilgili film başlığıyla eşleştirdiniz.
Ele aldığımız konular
- Ortamınızı ve hesabınızı API'leri kullanacak şekilde yapılandırma
- BigQuery'de Cloud kaynağı bağlantısı oluşturma
- Film afişi resimleri için BigQuery'de veri kümesi ve nesne tablosu oluşturma
- BigQuery'de Gemini uzak modellerini oluşturma
- Gemini modelinden her poster için film özeti sağlamasını isteme
- Her posterde temsil edilen film için metin gömmeleri oluşturma
- Film afişi resimlerini veri kümesindeki benzer filmlerle eşleştirmek için BigQuery
VECTOR_SEARCH
'yi kullanma
Sonraki adımlar / Daha fazla bilgi