In-Place LLM Insights: BigQuery & Gemini for Structured & تجزیه و تحلیل داده های بدون ساختار

۱. مقدمه

مجموعه داده‌های عظیم، بینش‌های ارزشمندی را در خود جای داده‌اند، اما استخراج درک معنادار می‌تواند کاری دلهره‌آور باشد. ابزارهای سنتی تجزیه و تحلیل اغلب در ارائه توضیحات ظریف و انسانی که به ما کمک می‌کند داستان درون داده‌هایمان را به درستی درک کنیم، کوتاهی می‌کنند. انبارهای داده، داده‌های بدون ساختار بیشتری را در خود جای داده‌اند، اما این داده‌ها همیشه برای کسب بینش در دسترس نبوده‌اند. متن، تصاویر و ویدیوهای بدون ساختار، اطلاعات ارزشمندی را برای تکامل کسب و کار شما در خود جای داده‌اند. LLMها روشی جدید و قدرتمند برای درک داده‌های شما ارائه می‌دهند که توضیحات، تحلیل احساسات، تشخیص اشیاء و موارد دیگر را ارائه می‌دهد. با ظهور مدل‌های چندوجهی (و امکان ذخیره داده‌های اشیاء مانند تصاویر و ویدیو در BigQuery از طریق جداول اشیاء)، ادغام LLMهای قدرتمندی مانند Gemini 1.0 Pro (برای تجزیه و تحلیل مبتنی بر متن) و Gemini 1.0 Pro Vision (برای تجزیه و تحلیل متن و تصویر/فیلم) با BigQuery می‌تواند نحوه تجزیه و تحلیل داده‌ها را متحول کند.

در این آزمایشگاه کد، به دو روش زیر برای استخراج بینش‌های LLM از داده‌های سازمانی شما و مقیاس‌بندی این بینش‌ها به هزاران ردیف در BigQuery خواهیم پرداخت:

روش ۱: فراخوانی مدل از راه دور

  • با استفاده از ML.GENERATE_TEXT در کوئری SELECT از داخل BigQuery، Gemini 1.0 Pro را فراخوانی کنید.
  • از این رویکرد زمانی استفاده کنید که مدل از قبل به عنوان یک مدل از راه دور در BigQuery موجود است و شما مایل به استفاده از آن به صورت آماده هستید. وضعیت مدلی را که می‌خواهید استفاده کنید در مستندات BigQuery بررسی کنید.

روش 2: پیاده‌سازی تابع از راه دور

  • یک تابع ابری را فراخوانی کنید که فراخوانی Gemini 1.0 Pro Vision را پیاده‌سازی می‌کند و به عنوان یک تابع از راه دور در BigQuery نمایش داده می‌شود.
  • از این رویکرد زمانی استفاده کنید که مدلی که می‌خواهید استفاده کنید، یا به صورت آماده به عنوان یک مدل از راه دور در دسترس نیست یا می‌خواهید انعطاف‌پذیری و سفارشی‌سازی بیشتری در مورد استفاده خود داشته باشید.

آنچه خواهید ساخت

  • برای روش فراخوانی مدل از راه دور (Remote Model Invocation )، با فراخوانی مدل از راه دور برای Gemini 1.0 Pro در ساختار ML.GENERATE_TEXT در BigQuery، یک خلاصه‌ساز مکان برای مجموعه داده‌های کتاب‌های بایگانی اینترنتی (که در BigQuery به صورت عمومی در دسترس است) خواهید ساخت.

نمودار جریان برای فراخوانی مدل از راه دور

  • برای روش پیاده‌سازی تابع از راه دور ، یک اعتبارسنج تصویر برای اعتبارسنجی تصاویر آزمایشی در برابر یک تصویر پایه ایجاد خواهید کرد. برای این کار، یک مجموعه داده حاوی تصاویر تصویر آزمایشی در یک جدول خارجی ایجاد می‌کنید و از Gemini 1.0 Pro Vision می‌خواهید که آن را در برابر تصویر پایه اعتبارسنجی کند. سپس، یک تابع ابری جاوا ایجاد می‌کنید که فراخوانی Gemini Pro Vision را پیاده‌سازی می‌کند و آن را به عنوان یک تابع از راه دور در BigQuery فراخوانی می‌کند.

نمودار جریان برای پیاده‌سازی تابع از راه دور

توجه:

ممکن است مدل‌های هوش مصنوعی مولد Vertex AI بیشتری به عنوان مدل‌های از راه دور در BigQuery موجود باشند. این بدان معناست که می‌توانید با استفاده از ساختار ML.GENERATE_TEXT از BigQuery به صورت پیش‌فرض به این مدل‌ها دسترسی داشته باشید. با این حال، حتی در صورت وجود مدل از راه دور، همیشه این گزینه را دارید که با استفاده از توابع ابری، سفارشی‌سازی‌های پیشرفته‌ای را برای مورد استفاده خود ایجاد کنید و سپس به عنوان توابع از راه دور از BigQuery به این مدل‌ها دسترسی پیدا کنید.

چرا بیگ‌کوئری؟

BigQuery یک انبار داده چند ابری و بدون سرور است که می‌تواند از بایت تا پتابایت با حداقل سربار عملیاتی مقیاس‌پذیر باشد و از این رو انتخابی عالی برای ذخیره داده‌های آموزشی یادگیری ماشین است. با استفاده از قابلیت‌های یادگیری ماشینی (BQML) و تحلیلی داخلی BigQuery، می‌توانید پیش‌بینی‌های بدون کد را فقط با استفاده از پرس‌وجوهای SQL ایجاد کنید. علاوه بر این، می‌توانید با پرس‌وجوهای فدرال به داده‌ها از منابع خارجی دسترسی پیدا کنید و نیاز به خطوط لوله ETL پیچیده را از بین ببرید.

بیگ‌کوئری (BigQuery) یک انبار داده ابری کاملاً مدیریت‌شده است که به کاربران کمک می‌کند داده‌های ساختاریافته، نیمه‌ساختاریافته و بدون ساختار را تجزیه و تحلیل کنند.

۲. الزامات

  • یک مرورگر، مانند کروم یا فایرفاکس
  • یک پروژه گوگل کلود با قابلیت پرداخت.

۳. قبل از شروع

  1. در کنسول گوگل کلود ، در صفحه انتخاب پروژه، یک پروژه گوگل کلود را انتخاب یا ایجاد کنید.
  2. مطمئن شوید که صورتحساب برای پروژه ابری شما فعال است. یاد بگیرید که چگونه بررسی کنید که آیا صورتحساب در یک پروژه فعال است یا خیر .
  3. شما از Cloud Shell ، یک محیط خط فرمان که در Google Cloud اجرا می‌شود و bq از قبل روی آن بارگذاری شده است، استفاده خواهید کرد. روی Activate Cloud Shell در بالای کنسول Google Cloud کلیک کنید.

تصویر دکمه فعال کردن Cloud Shell

  1. پس از اتصال به Cloud Shell، با استفاده از دستور زیر بررسی می‌کنید که آیا از قبل احراز هویت شده‌اید و پروژه روی شناسه پروژه شما تنظیم شده است یا خیر:
gcloud auth list
  1. دستور زیر را در Cloud Shell اجرا کنید تا تأیید شود که دستور gcloud از پروژه شما اطلاع دارد.
gcloud config list project
  1. اگر پروژه شما تنظیم نشده است، از دستور زیر برای تنظیم آن استفاده کنید:
gcloud config set project <YOUR_PROJECT_ID>
  1. برای فعال کردن API به Gemini for Google Cloud Marketplace بروید. همچنین می‌توانید از دستور زیر در ترمینال Cloud Shell استفاده کنید:
gcloud services enable cloudaicompanion.googleapis.com --project PROJECT_ID
  1. مطمئن شوید که API های زیر فعال هستند:
  • بیگ‌کوئری
  • اتصال بیگ‌کوئری
  • عملکرد ابری
  • اجرای ابری
  • هوش مصنوعی ورتکس
  • ساخت ابری
  • APIهای ذخیره‌سازی ابری

جایگزین استفاده از دستور gcloud، استفاده از کنسول با استفاده از این لینک است.

برای دستورات و نحوه‌ی استفاده از gcloud به مستندات مراجعه کنید.

۴. ایجاد یک مجموعه داده BigQuery و اتصال خارجی

بیایید با ایجاد یک مجموعه داده و یک اتصال به منابع ابری شروع کنیم.

یک مجموعه داده در BigQuery، ظرفی برای تمام جداول و اشیاء برنامه شما است.

برای ایجاد یک مجموعه داده ، موارد زیر را انجام دهید:

  1. به صفحه BigQuery در کنسول Google Cloud بروید.
  2. در پنل Explorer ، پروژه‌ای را که می‌خواهید مجموعه داده را در آن ایجاد کنید، انتخاب کنید.
  3. گزینه Actions (آیکون سه نقطه عمودی) را باز کنید و روی Create dataset کلیک کنید.

تصویر منوی اقدامات و گزینه ایجاد مجموعه داده

  1. روی ایجاد مجموعه داده کلیک کنید.
  2. در قسمت شناسه مجموعه داده، gemini_bq_fn را وارد کنید.
  3. نوع موقعیت مکانی خود را روی Multi-region تنظیم کنید و مقدار پیش‌فرض که US(multiple regions in United States.
  4. روی ایجاد مجموعه داده کلیک کنید.
  5. بررسی کنید که مجموعه داده ایجاد شده و در قسمت شناسه پروژه شما در پنجره اکسپلورر فهرست شده باشد.

برای تعامل با تابع ابری شما، به یک اتصال BigQuery نیاز است. برای ایجاد یک تابع از راه دور، باید یک اتصال BigQuery ایجاد کنید. در این آزمایشگاه کد، ما از اتصال BigLake برای دسترسی به مدل از BigQuery از طریق تابع ابری استفاده خواهیم کرد. اتصالات BigLake به اتصال منبع داده خارجی کمک می‌کنند و در عین حال کنترل دسترسی و امنیت دقیق BigQuery را حفظ می‌کنند، که در مورد ما Vertex AI Gemini Pro API است.

برای ایجاد اتصال BigLake ، موارد زیر را انجام دهید:

  1. در پنل اکسپلورر صفحه BigQuery، روی افزودن کلیک کنید.

کنسول BigQuery با دکمه ADD برجسته شده برای افزودن اتصال خارجی

  1. روی اتصال به منابع داده خارجی کلیک کنید.
  2. از منوی نوع اتصال، مدل‌های از راه دور Vertex AI، توابع از راه دور و BigLake (منبع ابری) را انتخاب کنید.
  3. در فیلد شناسه اتصال ، نام اتصال خود را به صورت gemini-bq-conn وارد کنید.
  4. نوع موقعیت مکانی خود را روی Multi-region تنظیم کنید و مقدار پیش‌فرض که US(multiple regions in United States.
  5. روی ایجاد اتصال کلیک کنید.
  6. روی «برو به اتصال» کلیک کنید و سپس شناسه حساب سرویس را در قسمت اطلاعات اتصال کپی کنید.

تصویر اطلاعات اتصال

  1. به صفحه IAM & Admin بروید و روی اعطای دسترسی کلیک کنید.
  2. شناسه حساب سرویس را در فیلد اصول جدید جایگذاری کنید.
  3. نقش Vertex AI user را از لیست نقش‌ها انتخاب کنید و سپس روی ذخیره کلیک کنید.

تصویر صفحه دسترسی به حساب سرویس

اکنون با موفقیت مجموعه داده و اتصال BigQuery را ایجاد کرده‌اید. در مرحله بعد، مراحل لازم برای فراخوانی مدل از راه دور را انجام خواهید داد.

۵. مورد استفاده شماره ۱: فراخوانی مدل از راه دور: تنظیم فراخوانی مدل از راه دور

اکنون که مجموعه داده و اتصال خود را ایجاد کرده‌اید، بیایید یک مدل در BigQuery بر اساس مدل پایه Vertex AI Gemini Pro ایجاد کنیم. در پایان این تمرین، برنامه LLM خود را فقط با استفاده از کوئری‌های SQL راه‌اندازی و اجرا خواهید کرد.

مرحله 1: یک جدول BigQuery ایجاد کنید که شامل داده‌های ورودی برای مدل از راه دور باشد

یک جدول به نام books در مجموعه داده خود ایجاد کنید که بتواند حدود ۵۰ رکورد از جدول bigquery-public-data.gdelt_internetarchivebooks.1905 در مجموعه داده Internet Archive Books که برای استفاده عمومی توسط BigQuery تهیه شده است را در خود جای دهد.

برای انجام این کار، عبارت DDL (زبان تعریف داده) زیر را از پنجره ویرایشگر BigQuery SQL اجرا کنید:

create or replace table gemini_bq_fn.books as (
select *
from
bigquery-public-data.gdelt_internetarchivebooks.1905 limit 50)

مرحله 2: ایجاد یک مدل BigQuery

یک مدل در مجموعه داده خود ایجاد کنید. برای انجام این کار، DDL زیر را از پنل BigQuery SQL Editor اجرا کنید:

CREATE MODEL `gemini_bq_fn.gemini_remote_model`
REMOTE WITH CONNECTION `us.gemini-bq-conn`
OPTIONS(ENDPOINT = 'gemini-pro');

مشاهده کنید که مدل با گزینه‌ای برای مشاهده مدل ایجاد شده است.

مرحله ۳: برنامه هوش مصنوعی مولد جدید خود را آزمایش کنید

از تابع ML.GENERATE_TEXT در یک پرس‌وجوی SELECT برای ارسال درخواست به مدل راه دور استفاده کنید.

SELECT ml_generate_text_llm_result as Gemini_Response, prompt as Prompt
FROM ML.GENERATE_TEXT(MODEL `gemini_bq_fn.gemini_remote_model`,
 (select 'You are a text summarizer and standardizer. From the following text that contains address locations, standardize and print one standardized, consolidated address. You cannot return empty because you know how to pick up sensible data from the text in this field: ' ||
substring(locations, 0, 200) as prompt
from `gemini_bq_fn.books`),
STRUCT(
 TRUE AS flatten_json_output));

شما باید نتیجه زیر را ببینید:

نتیجه پرس و جوی ML.GENERATE_TEXT در BigQuery

تبریک! شما با موفقیت نشان دادید که چگونه می‌توانید از یک مدل از راه دور (مبتنی بر مدل gemini-pro ) با تابع ML.GENERATE_TEXT برای تجزیه و تحلیل داده‌های متنی در جدول BigQuery استفاده کنید.

حالا بیایید یک مدل هوش مصنوعی Vertex دیگر را با استفاده از توابع از راه دور BigQuery امتحان کنیم. فرض کنید می‌خواهید سفارشی‌سازی و انعطاف‌پذیری بیشتری به نحوه استفاده از مدل از راه دور در BigQuery اضافه کنید. مدل‌های پشتیبانی شده در مستندات BigQuery فهرست شده‌اند.

۶. مورد استفاده شماره ۲ پیاده‌سازی تابع از راه دور: راه‌اندازی پیاده‌سازی تابع از راه دور

در این تمرین، شما یک تابع در BigQuery بر اساس Java Cloud Function ایجاد خواهید کرد که مدل پایه Gemini 1.0 Pro Vision را پیاده‌سازی می‌کند. ابتدا، Java Cloud Function را برای مقایسه تصاویر با استفاده از مدل Gemini 1.0 Pro Vision ایجاد و مستقر خواهید کرد و سپس تابع راه دور را در BigQuery ایجاد خواهید کرد که تابع ابر مستقر شده را فراخوانی می‌کند. به یاد داشته باشید که همین رویه را می‌توان برای هر اجرای تابع راه دور در BigQuery دنبال کرد.

پس، بیایید شروع کنیم!

مرحله 1: ایجاد تابع ابری جاوا

شما یک تابع ابری نسل دوم در جاوا برای اعتبارسنجی تصاویر آزمایشی در برابر یک تصویر پایه خواهید ساخت. تصویر پایه در یک مجموعه داده حاوی اسکرین‌شات‌های تصویر آزمایشی در یک جدول خارجی در BigQuery ذخیره می‌شود. شما تصاویر را با استفاده از مدل Gemini Pro Vision (Java SDK) اعتبارسنجی خواهید کرد. سپس تابع ابری جاوا را در یک نقطه پایانی REST مستقر خواهید کرد.

این مراحل را دنبال کنید:

  1. ویرایشگر Cloud Shell را اجرا کنید.
  2. اگر از ویرایشگر قدیمی استفاده می‌کنید، روی «ویرایشگر جدید را امتحان کنید» کلیک کنید.
  3. در نوار وضعیت، روی Cloud Code - Sign In کلیک کنید.
  4. اگر از شما خواسته شد که به ویرایشگر Cloud Shell اجازه دهید تا فراخوانی‌های Google Cloud API را انجام دهد، روی «مجاز کردن» کلیک کنید. برای ورود به حساب Google خود، دستورالعمل‌ها را دنبال کنید. اکنون به Google Cloud متصل شده‌اید.
  5. اگر پروژه خود را در نوار وضعیت Cloud Code نمی‌بینید، روی Cloud Code - Sign In > Select a Google Cloud project کلیک کنید. پروژه Google Cloud مورد نظر خود را برای ایجاد توابع Cloud انتخاب کنید. پروژه بارگذاری شده و به پروژه فعال در Cloud Shell Editor تبدیل می‌شود.
  6. در نوار وضعیت Cloud Code، روی نام پروژه فعال کلیک کنید. در منوی Quick Pick که ظاهر می‌شود، New Application را انتخاب کنید.
  7. در پنجره‌ی «ایجاد برنامه‌ی جدید» ، برنامه‌ی «توابع ابری» را انتخاب کنید.

صفحه پاپ‌آپ ایجاد برنامه جدید ۱

  1. وقتی از شما خواسته شد یک الگو انتخاب کنید، Java: Hello World را انتخاب کنید.

صفحه پاپ‌آپ ایجاد برنامه جدید ۲

  1. در مسیر پروژه، نام پروژه خود را Gemini-BQ-Function وارد کنید. ساختار پروژه در نمای جدید ویرایشگر پوسته ابری (Cloud Shell Editor) ظاهر می‌شود.

ساختار پروژه برنامه کاربردی جدید Java Cloud Function

  1. وابستگی‌های لازم را درون تگ <dependencies>... </dependencies> اضافه کنید یا وابستگی‌ها را از فایل نمونه pom.xml کپی کنید.
  2. نام کلاس خود را از HelloWorld.java به چیزی معنادارتر تغییر دهید. مثلاً GeminiBigQueryFunction.java . نام پکیج را نیز بر این اساس تغییر دهید.
  3. کد جایگزین (placeholder) در فایل GeminiBigQueryFunction.Java را با کد نمونه ارائه شده در مخزن GitHub جایگزین کنید. مطمئن شوید که متغیر <YOUR_PROJECT_ID> را با شناسه پروژه خود در کد نمونه جایگزین می‌کنید.
  4. به ترمینال Cloud Shell بروید. بررسی کنید که در دایرکتوری پروژه خود هستید. اگر اینطور نیست، با اجرای دستور زیر به دایرکتوری پروژه بروید:
cd Gemini-BQ-Function
  1. برای ساخت و استقرار تابع ابری، دستور زیر را اجرا کنید:
gcloud functions deploy gemini-bq-fn --gen2 --runtime java17 --trigger-http --entry-point cloudcode.helloworld.GeminiBigQueryFunction --allow-unauthenticated --source .

نقطه ورود در دستور را با نقطه ورود تابع خود جایگزین کنید. خروجی یک REST URL با فرمت زیر است:

https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/gemini-bq-fn
  1. با اجرای دستور زیر از ترمینال، این عملکرد ابری را آزمایش کنید:
gcloud functions call gemini-bq-fn --region=us-central1 --gen2 --data '{"calls":[["https://storage.googleapis.com/img_public_test/image_validator/baseline/1.JPG", "https://storage.googleapis.com/img_public_test/image_validator/test/2.JPG", "PROMPT_ABOUT_THE_IMAGES_TO_GEMINI"]]}'

پاسخ به سوال نمونه تصادفی:

رشته پاسخ JSON از تابع Cloud

عالیه! تابع عمومی Cloud برای پیاده‌سازی مدل Gemini Pro Vision آماده است. بیایید از این نقطه پایانی مستقیماً روی داده‌های BigQuery از درون یک تابع از راه دور BigQuery استفاده کنیم.

مرحله 2: ایجاد یک جدول شیء BigQuery و تابع از راه دور

پیش‌نیاز

برای این بخش از تمرین به یک فضای ذخیره‌سازی ابری نیاز دارید. برای ایجاد یک فضای ذخیره‌سازی ابری، این مراحل را دنبال کنید:

  1. برای ایجاد یک سطل، به کنسول Cloud Storage بروید و روی Create کلیک کنید.
  2. demo-bq-gemini-public-image به عنوان نام سطل خود وارد کنید و روی ایجاد کلیک کنید.
  3. گزینه‌ی « Enforce public access prevention on this bucket را غیرفعال کنید. اگرچه در این تمرین، این سطل را برای دسترسی عمومی ایجاد می‌کنید، توصیه می‌کنیم که از دسترسی عمومی جلوگیری کنید و مجوزهایی را برای حساب‌های خدماتی خاص، در صورت نیاز در موارد استفاده‌ی سازمانی خود، ارائه دهید.
  4. پس از ایجاد باکت، برای مشاهده و تغییر مجوزها به تب مجوزها بروید.
  5. برای افزودن مدیران اصلی، روی اعطای دسترسی کلیک کنید. یک شناسه حساب سرویس را برای اعطای مجوز به یک حساب خاص مشخص کنید یا allUsers برای اعطای دسترسی عمومی به سطل خود مشخص کنید.
  6. نقش Storage Object Viewer را انتخاب کرده و روی ذخیره کلیک کنید. در صورت درخواست، دسترسی عمومی را مجاز کنید.
  7. به برگه اشیاء بروید و تصاویر پایه و تصاویر آزمایشی را برای مقایسه آپلود کنید. برای این آزمایشگاه کد، می‌توانید اشیاء زیر را که در دسترس عموم هستند آپلود کنید: baseline.JPG ، TEST1.JPG و TEST2.JPG .

یک جدول شیء BigQuery ایجاد کنید

یک جدول شیء خارجی از BigQuery ایجاد کنید تا با استفاده از اتصال و مجموعه داده‌ای که قبلاً ایجاد کرده‌اید، به داده‌های بدون ساختار موجود در سطل دسترسی پیدا کنید. برای انجام این کار، عبارت DDL (زبان تعریف داده) زیر را از پنجره ویرایشگر پرس‌وجوی BigQuery اجرا کنید:

CREATE OR REPLACE EXTERNAL TABLE `gemini_bq_fn.image_validation`
WITH CONNECTION `us.gemini-bq-conn`
OPTIONS(object_metadata="SIMPLE", uris=["gs://demo-bq-gemini-public-image/*.JPG"]);

بررسی کنید که یک جدول شیء جدید به نام image_validation در مجموعه داده شما ایجاد شده باشد.

یک تابع از راه دور BigQuery ایجاد کنید

یک تابع از راه دور در BigQuery ایجاد کنید تا تابع ابری جاوا (Java Cloud Function) را که مدل Gemini Pro Vision را پیاده‌سازی می‌کند، فراخوانی کند. این تابع را در همان مجموعه داده ایجاد کنید. برای انجام این کار، DDL زیر را از پنل ویرایشگر SQL کنسول BigQuery اجرا کنید:

CREATE OR REPLACE FUNCTION `gemini_bq_fn.FN_IMAGE_VALIDATE` (baseline STRING, test STRING, prompt STRING) RETURNS STRING
 REMOTE WITH CONNECTION `us.gemini-bq-conn`
 OPTIONS (
   endpoint = 'https://us-central1-<your project id>.cloudfunctions.net/gemini-bq-fn',
   max_batching_rows = 1
 );

آدرس اینترنتی (URL) نقطه پایانی، آدرس اینترنتی REST است که قبلاً در این تمرین برگردانده شده است. این تابع راه دور را در BigQuery ایجاد می‌کند. سه پارامتر در DDL فوق وجود دارد. دو پارامتر اول، آدرس‌های اینترنتی تصاویر ذخیره شده در جدول شیء ایجاد شده در مرحله قبل هستند. پارامتر آخر، اعلان به مدل (Gemini Pro Vision) است. می‌توانید به کد توابع ابری جاوا که برای تجزیه این امضا استفاده می‌شود، مراجعه کنید:

Gson().fromJson(request.getReader(), JsonObject.class);
JsonArray calls_array = requestJson.getAsJsonArray("calls");
JsonArray calls = (JsonArray) calls_array.get(0);
String baseline_url = calls.get(0).toString().replace("\"", "");
String test_url = calls.get(1).toString().replace("\"", "");
String prompt_string = calls.get(2).toString();

فراخوانی جمینی از BigQuery

از تابع remote در یک پرس‌وجوی SELECT برای آزمایش اعتبارسنجی تصاویر در برابر اعلان استفاده کنید.

select gemini_bq_fn.FN_IMAGE_VALIDATE(
'https://storage.googleapis.com/demo-bq-gemini-public-image/Baseline.JPG',
REPLACE(uri, 'gs://', 'https://storage.googleapis.com/') ,
'You are an expert image validator who can respond with JSON result. Find 2 images here. The first one is the reference image. The second image is the test image. Compare the second image to see if the second image is similar to the first in terms of the text present in the image.  Respond ONLY in JSON Format with 3 attributes namely SIMILARITY which is a \"YES\" or \"NO\", SIMILARITY_SCORE which is a percentage and DIFFERENCE_COMMENT which is a string.' ) as IMAGE_VALIDATION_RESULT
from `gemini_bq_fn.image_validation`
where uri like '%TEST1%';  

کوئری بالا را با فایل‌های شیء TEST1 و TEST2 امتحان کنید. نتیجه‌ای مشابه زیر خواهید دید:

تصویر نتیجه عملکرد از راه دور BigQuery

در اینجا تصاویر برای مرجع شما آورده شده است:

تصویر پایه

تصویر مرجع پایه برای مورد آزمایشی

تصویر آزمایشی

تصویر آزمایشی ۱ برای مورد آزمایشی

توجه داشته باشید که هر دو تصویر از این نظر که نمای کنسول ابری Duet AI را دارند، مشابه هستند، اما متن هر دو متفاوت است، زیرا توسط مدل در قالب JSON ارائه شده است.

با این کار، شما با موفقیت پیاده‌سازی تابع از راه دور را آزمایش کرده‌اید.

۷. مزایا و موارد استفاده

بیایید به برخی از مزایای ادغام BigQuery و Gemini برای تجزیه و تحلیل داده‌های ساختاریافته و بدون ساختار نگاهی بیندازیم.

  • آوردن GenAI به داده‌های شما: دیگر خبری از جابجایی داده‌ها، تکرار و پیچیدگی‌های اضافی نیست. می‌توانید داده‌ها را تجزیه و تحلیل کرده و در همان محیط BigQuery به بینش برسید.
  • تجزیه و تحلیل پیشرفته: توضیحات زبان طبیعی Gemini لایه جدیدی از درک را به داده‌های شما اضافه می‌کند و می‌توانید با استفاده از پرس‌وجوهای SQL به این هدف دست یابید.
  • مقیاس‌پذیری: این راهکار، مجموعه داده‌های بزرگ و تحلیل‌های پیچیده را به راحتی و با کمترین کدنویسی مدیریت می‌کند.

کاربردهای این روش بسیار زیاد است. سناریوهایی را در حوزه‌های مالی (تحلیل روند بازار)، خرده‌فروشی (نظرات مشتری)، مراقبت‌های بهداشتی (خلاصه گزارش‌های پزشکی) و غیره در نظر بگیرید که در آن‌ها تیم‌های تحلیلی و تجاری شما می‌توانند این موارد را با تلاش، منابع نسبتاً کم و یک زبان و ابزار آشنا پیاده‌سازی کنند.

۸. تمیز کردن

برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این پست، این مراحل را دنبال کنید:

  1. در کنسول گوگل کلود، به صفحه مدیریت منابع بروید.
  2. در لیست پروژه‌ها، پروژه‌ای را که می‌خواهید حذف کنید انتخاب کنید و سپس روی «حذف» کلیک کنید.
  3. در کادر محاوره‌ای، شناسه پروژه را تایپ کنید و سپس برای حذف پروژه، روی خاموش کردن کلیک کنید.
  4. اگر می‌خواهید پروژه خود را حفظ کنید، مراحل بالا را رد کنید و با رفتن به Cloud Functions و از لیست توابع، تابع Cloud را که می‌خواهید حذف کنید، حذف کنید و روی Delete کلیک کنید.

۹. تبریک

تبریک می‌گویم. با ادغام مدل‌های Gemini در BigQuery، شما دیگر فقط داده‌های خود را تجزیه و تحلیل نمی‌کنید - شما یک قصه‌گوی داده‌ها هستید. می‌توانید روایت‌های پنهان را در مجموعه داده‌های خود ایجاد کنید و نحوه درک بینش‌های خود را تغییر دهید. شروع به آزمایش کنید! این تکنیک را در مجموعه داده‌های خود اعمال کنید و داستان‌های درون داده‌های خود را کشف کنید. با پشتیبانی BigQuery از داده‌های بدون ساختار در جداول شیء ( جداول خارجی )، سعی کنید از Gemini Pro Vision برای ایجاد بینش‌های تولیدی در مورد داده‌های تصویر استفاده کنید. برای راهنمایی عمیق‌تر به مستندات Vertex AI ، BigQuery Remote Functions و Cloud Functions مراجعه کنید. در اینجا مخزن github برای این پروژه آمده است. به ما اطلاع دهید که با این یادگیری چه چیزی می‌سازید!