使用 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
本專欄將提供給您最新的市場資訊、產業研究、交易心法、精選公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
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
本專欄將提供給您最新的市場資訊、產業研究、交易心法、精選公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
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檢定