使用 BigQuery 串接 Vertex AI 進行文本生成 (分析 Google Cloud 公開資料庫)

閱讀時間約 6 分鐘

Overview

在文中將會使用 BigQueryhosted remote functionsVertex AI大型語言模型(LLM)進行文本生成(text-bison) 來分析並生成 GitHub 程式碼公開資料庫的摘要和程式語言識別。

資料庫來自 GitHub Archive Project,該項目包含超過 280 萬個開源 GitHub 存儲庫的完整快照,存儲在 Google BigQuery 公共數據集中。

Preparing the data

  1. 在 BigQuery 控制台中,點擊“+ADD”,點擊 “Public Datasets” 並搜索 “github_repos”。
  1. 在搜尋結果中,選擇 “GitHub Activity Data”,並點擊 “View Datasets


  1. 展開 github_repos 數據集並選擇 sample_contents 表,點擊 “Preview”,可以預覽部分的數據。


Create the BigQuery dataset

  1. 點擊 Project ID 旁的三個點,選擇 "Create Dataset"。
  2. 輸入 "bq_llm" 作為 Dataset ID,然後點擊 "Create Dataset",該 Dataset 將用於儲存下一步創建的模型。


Create the external connection

  1. 點擊 “+ ADD” 按鈕,選擇“Connections to external data sources”。
  2. 選擇連接類型為 “Vertex AI remote models, remote functions and BigLake (Cloud Resource)” 並將 Connection ID 設置為 “llm-connection”。
  3. 點擊 “CREATE CONNECTION”。


  1. 複製剛剛建立 Connection 的 Service Account ID
  2. 瀏覽到 IAM & Admin 的 console 頁面,在 IAM 頁面上點擊 “+ GRANT ACCESS”。
  3. 貼上 Connection 的 Service Account ID 並賦予 Vertex AI User 權限,點擊 “SAVE


Create a remote ML model

  1. 在 BigQuery 頁面,點擊 “+ Compose new query” ,建立一個新查詢。
  2. 輸入以下語法
CREATE OR REPLACE MODEL bq_llm.llm_model
REMOTE WITH CONNECTION `us.llm-connection`
OPTIONS (remote_service_type = 'CLOUD_AI_LARGE_LANGUAGE_MODEL_V1');
這會創建一個名稱為 llm_model 的模型在。該模型利用 Vertex AI 的 CLOUD_AI_LARGE_LANGUAGE_MODEL_V1 作為遠程函數。完成後,您會在剛剛建立的dataset (bq_llm)看到該模型。



Generate text using the ML model

  1. 在 BigQuery 頁面,建立一個新查詢,並執行以下語法進行文本的生成。
SELECT
ml_generate_text_result['predictions'][0]['content'] AS generated_text,
ml_generate_text_result['predictions'][0]['safetyAttributes'] AS safety_attributes,
* EXCEPT (ml_generate_text_result)
FROM
ML.GENERATE_TEXT(
MODEL `bq_llm.llm_model`,
(
SELECT
CONCAT('Can you read the code in the following text and generate a summary for what the code is doing and what language it is written in:', content) AS prompt
FROM
`bigquery-public-data.github_repos.sample_contents`
LIMIT 5
),
STRUCT(
0.2 AS temperature,
100 AS max_output_tokens));

  1. 該 SQL 語法的解釋:
  • ml_generate_text_result 是從 text generation model 獲取的回應( JSON 格式),包含生成的文本和安全屬性:
    • content 代表生成的文本結果。
    • safetyAttributes 內建的內容過濾器,以避免 LLM 產生任何無意的或意想不到的回應。
  • ML.GENERATE_TEXT 是 BigQuery 中用於訪問 Vertex AI LLM 以執行文本生成任務的函數。
  • CONCAT 函數將提供的提示詞附加到數據庫記錄中。
  • github_repos 是公共數據集的名稱,而 sample_contents 是使用的 Table 名稱。
  • temperature 是控制回應隨機性的提詞參數—數值越小,相關性越高。
  • max_output_tokens 是您希望回應中包含的詞數。
  1. 執行語句查詢後,模型生成結果如下:

延伸閱讀

Tutorial: Analyze an object table by using a remote function | Bigquery

Generate text by using the ML.GENERATE_TEXT function | Bigquery

The ML.GENERATE_TEXT function | Bigquery

Model versions and lifecycle | Generative AI on Vertex AI

Text | Generative AI on Vertex AI

REF:

https://www.cloudskillsboost.google/focuses/74646?parent=catalog

18會員
41內容數
歡迎來到「Marcos的方格子」!目前在「Marcos談科技」撰寫在職涯上學習到的知識,在「Marcos談書」分享我在日常的閱讀和心得,歡迎您的到來!!
留言0
查看全部
發表第一個留言支持創作者!
Marcos的方格子 的其他內容
Google Cloud Certified Professional Cloud DevOps Engineer 考試/資源/心得
Cloud Run 允許您指定哪些修訂版應該接收流量,並指定不同版本接收的流量比例。Revisions 也能使您能夠回滾到先前的版本、逐步增加新版本的流量比例,或在多個修訂版之間拆分流量。
Google Cloud Arcade 是一個免費、以遊戲來學習 Google Cloud 的平台,在這裡您可以透過實作的Labs 來解決主題任務和每週任務,每個月的主題任務和每週任務都會更新,充實掌握雲端技能。
Google Cloud Certified Professional Cloud Developer 考試/資源/心得
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
「Prompt hacking」與利用軟件漏洞的傳統駭客方法不同,Prompt hacking 是使用精心設計的提詞工程,並利用大型語言模型(Large Language Models, LLM)中的漏洞,使它們執行意外的操作或透露敏感信息。
Google Cloud Certified Professional Cloud DevOps Engineer 考試/資源/心得
Cloud Run 允許您指定哪些修訂版應該接收流量,並指定不同版本接收的流量比例。Revisions 也能使您能夠回滾到先前的版本、逐步增加新版本的流量比例,或在多個修訂版之間拆分流量。
Google Cloud Arcade 是一個免費、以遊戲來學習 Google Cloud 的平台,在這裡您可以透過實作的Labs 來解決主題任務和每週任務,每個月的主題任務和每週任務都會更新,充實掌握雲端技能。
Google Cloud Certified Professional Cloud Developer 考試/資源/心得
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
「Prompt hacking」與利用軟件漏洞的傳統駭客方法不同,Prompt hacking 是使用精心設計的提詞工程,並利用大型語言模型(Large Language Models, LLM)中的漏洞,使它們執行意外的操作或透露敏感信息。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
PROCESS macro for SPSS 可以用非常簡單方式學會調節中介模式。本文將介紹四種類型的變項,並解釋調節式中介的公式,還有如何操作最4.0版本的PROCESS macro for SPSS。文末也會附上所有所有Process模型圖例,提供給讀者方便分析~
Thumbnail
PROCESS macro for SPSS 可以用非常簡單方式使用調節分析。本文將介紹三種類型的變項,還有如何操作最4.2版本的PROCESS macro for SPSS進行調節模式。文末也會附上所有所有Process模型圖例,提供給讀者方便分析~
Thumbnail
PROCESS macro for SPSS 可以用非常簡單方式進中介模式。本文將介紹三種類型的變項,還有如何操作最4.0版本的PROCESS macro for SPSS。文末也會附上所有所有Process模型圖例,提供給讀者方便分析~
Thumbnail
Potato Media雖然和方格子及Matters同樣歸類為寫作平台,同樣強調將內容變現,前者卻與後面兩者完全不同,當然,所獲得的收入報酬也不會一樣,更清楚一點來說,連獲得收益的方式也大不相同。
Thumbnail
我們將介紹各種類型的信度和統計方法,包含Cohen Kappa 係數、組內相關係數、α係數的SPSS教學。信度的可以使用不同的評估方法來評估。信度對於確定評分標準或量表的一致性和穩定度至關重要。
Thumbnail
如果依變項並非連續變項時,就可以改用羅吉斯迴歸。接下來本文將介紹勝算、勝算比、計算範例、二元/順序/多項式羅吉斯迴歸分析範例和SPSS操作方法。
Thumbnail
通常我們對於類別變項就直接看敘述統計大小,但如果我們想要用檢定確定兩者差距是達到統計顯著,就要用卡方檢定(Chi-square test)是一種統計學方法,獨立性考驗用於檢驗兩個類別變項各組別之間是否有顯著關聯。本文將介紹卡方檢定並介紹上機操作和事後比較方法。
Thumbnail
本篇介紹Mplus的「結構方程模型(Structural Equation Modelling, SEM)」之語法內容,並透過例題向大家示範如何分析撰寫SEM的語法。本文為新手教學,輸入方式可能不是最有效率,但是比較簡單且不太會犯錯
Thumbnail
當樣本有所關聯時,就不能使用獨立樣本t檢定,而是需要使用相依樣本t檢定,本文檢定介紹使用時機,並教導如何使用SPSS進行相依樣本t檢定
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
PROCESS macro for SPSS 可以用非常簡單方式學會調節中介模式。本文將介紹四種類型的變項,並解釋調節式中介的公式,還有如何操作最4.0版本的PROCESS macro for SPSS。文末也會附上所有所有Process模型圖例,提供給讀者方便分析~
Thumbnail
PROCESS macro for SPSS 可以用非常簡單方式使用調節分析。本文將介紹三種類型的變項,還有如何操作最4.2版本的PROCESS macro for SPSS進行調節模式。文末也會附上所有所有Process模型圖例,提供給讀者方便分析~
Thumbnail
PROCESS macro for SPSS 可以用非常簡單方式進中介模式。本文將介紹三種類型的變項,還有如何操作最4.0版本的PROCESS macro for SPSS。文末也會附上所有所有Process模型圖例,提供給讀者方便分析~
Thumbnail
Potato Media雖然和方格子及Matters同樣歸類為寫作平台,同樣強調將內容變現,前者卻與後面兩者完全不同,當然,所獲得的收入報酬也不會一樣,更清楚一點來說,連獲得收益的方式也大不相同。
Thumbnail
我們將介紹各種類型的信度和統計方法,包含Cohen Kappa 係數、組內相關係數、α係數的SPSS教學。信度的可以使用不同的評估方法來評估。信度對於確定評分標準或量表的一致性和穩定度至關重要。
Thumbnail
如果依變項並非連續變項時,就可以改用羅吉斯迴歸。接下來本文將介紹勝算、勝算比、計算範例、二元/順序/多項式羅吉斯迴歸分析範例和SPSS操作方法。
Thumbnail
通常我們對於類別變項就直接看敘述統計大小,但如果我們想要用檢定確定兩者差距是達到統計顯著,就要用卡方檢定(Chi-square test)是一種統計學方法,獨立性考驗用於檢驗兩個類別變項各組別之間是否有顯著關聯。本文將介紹卡方檢定並介紹上機操作和事後比較方法。
Thumbnail
本篇介紹Mplus的「結構方程模型(Structural Equation Modelling, SEM)」之語法內容,並透過例題向大家示範如何分析撰寫SEM的語法。本文為新手教學,輸入方式可能不是最有效率,但是比較簡單且不太會犯錯
Thumbnail
當樣本有所關聯時,就不能使用獨立樣本t檢定,而是需要使用相依樣本t檢定,本文檢定介紹使用時機,並教導如何使用SPSS進行相依樣本t檢定