In-Place LLM Insights: 구조화된 데이터 분석 및 비정형 데이터 분석을 위한 BigQuery 및 Gemini

1. 소개

대규모 데이터 세트에는 유용한 정보가 포함되어 있지만 의미 있는 이해를 추출하는 것은 어려운 작업일 수 있습니다. 기존 분석 도구는 데이터 내의 스토리를 제대로 파악하는 데 도움이 되는 미묘한 인간적인 설명을 제공하지 못하는 경우가 많습니다. 데이터 웨어하우스에 점점 더 많은 비정형 데이터가 저장되고 있지만, 이 데이터는 인사이트를 얻기 위해 항상 액세스할 수 있는 것은 아닙니다. 구조화되지 않은 텍스트, 이미지, 동영상에는 비즈니스 성장에 도움이 되는 유용한 정보가 포함되어 있습니다. LLM은 설명, 감정 분석, 객체 감지 등을 제공하여 데이터를 이해하는 강력한 새로운 방법을 제공합니다. 멀티모달 모델이 등장하고 객체 테이블을 통해 BigQuery에 이미지 및 동영상과 같은 객체 데이터를 저장할 수 있게 되면서 Gemini 1.0 Pro(텍스트 기반 분석용) 및 Gemini 1.0 Pro Vision(텍스트 및 이미지/동영상 분석용)과 같은 강력한 LLM을 BigQuery와 통합하면 데이터 분석 방식을 혁신할 수 있습니다.

이 Codelab에서는 기업 데이터에서 LLM 통계를 도출하고 BigQuery 내에서 수천 개의 행으로 통계를 확장하는 다음 두 가지 방법을 살펴봅니다.

방법 1: 원격 모델 호출

  • SELECT 쿼리에서 ML.GENERATE_TEXT를 사용하여 BigQuery 내에서 Gemini 1.0 Pro를 호출합니다.
  • 모델이 이미 BigQuery에서 원격 모델로 제공되며 바로 사용하고 싶은 경우 이 방법을 사용하세요. BigQuery 문서에서 사용할 모델의 상태를 확인합니다.

방법 2: 원격 함수 구현

빌드할 항목

  • 원격 모델 호출 방법의 경우 BigQuery의 ML.GENERATE_TEXT 구조에서 Gemini 1.0 Pro의 원격 모델을 호출하여 인터넷 아카이브 도서 데이터 세트 (BigQuery에서 공개적으로 사용 가능)의 위치 요약기를 빌드합니다.

원격 모델 호출 흐름도

  • 원격 함수 구현 방법의 경우 기준 이미지에 대해 테스트 이미지를 검증하는 이미지 검사기를 빌드합니다. 이를 위해 테스트 이미지 스크린샷이 포함된 데이터 세트를 외부 테이블에 만들고 Gemini 1.0 Pro Vision에 기준 이미지와 비교하여 유효성을 검사하도록 요청합니다. 그런 다음 Gemini Pro Vision 호출을 구현하는 Java Cloud 함수를 만들고 BigQuery에서 원격 함수로 호출합니다.

원격 함수 구현 흐름 다이어그램

참고:

BigQuery에서 원격 모델로 사용할 수 있는 Vertex AI 생성형 AI 모델이 더 있을 수 있습니다. 즉, BigQuery에서 기본적으로 ML.GENERATE_TEXT 구조를 사용하여 이러한 모델에 액세스할 수 있습니다. 하지만 원격 모델을 사용할 수 있는 경우에도 항상 Cloud Functions로 사용 사례에 맞게 고급 맞춤설정을 빌드한 다음 BigQuery에서 이러한 모델에 원격 함수로 액세스할 수 있습니다.

BigQuery를 사용해야 하는 이유

BigQuery는 운영 오버헤드가 최소화된 상태로 바이트에서 페타바이트로 확장할 수 있는 서버리스 멀티 클라우드 데이터 웨어하우스이므로 ML 학습 데이터를 저장하는 데 적합합니다. 기본 제공되는 BigQuery 머신러닝 (BQML) 및 분석 기능을 사용하면 SQL 쿼리만 사용하여 코드 없이 예측을 생성할 수 있습니다. 또한 통합 쿼리를 사용하여 외부 소스의 데이터에 액세스할 수 있으므로 복잡한 ETL 파이프라인이 필요하지 않습니다.

BigQuery는 사용자가 구조화된 데이터, 반구조화된 데이터, 비구조화된 데이터를 분석하는 데 도움이 되는 완전 관리형 클라우드 데이터 웨어하우스입니다.

2. 요구사항

  • 브라우저(Chrome 또는 Firefox 등)
  • 결제가 사용 설정된 Google Cloud 프로젝트.

3. 시작하기 전에

  1. Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
  2. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요 .
  3. bq가 미리 로드되어 제공되는 Google Cloud에서 실행되는 명령줄 환경인 Cloud Shell을 사용합니다. Google Cloud 콘솔 상단에서 Cloud Shell 활성화를 클릭합니다.

Cloud Shell 활성화 버튼 이미지

  1. Cloud Shell에 연결되면 다음 명령어를 사용하여 이미 인증되었고 프로젝트가 프로젝트 ID로 설정되었는지 확인합니다.
gcloud auth list
  1. Cloud Shell에서 다음 명령어를 실행하여 gcloud 명령어가 프로젝트를 알고 있는지 확인합니다.
gcloud config list project
  1. 프로젝트가 설정되지 않은 경우 다음 명령어를 사용하여 설정합니다.
gcloud config set project <YOUR_PROJECT_ID>
  1. Google Cloud를 위한 Gemini Marketplace로 이동하여 API를 사용 설정합니다. Cloud Shell 터미널에서 다음 명령어를 사용할 수도 있습니다.
gcloud services enable cloudaicompanion.googleapis.com --project PROJECT_ID
  1. 다음 API가 사용 설정되어 있는지 확인합니다.
  • BigQuery
  • BigQuery 연결
  • Cloud 함수
  • Cloud Run
  • Vertex AI
  • Cloud Build
  • Cloud Storage API

gcloud 명령어를 사용하는 대신 이 링크를 사용하여 콘솔을 통해 진행할 수 있습니다.

gcloud 명령어 및 사용법은 문서를 참조하세요.

4. BigQuery 데이터 세트 및 외부 연결 만들기

먼저 데이터 세트와 Cloud 리소스 연결을 만들어 보겠습니다.

BigQuery의 데이터 세트는 애플리케이션의 모든 테이블과 객체를 위한 컨테이너입니다.

데이터 세트를 만들려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
  2. 탐색기 패널에서 데이터 세트를 만들 프로젝트를 선택합니다.
  3. 작업 옵션 (세로 생략 기호 아이콘)을 펼치고 데이터 세트 만들기를 클릭합니다.

작업 메뉴 및 데이터 세트 만들기 옵션 이미지

  1. 데이터 세트 만들기를 클릭합니다.
  2. 데이터 세트 ID 필드에 gemini_bq_fn를 입력합니다.
  3. 위치 유형을 Multi-region로 설정하고 기본값인 US(multiple regions in United States.을 수락합니다.
  4. 데이터 세트 만들기를 클릭합니다.
  5. 데이터 세트가 생성되어 탐색기 창의 프로젝트 ID 아래에 나열되어 있는지 확인합니다.

Cloud 함수와 상호작용하려면 BigQuery 연결이 필요합니다. 원격 함수를 만들려면 BigQuery 연결을 만들어야 합니다. 이 Codelab에서는 BigLake 연결을 사용하여 Cloud 함수를 통해 BigQuery에서 모델에 액세스합니다. BigLake 연결을 사용하면 세분화된 BigQuery 액세스 제어 및 보안을 유지하면서 외부 데이터 소스를 연결할 수 있습니다. 여기에서는 Vertex AI Gemini Pro API입니다.

BigLake 연결을 만들려면 다음 단계를 따르세요.

  1. BigQuery 페이지의 탐색기 창에서 추가를 클릭합니다.

외부 연결을 추가하기 위해 추가 버튼이 강조 표시된 BigQuery 콘솔

  1. 외부 데이터 소스에 연결을 클릭합니다.
  2. '연결 유형' 메뉴에서 Vertex AI 원격 모델, 원격 함수, BigLake (Cloud 리소스)를 선택합니다.
  3. 연결 ID 필드에 연결 이름을 gemini-bq-conn로 입력합니다.
  4. 위치 유형을 Multi-region로 설정하고 기본값인 US(multiple regions in United States.을 수락합니다.
  5. 연결 만들기를 클릭합니다.
  6. 연결로 이동을 클릭한 다음 연결 정보 창에서 서비스 계정 ID를 복사합니다.

연결 정보 스크린샷

  1. IAM 및 관리자 페이지로 이동하여 액세스 권한 부여를 클릭합니다.
  2. 새 주 구성원 필드에 서비스 계정 ID를 붙여넣습니다.
  3. 역할 목록에서 Vertex AI user 역할을 선택한 다음 저장을 클릭합니다.

서비스 계정에 대한 액세스 권한 부여 스크린샷

이제 데이터 세트와 BigQuery 연결을 만들었습니다. 다음으로 원격 모델 호출에 필요한 단계를 완료합니다.

5. 사용 사례 1. 원격 모델 호출: 원격 모델 호출 설정

데이터 세트와 연결을 만들었으므로 이제 Vertex AI Gemini Pro 기반 모델을 기반으로 BigQuery에서 모델을 만들어 보겠습니다. 이 실습을 마치면 SQL 쿼리만 사용하여 LLM 애플리케이션을 실행할 수 있습니다.

1단계: 원격 모델의 입력 데이터를 포함하는 BigQuery 테이블 만들기

BigQuery에서 공개적으로 사용할 수 있도록 제공하는 인터넷 자료실 도서 데이터 세트의 bigquery-public-data.gdelt_internetarchivebooks.1905 테이블에서 약 50개의 레코드를 저장할 수 있는 books 테이블을 데이터 세트에 만듭니다.

이렇게 하려면 BigQuery SQL 편집기 창에서 다음 DDL (데이터 정의 언어) 문을 실행하세요.

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

2단계 : BigQuery 모델 만들기

데이터 세트에 모델을 만듭니다. 이렇게 하려면 BigQuery SQL 편집기 창에서 다음 DDL을 실행합니다.

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

모델을 볼 수 있는 옵션으로 모델이 생성되는 것을 확인할 수 있습니다.

3단계 : 새로운 생성형 AI 애플리케이션 테스트하기

SELECT 쿼리에서 ML.GENERATE_TEXT 함수를 사용하여 원격 모델에 요청을 보냅니다.

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));

다음과 같은 결과가 표시됩니다.

BigQuery의 ML.GENERATE_TEXT 쿼리 결과

축하합니다. ML.GENERATE_TEXT 함수와 함께 원격 모델 (gemini-pro 모델 기반)을 사용하여 BigQuery 테이블의 텍스트 데이터를 분석하는 방법을 성공적으로 시연했습니다.

이제 BigQuery 원격 함수를 사용하여 다른 Vertex AI 모델을 사용해 보겠습니다. BigQuery에서 모델을 원격으로 사용하는 방식에 더 많은 맞춤설정과 유연성을 추가하고 싶다고 가정해 보겠습니다. 지원되는 모델은 BigQuery 문서에 나열되어 있습니다.

6. 사용 사례 2 원격 함수 구현: 원격 함수 구현 설정

이 연습에서는 Gemini 1.0 Pro Vision 기반 모델을 구현하는 Java Cloud 함수를 기반으로 BigQuery에서 함수를 만듭니다. 먼저 Gemini 1.0 Pro Vision 모델을 사용하여 이미지를 비교하는 Java Cloud Functions를 만들고 배포한 다음 배포된 Cloud Functions를 호출하는 BigQuery의 원격 함수를 만듭니다. BigQuery의 모든 원격 함수 실행에 동일한 절차를 따를 수 있습니다.

그럼 시작해 보겠습니다.

1단계: Java Cloud 함수 만들기

기준 이미지에 대해 테스트 이미지를 검증하기 위해 Java로 2세대 Cloud 함수를 빌드합니다. 기준 이미지는 BigQuery의 외부 테이블에 있는 테스트 이미지 스크린샷이 포함된 데이터 세트에 저장됩니다. Gemini Pro Vision 모델 (Java SDK)을 사용하여 이미지를 검증합니다. 그런 다음 Java Cloud 함수를 REST 엔드포인트에 배포합니다.

다음 단계를 따르세요.

  1. Cloud Shell 편집기를 실행합니다.
  2. 기존 편집기를 사용하는 경우 새 편집기 사용해보기를 클릭합니다.
  3. 상태 표시줄에서 Cloud Code - 로그인을 클릭합니다.
  4. Cloud Shell 편집기에서 Google Cloud API를 호출할 수 있도록 승인하라는 메시지가 표시되면 승인을 클릭합니다. 표시되는 메시지에 따라 Google 계정에 로그인합니다. 이제 Google Cloud에 연결되었습니다.
  5. Cloud Code 상태 표시줄에 프로젝트가 표시되지 않으면 Cloud Code - 로그인 > Google Cloud 프로젝트 선택을 클릭합니다. Cloud Functions를 만들 Google Cloud 프로젝트를 선택합니다. 프로젝트가 로드되고 Cloud Shell 편집기에서 활성 프로젝트가 됩니다.
  6. Cloud Code 상태 표시줄에서 활성 프로젝트 이름을 클릭합니다. 빠른 선택 메뉴가 표시되면 새 애플리케이션을 선택합니다.
  7. Create New Application 대화상자에서 Cloud Functions application을 선택합니다.

새 애플리케이션 만들기 팝업 페이지 1

  1. 템플릿을 선택하라는 메시지가 표시되면 Java: Hello World를 선택합니다.

새 애플리케이션 만들기 팝업 페이지 2

  1. 프로젝트 경로에 프로젝트 이름으로 Gemini-BQ-Function를 입력합니다. 프로젝트 구조가 새 Cloud Shell 편집기 뷰에 표시됩니다.

새 Java Cloud 함수 애플리케이션 프로젝트 구조

  1. <dependencies>... </dependencies> 태그 내에 필요한 종속 항목을 추가하거나 샘플 pom.xml 파일에서 종속 항목을 복사합니다.
  2. 클래스 이름을 HelloWorld.java에서 더 의미 있는 이름으로 변경합니다. GeminiBigQueryFunction.java이라고 가정해 보겠습니다. 패키지 이름을 적절하게 변경합니다.
  3. GeminiBigQueryFunction.Java 파일의 자리표시자 코드를 GitHub 저장소에 제공된 샘플 코드로 바꿉니다. 샘플 코드에서 <YOUR_PROJECT_ID> 변수를 프로젝트 ID로 바꿔야 합니다.
  4. Cloud Shell 터미널로 이동합니다. 프로젝트 디렉터리에 있는지 확인합니다. 그렇지 않으면 다음 명령어를 실행하여 프로젝트 디렉터리로 이동합니다.
cd Gemini-BQ-Function
  1. 다음 명령문을 실행하여 Cloud 함수를 빌드하고 배포합니다.
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. 터미널에서 다음 명령어를 실행하여 이 Cloud 함수를 테스트합니다.
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"]]}'

무작위 샘플 프롬프트에 대한 대답:

Cloud 함수의 JSON 응답 문자열

좋습니다. Gemini Pro Vision 모델 구현을 위한 일반 Cloud Functions가 준비되었습니다. BigQuery 원격 함수 내에서 BigQuery 데이터에 이 엔드포인트를 직접 사용해 보겠습니다.

2단계: BigQuery 객체 테이블 및 원격 함수 만들기

선행 조건

이 실습 부분에는 Cloud Storage 버킷이 필요합니다. Cloud Storage 버킷을 만들려면 다음 단계를 따르세요.

  1. 버킷을 만들려면 Cloud Storage 콘솔로 이동하여 만들기를 클릭합니다.
  2. 버킷 이름으로 demo-bq-gemini-public-image를 입력하고 만들기를 클릭합니다.
  3. Enforce public access prevention on this bucket 옵션을 선택 해제합니다. 이 실습에서는 공개 액세스를 위해 이 버킷을 만들지만, 엔터프라이즈 사용 사례에서 필요에 따라 공개 액세스를 방지하고 특정 서비스 계정에 권한을 제공하는 것이 좋습니다.
  4. 버킷이 생성되면 권한 탭으로 이동하여 권한을 확인하고 변경합니다.
  5. 주 구성원을 추가하려면 액세스 권한 부여를 클릭합니다. 특정 계정에 권한을 부여하려면 서비스 계정 ID를 지정하고, 버킷에 공개 액세스 권한을 부여하려면 allUsers를 지정합니다.
  6. Storage Object Viewer 역할을 선택하고 저장을 클릭합니다. 메시지가 표시되면 공개 액세스를 허용하도록 선택합니다.
  7. 객체 탭으로 이동하여 기준 이미지와 비교할 테스트 이미지를 업로드합니다. 이 Codelab에서는 공개적으로 제공되는 baseline.JPG, TEST1.JPG, TEST2.JPG 객체를 업로드할 수 있습니다.

BigQuery 객체 테이블 만들기

이전에 만든 연결과 데이터 세트를 사용하여 버킷의 구조화되지 않은 데이터에 액세스하려면 BigQuery에서 외부 객체 테이블을 만듭니다. 이렇게 하려면 BigQuery 쿼리 편집기 창에서 다음 DDL (데이터 정의 언어) 문을 실행하세요.

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에서 원격 함수를 만들어 Gemini Pro Vision 모델을 구현하는 Java Cloud 함수를 호출합니다. 동일한 데이터 세트에 만듭니다. 이렇게 하려면 BigQuery 콘솔의 SQL 편집기 창에서 다음 DDL을 실행합니다.

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 URL입니다. 이렇게 하면 BigQuery에 원격 함수가 생성됩니다. 위 DDL에는 세 개의 매개변수가 있습니다. 처음 두 매개변수는 이전 단계에서 만든 객체 테이블에 저장된 이미지의 URL입니다. 마지막 매개변수는 모델 (Gemini Pro Vision)에 대한 프롬프트입니다. 이 서명을 파싱하는 데 사용되는 Java Cloud Functions 코드를 참고할 수 있습니다.

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에서 Gemini 호출하기

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%';  

TEST1TEST2 객체 파일로 위의 쿼리를 시도해 보세요. 다음과 비슷한 결과가 표시됩니다.

BigQuery 원격 함수 결과 스크린샷

참고용 이미지는 다음과 같습니다.

기준 이미지

테스트 사례의 기준 참조 이미지

테스트 이미지

테스트 사례의 테스트 이미지 1

두 이미지는 Duet AI 클라우드 콘솔 뷰를 가지고 있다는 점에서 유사하지만, 모델이 JSON 형식으로 가져온 텍스트는 서로 다릅니다.

이제 원격 함수 구현을 성공적으로 테스트했습니다.

7. 이점 및 사용 사례

구조화된 데이터 및 비구조화된 데이터 분석을 위해 BigQuery와 Gemini를 통합할 때의 이점을 살펴보겠습니다.

  • 데이터에 생성형 AI 적용: 데이터 이동, 중복, 복잡성 추가가 더 이상 필요하지 않습니다. 동일한 BigQuery 환경 내에서 데이터를 분석하고 인사이트를 생성할 수 있습니다.
  • 분석 기능 향상: Gemini의 자연어 설명은 데이터에 새로운 이해의 레이어를 추가하며, SQL 쿼리를 사용하여 이를 달성할 수 있습니다.
  • 확장성: 이 솔루션은 대규모 데이터 세트와 복잡한 분석을 손쉽게 처리하며 로우 코드 노력이 필요하지 않습니다.

이 기술은 다양한 분야에 적용할 수 있습니다. 분석 및 비즈니스 팀이 비교적 적은 노력과 리소스, 익숙한 언어와 도구를 사용하여 이러한 기능을 구현할 수 있는 금융 (시장 동향 분석), 소매 (고객 감정), 의료 (의료 보고서 요약) 등의 시나리오를 고려해 보세요.

8. 삭제

이 게시물에서 사용한 리소스의 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.
  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력하고 종료를 클릭하여 프로젝트를 삭제합니다.
  4. 프로젝트를 유지하려면 위의 단계를 건너뛰고 Cloud Functions로 이동하여 Cloud 함수를 삭제합니다. 함수 목록에서 삭제할 함수를 선택하고 삭제를 클릭합니다.

9. 축하합니다

축하합니다 BigQuery에 통합된 Gemini 모델을 사용하면 더 이상 데이터를 분석하는 데 그치지 않고 데이터 스토리텔러가 될 수 있습니다. 데이터 세트 내에서 숨겨진 설명을 생성하고 인사이트를 이해하는 방식을 바꿀 수 있습니다. 실험을 시작하세요! 이 기법을 자체 데이터 세트에 적용하여 데이터 내의 스토리를 발견하세요. BigQuery에서 객체 테이블 ( 외부 테이블)의 비정형 데이터를 지원하므로 Gemini Pro Vision을 사용하여 이미지 데이터에 대한 생성형 인사이트를 만들어 보세요. 자세한 안내는 Vertex AI, BigQuery 원격 함수, Cloud Functions 문서를 참고하세요. 이 프로젝트의 GitHub 저장소는 다음과 같습니다. 이 학습을 통해 무엇을 만들었는지 알려주세요.