GSP1246

總覽
本實驗室將說明如何搭配使用 BigQuery 機器學習和遠端模型 (Gemini),以 SQL 擷取關鍵字、評估顧客評論的情緒,並利用零樣本或少量樣本提示來回應顧客評論。
BigQuery 是內建 AI 的全代管資料分析平台,專為多引擎、跨格式和多雲端的環境而設計,可充分發揮資料的價值。其中一項重要功能就是 BigQuery 機器學習,可使用 SQL 查詢或 Colab Enterprise 筆記本建立和執行機器學習 (ML) 模型。
Gemini 是由 Google DeepMind 開發的一系列生成式 AI 模型,專為多模態用途而設計。您可透過 Gemini API 存取 Gemini 模型。
此外,您將使用 Gemini 模型生成摘要,並從顧客評論圖片中擷取重要關鍵字。
目標
本實驗室的內容包括:
- 在 BigQuery 建立雲端資源連線。
- 在 BigQuery 建立資料集和資料表。
- 在 BigQuery 建立 Gemini 遠端模型。
- 撰寫提示詞,指示 Gemini 分析顧客評論文字中的關鍵字和情緒 (正面或負面)。
- 生成報表,計算正面和負面評論的數量。
- 回應顧客評論。
- 提示 Gemini 擷取每張顧客評論圖片的摘要和關鍵字。
設定和需求
瞭解以下事項後,再點選「Start Lab」按鈕
請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。
為了順利完成這個實驗室,請先確認:
- 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
- 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。
如何開始研究室及登入 Google Cloud 控制台
-
點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:
- 「Open Google Cloud console」按鈕
- 剩餘時間
- 必須在這個研究室中使用的臨時憑證
- 完成這個實驗室所需的其他資訊 (如有)
-
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」。
-
如有必要,請將下方的 Username 貼到「登入」對話方塊。
{{{user_0.username | "Username"}}}
您也可以在「Lab Details」窗格找到 Username。
-
點選「下一步」。
-
複製下方的 Password,並貼到「歡迎使用」對話方塊。
{{{user_0.password | "Password"}}}
您也可以在「Lab Details」窗格找到 Password。
-
點選「下一步」。
重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。
注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
-
按過後續的所有頁面:
- 接受條款及細則。
- 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
- 請勿申請免費試用。
Google Cloud 控制台稍後會在這個分頁開啟。
注意:如要使用 Google Cloud 產品和服務,請點選「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。
工作 1:建立雲端資源連線,授予 IAM 角色
在 BigQuery 建立雲端資源連線
在這項工作中,您會在 BigQuery 建立雲端資源連線,以便使用 Gemini 和 Gemini 系列模型。您也將調整角色設定,為雲端資源連線的服務帳戶授予 IAM 權限,這樣該服務帳戶就能使用 Vertex AI 服務。
開啟 BigQuery 控制台
- 在 Google Cloud 控制台中,依序選取「導覽選單」>「BigQuery」。
接著,畫面中會顯示「歡迎使用 Cloud 控制台中的 BigQuery」訊息方塊,當中會列出快速入門導覽課程指南的連結和版本資訊。
- 點選「完成」。
BigQuery 控制台會隨即開啟。
-
在「Explorer」窗格中點選「+ 新增資料」,然後在「搜尋資料來源」中輸入「Vertex AI」。
-
點選「Vertex AI」搜尋結果,然後點選「BigQuery Federation」。
-
在「連線類型」清單中,選取「Vertex AI 遠端模型、遠端函式和 BigLake (Cloud 資源)」。
-
在「連線 ID」欄位,為您的連線輸入 gemini_conn。
-
針對「位置類型」選取「多區域」,然後從下拉式選單中選取「美國」(多個區域)。
-
其他設定均保留預設值。
-
點選「建立連線」。
-
點選「前往連線」。
-
在「連線資訊」窗格,將服務帳戶 ID 複製到文字檔案,方便在下一項工作中使用。在 BigQuery Explorer,您也會看到該連線已新增至專案的「外部連線」專區。
為連線的服務帳戶授予 Vertex AI 使用者角色
-
在控制台的導覽選單,點選「IAM 與管理」。
-
按一下「授予存取權」。
-
在「新增主體」欄位,輸入先前複製的服務帳戶 ID。
-
在「請選擇角色」欄位輸入 Vertex AI,然後選取「Vertex AI 使用者」角色。
-
點選「儲存」。
服務帳戶現在具備 Vertext AI 使用者角色。
點選「Check my progress」,確認目標已達成。
建立雲端資源連線,授予 IAM 角色。
工作 2:查看圖片和檔案,為服務帳戶授予 IAM 角色
在這項工作中,您將查看資料集和圖片檔,然後為雲端資源連線的服務帳戶授予 IAM 權限。
查看 Cloud Storage 中的圖片檔和顧客評論資料集
在開始執行這項工作、為資源連線服務帳戶授予權限前,請先查看資料集和圖片檔。
-
點選控制台中的導覽選單圖示 (
),然後選取「Cloud Storage」。
-
點選「bucket」,然後選取「-bucket」bucket。
-
開啟 bucket 中的 gsp1246 資料夾,您會看到兩個項目:
-
images 資料夾包含所有即將分析的圖片檔。您可以開啟資料夾並查看圖片檔。
-
customer_reviews.csv 檔案是含有顧客評論文字的資料集。
注意事項:您可以使用各個圖片檔和 customer_reviews.csv 檔案的驗證網址,下載及查看個別項目。
為連線的服務帳戶授予 IAM Storage 物件管理員角色
請先為資源連線的服務帳戶授予 IAM 權限,再開始使用 BigQuery,這樣能確保在執行查詢時,不會遇到存取遭拒錯誤。
-
返回 bucket 的根層級。
-
按一下「權限」。
-
按一下「授予存取權」。
-
在「新主體」欄位,輸入先前複製的服務帳戶 ID。
-
在「請選擇角色」欄位輸入 Storage 物件,然後選取「Storage 物件管理員」角色。
-
點選「儲存」。
現在服務帳戶會具備 Storage 物件管理員角色。
點選「Check my progress」,確認目標已達成。
查看圖片和檔案,為服務帳戶授予 IAM 角色。
工作 3:在 BigQuery 建立資料集和資料表
在這項工作中,您會建立專案資料集、顧客評論資料表和圖片物件資料表。
建立資料集
-
前往控制台,依序選取導覽選單圖示
和「BigQuery」。
-
在「Explorer」面板,請選取 的查看動作圖示
,然後選擇「建立資料集」。
建立資料集,即可儲存資料庫物件,包括資料表和模型。
-
在「建立資料集」窗格,輸入以下資訊:
| 欄位 |
值 |
| 資料集 ID |
gemini_demo |
| 位置類型 |
選取「多區域」
|
| 多區域 |
選取「US」
|
其他欄位均保留預設值。
-
點選「建立資料集」。
系統就會建立 gemini_demo 資料集,並在 BigQuery Explorer 中列於專案下方。
建立顧客評論資料表
為了建立顧客評論資料表,您會使用 SQL 查詢。
-
點選「+」圖示,建立新的 SQL 查詢。
-
在查詢編輯器貼上以下查詢。
LOAD DATA OVERWRITE gemini_demo.customer_reviews
(customer_review_id INT64, customer_id INT64, location_id INT64, review_datetime DATETIME, review_text STRING, social_media_source STRING, social_media_handle STRING)
FROM FILES (
format = 'CSV',
uris = ['gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1246/customer_reviews.csv']);
這項查詢會使用 LOAD DATA 陳述式,將 customer_reviews.csv 檔案從 Cloud Storage 載入 BigQuery 資料表,且包含指定的資料欄名稱和資料類型。
-
點選「執行」。
系統就會處理查詢,並建立 customer_reviews 資料表,其中包含資料集內每個評論的 customer_review_id、customer_id、location_id、review_datetime、review_text、social_media_source 和 social_media_handle。
-
在 Explorer 窗格點選「customer_reviews」資料表,查看結構定義和詳細資料。如要查看記錄,可以查詢資料表。
針對評論圖片建立物件資料表
為了建立物件資料表,您需使用 SQL 查詢。
-
點選 +,建立新的 SQL 查詢。
-
在查詢編輯器貼上以下查詢。
CREATE OR REPLACE EXTERNAL TABLE
`gemini_demo.review_images`
WITH CONNECTION `us.gemini_conn`
OPTIONS (
object_metadata = 'SIMPLE',
uris = ['gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1246/images/*']
);
-
執行查詢。
系統會將 review_images 物件資料表新增至 gemini_demo 資料表,並載入樣本資料集中每個音訊評論的 URI (Cloud Storage 位置)。
-
在 Explorer 點選「review_images」資料表,查看結構定義和詳細資料。如要查看特定記錄,可以查詢資料表。
點選「Check my progress」,確認目標已達成。
在 BigQuery 建立資料集、資料表和運算單元預留項目。
工作 4:在 BigQuery 建立 Gemini 模型
現在資料表已建立,可以開始使用了。在這項工作中,您將會在 BigQuery 建立 Gemini 模型。
建立 Gemini Flash 模型
-
點選「+」圖示,建立新的 SQL 查詢。
-
在查詢編輯器中,貼上並執行以下查詢。
CREATE OR REPLACE MODEL `gemini_demo.gemini_flash`
REMOTE WITH CONNECTION `us.gemini_conn`
OPTIONS (endpoint = '{{{project_0.startup_script.gemini_flash_model_id | model_id | disablehighlight}}}')
系統會建立 gemini_flash 模型,並新增至模型專區的 gemini_demo 資料集。
-
在 Explorer 點選「gemini_flash」模型,查看詳細資料和結構定義。
點選「Check my progress」,確認目標已達成。
在 BigQuery 建立 Gemini 模型。
工作 5:提示 Gemini 分析顧客評論的關鍵字和情緒
在這項工作中,您會使用 Gemini 模型,分析每個顧客評論的關鍵字和正/負面情緒。
分析顧客評論中的關鍵字
-
點選「+」圖示,建立新的 SQL 查詢。
-
在查詢編輯器中,貼上並執行以下查詢。
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_keywords` AS (
SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime
FROM
ML.GENERATE_TEXT(
MODEL `gemini_demo.gemini_flash`,
(
SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT(
'For each review, provide keywords from the review. Answer in JSON format with one key: keywords. Keywords should be a list.',
review_text) AS prompt
FROM `gemini_demo.customer_reviews`
),
STRUCT(
0.2 AS temperature, TRUE AS flatten_json_output)));
這項查詢會從 customer_reviews 資料表中擷取顧客評論,針對 gemini_flash 模型建立提示詞,找出每個評論中的關鍵字。接著,結果會儲存至新的資料表 customer_reviews_keywords。
請稍候,模型約需 30 秒來處理顧客評論記錄。
模型處理完畢後,就會建立 customer_reviews_keywords 資料表。
-
在 Explorer 點選「customer_reviews_keywords」資料表,查看結構定義和詳細資料。
-
點選「+」圖示,建立新的 SQL 查詢。
-
在查詢編輯器中,貼上並執行以下查詢。
SELECT * FROM `gemini_demo.customer_reviews_keywords`
系統就會顯示 customer_reviews_keywords 資料表中的多個資料列,且有 social_media_source、review_text、customer_id、location_id 和 review_datetime 等資料欄,而 ml_generate_text_llm_result 欄會包含關鍵字分析。
分析顧客評論中的正/負面情緒
-
點選「+」圖示,建立新的 SQL 查詢。
-
在查詢編輯器中,貼上並執行以下查詢。
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_analysis` AS (
SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime
FROM
ML.GENERATE_TEXT(
MODEL `gemini_demo.gemini_flash`,
(
SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT(
'Classify the sentiment of the following text as positive or negative.',
review_text, "In your response don't include the sentiment explanation. Remove all extraneous information from your response, it should be a boolean response either positive or negative.") AS prompt
FROM `gemini_demo.customer_reviews`
),
STRUCT(
0.2 AS temperature, TRUE AS flatten_json_output)));
這項查詢會從 customer_reviews 資料表中擷取顧客評論,針對 gemini_flash 模型建立提示詞,區分每個評論的情緒。查詢結果會儲存至新資料表 customer_reviews_analysis 中,您稍後可進一步用於分析。
請稍候,模型約需 20 秒來處理顧客評論記錄。
模型處理完畢後,就會建立 customer_reviews_analysis 資料表。
-
在 Explorer 點選「customer_reviews_analysis」資料表,查看結構定義和詳細資料。
-
點選「+」圖示,建立新的 SQL 查詢。
-
在查詢編輯器中,貼上並執行以下查詢。
SELECT * FROM `gemini_demo.customer_reviews_analysis`
ORDER BY review_datetime
系統就會顯示 customer_reviews_analysis 資料表中的多個資料列,且有 social_media_source、review_text、customer_id、location_id 和 review_datetime 等資料欄,而 ml_generate_text_llm_result 欄會包含情緒分析。
請查看記錄。您可能會發現某些正面和負面結果的格式有誤,含有句號或額外空格等不相關的字元。您可以使用下列 view 來清理記錄。
建立 view 來清理記錄
-
點選「+」圖示,建立新的 SQL 查詢。
-
在查詢編輯器中,貼上並執行以下查詢。
CREATE OR REPLACE VIEW gemini_demo.cleaned_data_view AS
SELECT
REPLACE(REPLACE(REPLACE(LOWER(ml_generate_text_llm_result), '.', ''), ' ', ''), '\n', '') AS sentiment,
REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(social_media_source, r'Google(\+|\sReviews|\sLocal|\sMy\sBusiness|\sreviews|\sMaps)?',
'Google'), 'YELP', 'Yelp'), r'SocialMedia1?', 'Social Media') AS social_media_source,
review_text,
customer_id,
location_id,
review_datetime
FROM
gemini_demo.customer_reviews_analysis;
這項查詢會建立名為 cleaned_data_view 的 view,內含情緒結果、評論文字、顧客 ID 和地點 ID。接著,查詢會擷取情緒結果 (正面或負面)、確保所有英文字母均改為小寫,並移除額外空格或句號等不相關的字元。這樣就能更輕鬆地在這個實驗室的後續步驟,進一步分析這個 view。
-
您可以對這個 view 使用下列查詢,查看已建立的資料列。
SELECT * FROM `gemini_demo.cleaned_data_view`
ORDER BY review_datetime
這項查詢的用意是擷取 cleaned_data_view view 中的所有資料,並根據評論的日期和時間依遞增順序排序。
建立正/負面評論數量的報表
-
您可以使用 BigQuery 建立長條圖報表,呈現正面和負面評論的數量。請使用下列查詢開始操作。
SELECT sentiment, COUNT(*) AS count
FROM `gemini_demo.cleaned_data_view`
WHERE sentiment IN ('positive', 'negative')
GROUP BY sentiment;
接著,系統會顯示正面和負面評論的數量。
-
如要建立長條圖報表來呈現數量,請點選 BigQuery 查詢結果專區中的「圖表」。BigQuery 會自動設定圖表,將圖表類型設為「長條圖」,「情緒」欄 (預測情緒為正面或負面) 和長條則會顯示數量。
按照社群媒體來源,呈現正面和負面評論的數量
-
您可以在 BigQuery 使用下方查詢,列出每個社群媒體來源的正/負面評論數量。
SELECT sentiment, social_media_source, COUNT(*) AS count
FROM `gemini_demo.cleaned_data_view`
WHERE sentiment IN ('positive') OR sentiment IN ('negative')
GROUP BY sentiment, social_media_source
ORDER BY sentiment, count;
點選「Check my progress」,確認目標已達成。
提示 Gemini 分析顧客評論中的關鍵字和情緒。
工作 6:回應顧客評論
您也可以使用 Gemini 回應顧客評論。在這項工作中,您會瞭解如何針對 customer_reviews 資料表中的特定評論,使用零樣本提示建立行銷回應,以及使用少量樣本提示建立顧客服務回應。
注意事項:如要瞭解詳情,請參閱 Google AI for Developers 說明文件的「零樣本和少量樣本提示」。
行銷回應
customer_id 5576 的顧客提供了以下回應:
這個地點很乾淨,也很吸引人。我還喜歡這裡有各種座位,這樣我偶爾想喝咖啡看書的時候就能窩著,工作時又可以選比較高的桌椅。
這顯然是正面評論,該如何使用回應這位顧客,獎勵對方留下正面評論的行為呢?
-
您可以搭配使用和下列查詢來達成目標。在查詢編輯器中,貼上並執行以下查詢。
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_marketing` AS (
SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime
FROM
ML.GENERATE_TEXT(
MODEL `gemini_demo.gemini_flash`,
(
SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT(
'You are a marketing representative. How could we incentivise this customer with this positive review? Provide a single response, and should be simple and concise, do not include emojis. Answer in JSON format with one key: marketing. Marketing should be a string.', review_text) AS prompt
FROM `gemini_demo.customer_reviews`
WHERE customer_id = 5576
),
STRUCT(
0.2 AS temperature, TRUE AS flatten_json_output)));
這項查詢的用意是分析 customer_reviews 資料表中的顧客評論,尤其是顧客 ID 5576 的評論。查詢會在執行時使用 Gemini,根據評論文字生成行銷建議,並將結果儲存在名為 customer_reviews_marketing 的新資料表。此資料表包含原始評論資料和生成的行銷建議,方便您分析和採取行動。
-
您可以執行下列 SQL 查詢,查看 customer_reviews_marketing 資料表中的詳細資料。
SELECT * FROM `gemini_demo.customer_reviews_marketing`
您會發現 ml_generate_text_llm_result 欄含有回應。
-
如要讓回應更容易閱讀,並針對回應採取行動,可以使用以下 SQL 查詢:
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_marketing_formatted` AS (
SELECT
review_text,
JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.marketing") AS marketing,
social_media_source, customer_id, location_id, review_datetime
FROM
`gemini_demo.customer_reviews_marketing` results )
-
您可以執行以下 SQL 查詢,查看資料表的詳細資料。
SELECT * FROM `gemini_demo.customer_reviews_marketing_formatted`
請留意 marketing 欄。您可以撰寫應用程式,擷取 marketing 欄中的回應,然後在通知中附加 10% 折扣優待券檔案,透過應用程式傳送至顧客帳戶。此外,也可以生成含有這些項目的電子郵件,寄給顧客。
顧客服務回應
customer_id 8844 的顧客提供了以下回應:
我對這間咖啡店的體驗非常令人失望。服務非常差,工作人員沒禮貌又粗心,我們等很久才拿到餐點。食物本身很普通,咖啡很淡,糕點也不新鮮。店內也很狹窄嘈雜,根本很難放鬆享受。最要命的是,價位還很高,導致整個體驗更糟了。不推薦來這裡。
這顯然是負面評論,您該如何使用 Gemini 回應這位顧客,並將顧客意見傳達給咖啡店,讓咖啡店採取行動呢?
-
您可以搭配使用 Gemini 和下列查詢來達成目標。在查詢編輯器中,貼上並執行以下查詢。
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_cs_response` AS (
SELECT ml_generate_text_llm_result, social_media_source, review_text, customer_id, location_id, review_datetime
FROM
ML.GENERATE_TEXT(
MODEL `gemini_demo.gemini_flash`,
(
SELECT social_media_source, customer_id, location_id, review_text, review_datetime, CONCAT(
'How would you respond to this customer review? If the customer says the coffee is weak or burnt, respond stating "thank you for the review we will provide your response to the location that you did not like the coffee and it could be improved." Or if the review states the service is bad, respond to the customer stating, "the location they visited has been notified and we are taking action to improve our service at that location." From the customer reviews provide actions that the location can take to improve. The response and the actions should be simple, and to the point. Do not include any extraneous or special characters in your response. Answer in JSON format with two keys: Response, and Actions. Response should be a string. Actions should be a string.', review_text) AS prompt
FROM `gemini_demo.customer_reviews`
WHERE customer_id = 8844
),
STRUCT(
0.2 AS temperature, TRUE AS flatten_json_output)));
這項查詢的用意是利用 Gemini 將客服回應自動化,並分析顧客評論,生成適當的回應和行動計畫。這是十分有力的例證,展現出 Google Cloud 可用於增進顧客服務和提升業務營運方式。執行查詢後,就會建立 customer_reviews_cs_response 資料表。
-
您可以執行以下 SQL 查詢,查看資料表的詳細資料。
SELECT * FROM `gemini_demo.customer_reviews_cs_response`
您會發現 ml_generate_text_llm_result 欄含有回應和行動,並顯示為兩個索引鍵。
-
如要更輕鬆閱讀這個資料欄,可以使用以下 SQL 查詢,在名為 customer_reviews_cs_response_formatted 的新資料表中,將回應和行動區分為兩個欄位:
CREATE OR REPLACE TABLE
`gemini_demo.customer_reviews_cs_response_formatted` AS (
SELECT
review_text,
JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.Response") AS Response,
JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.Actions") AS Actions,
social_media_source, customer_id, location_id, review_datetime
FROM
`gemini_demo.customer_reviews_cs_response` results )
-
您可以執行以下 SQL 查詢,查看資料表的詳細資料。
SELECT * FROM `gemini_demo.customer_reviews_cs_response_formatted`
您會發現系統已建立回應和行動欄位。您可以打造獨立的應用程式,向顧客和受到投訴的分店提供回應,方便該店採取改進措施,並通知顧客已順利傳達意見。
點選「Check my progress」,確認目標已達成。
回應顧客評論。
工作 7:提示 Gemini 提供每張圖片的關鍵字和摘要
在這項工作中,您將使用 Gemini 分析圖片,生成關鍵字和摘要。
使用 模型分析圖片
-
點選「+」圖示,建立新的 SQL 查詢。
-
在查詢編輯器中,貼上並執行以下查詢。
CREATE OR REPLACE TABLE
`gemini_demo.review_images_results` AS (
SELECT
uri,
ml_generate_text_llm_result
FROM
ML.GENERATE_TEXT( MODEL `gemini_demo.gemini_flash`,
TABLE `gemini_demo.review_images`,
STRUCT( 0.2 AS temperature,
'For each image, provide a summary of what is happening in the image and keywords from the summary. Answer in JSON format with two keys: summary, keywords. Summary should be a string, keywords should be a list.' AS PROMPT,
TRUE AS FLATTEN_JSON_OUTPUT)));
請稍候,模型約需 3 分鐘才能處理完畢。
模型處理完圖片後,就會建立 review_images_results 資料表。
-
在 Explorer 點選「review_image_results」資料表,查看結構定義和詳細資料。
-
點選「+」圖示,建立新的 SQL 查詢。
-
在查詢編輯器中,貼上並執行以下查詢。
SELECT * FROM `gemini_demo.review_images_results`
系統就會以資料列顯示每張評論圖片,並附上 URI (評論圖片的 Cloud Storage 位置) 和 JSON 結果,其中包含 Gemini Vision 模型生成的摘要和關鍵字。
您可以使用下方查詢,以較方便人類閱讀的方式擷取資料:
-
點選「+」圖示,建立新的 SQL 查詢。
-
在查詢編輯器中,貼上並執行以下查詢。
CREATE OR REPLACE TABLE
`gemini_demo.review_images_results_formatted` AS (
SELECT
uri,
JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.summary") AS summary,
JSON_QUERY(RTRIM(LTRIM(results.ml_generate_text_llm_result, " ```json"), "```"), "$.keywords") AS keywords
FROM
`gemini_demo.review_images_results` results )
系統就會建立 review_images_results_formatted 資料表。
-
您可以對這個資料表使用下列查詢,查看已建立的資料列。
SELECT * FROM `gemini_demo.review_images_results_formatted`
您會發現 URI 欄的結果維持不變,但每個資料列的 JSON 現已轉換為摘要和關鍵字資料欄。
點選「Check my progress」,確認目標已達成。
提示 Gemini 提供顧客評論圖片摘要和關鍵字。
恭喜!
您已成功在 BigQuery 建立雲端資源連線、也建立了資料集、資料表和模型,並提示 Gemini 分析顧客評論的情緒,取得正/負面評論數量的報表。接著透過零樣本和多樣本提示,使用 Gemini 回應了評論。最後您也利用 Gemini 模型分析圖片,生成摘要和關鍵字。
後續步驟/瞭解詳情
Google Cloud 教育訓練與認證
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2025 年 10 月 29 日
實驗室上次測試日期:2025 年 10 月 29 日
Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。