生成式 AI 資訊摘要
本文說明 BigQuery 支援的生成式人工智慧 (AI) 函式。這些函式會接受自然語言輸入內容,並使用預先訓練的 Vertex AI 模型和內建 BigQuery 模型。
總覽
BigQuery 提供多種 AI 函式,可協助您執行下列工作:
- 生成創意內容。
- 分析文字或圖片等非結構化資料、偵測情緒,以及回答相關問題。
- 總結內容傳達的主要想法或印象。
- 從文字中擷取結構化資料。
- 將文字或非結構化資料分類至使用者定義的類別。
- 生成嵌入內容,搜尋相似的文字、圖片和影片。
- 評估輸入內容,然後依品質、相似度或其他條件排序。
AI 函式主要有兩大類,可協助您完成這些工作:
一般用途的 AI 函式:這些函式可讓您完全掌控並清楚瞭解所選用的模型、提示和參數。
執行推論,例如回答資料相關問題
AI.GENERATE是最彈性的推論函式,可讓您分析任何文字和非結構化資料的組合,並輸出符合自訂結構定義的結構化資料。如需特定類型的輸出內容,請選取下列其中一個更專業的推論函式:
AI.GENERATE_BOOLAI.GENERATE_DOUBLEAI.GENERATE_INT
生成結構化輸出內容,例如從非結構化文字中擷取姓名和地址
AI.GENERATE,當您指定output_schema時AI.GENERATE_TABLE
使用
AI.GENERATE的資料表值函式版本生成文字AI.GENERATE_TEXT
生成嵌入項目,用於語意搜尋和分群
AI.EMBEDAI.GENERATE_EMBEDDINGAI.SIMILARITY
受管理 AI 函式:這些函式採用簡化語法,並經過最佳化,可降低成本及提升品質。BigQuery 會為您選擇模型。
使用自然語言條件篩選資料
AI.IF
輸入評分,例如品質或情緒
AI.SCORE
將輸入內容分類到使用者定義的類別
AI.CLASSIFY
通用 AI 函式
通用型 AI 函式可讓您完全掌控並清楚瞭解要使用的模型、提示和參數。輸出內容包含呼叫模型的詳細資訊,包括狀態和完整模型回應,其中可能包含安全評分或引文等資訊。
產生結構化資料
生成結構化資料與生成文字非常相似,但您可以指定 SQL 結構定義,設定模型回覆的格式。舉例來說,您可能會從電話通話記錄產生資料表,其中包含顧客姓名、電話號碼、地址、要求和報價。
產生結構化資料的方式有兩種:
AI.GENERATE函式會呼叫 Vertex AI 端點,並使用自訂結構定義產生STRUCT值。如要試用,請參閱如何使用結構化輸出,瞭解呼叫
AI.GENERATE函式時的用法。AI.GENERATE_TABLE函式會呼叫遠端模型,並以資料表值函式產生具有自訂結構定義的資料表。如要試著建立結構化資料,請參閱使用
AI.GENERATE_TABLE函式產生結構化資料。
依資料列產生特定類型的值
您可以使用 Gemini 模型搭配純量生成式 AI 函式,分析 BigQuery 標準資料表中的資料。資料包括文字資料,以及含有 ObjectRef 值的資料欄中的非結構化資料。這些函式會為資料表中的每一列產生包含特定類型的輸出內容。舉例來說,您可以分析居家擺設的圖片,為 design_type 欄生成文字,讓擺設 SKU 具有相關聯的說明,例如 mid-century modern 或 farmhouse。
可用的 AI 函式如下:
搭配支援的 Gemini 模型使用 AI.GENERATE 函式時,可以透過 Vertex AI 佈建處理量,為要求提供一致的高處理量。詳情請參閱「使用透過 Vertex AI 佈建的輸送量」。
使用 TVF 生成文字
您可以使用表值函式 GENERATE_TEXT 執行生成式 AI 工作,這個函式會使用 BigQuery ML 中的遠端模型,參照部署至或託管於 Vertex AI 的模型。您可以建立下列類型的遠端模型:
建立遠端模型後,您可以使用 AI.GENERATE_TEXT 函式與該模型互動:
如果是以 Gemini 模型為基礎的遠端模型,您可以執行下列操作:
使用
AI.GENERATE_TEXT函式,根據您在查詢中指定的提示或從標準資料表欄位擷取的提示,生成文字。在查詢中指定提示時,您可以在提示中參照下列類型的資料表欄:STRING欄位提供文字資料。- 使用
ObjectRef格式提供非結構化資料的STRUCT欄。您必須在提示中使用OBJ.GET_ACCESS_URL函式,將ObjectRef值轉換為ObjectRefRuntime值。
使用
AI.GENERATE_TEXT函式,透過您以函式引數形式提供的提示,分析物件表格中的文字、圖片、音訊、影片或 PDF 內容。
如果是其他類型的遠端模型,您可以使用
AI.GENERATE_TEXT函式,並在查詢中或標準資料表的資料欄中提供提示。
如要在 BigQuery ML 中試用文字生成功能,請參閱下列主題:
- 使用 Gemini 模型和
AI.GENERATE_TEXT函式生成文字。 - 使用 Gemma 模型和
AI.GENERATE_TEXT函式生成文字。 - 使用 Gemini 模型分析圖片。
- 使用
AI.GENERATE_TEXT函式和資料生成文字。 - 使用資料調整模型。
使用 AI.GENERATE_TEXT 函式搭配 Gemini 模型時,只要輸入內容是標準表格,即可使用基礎和安全屬性。有了基礎功能,Gemini 模型就能使用網路上其他資訊,生成更具體且符合事實的回覆。Gemini 模型會根據您指定的屬性,透過安全屬性篩選回覆。
部分模型可選擇設定監督式調整,根據自己的資料訓練模型,使其更符合您的用途。所有推論作業都會在 Vertex AI 中進行。 結果會儲存在 BigQuery 中。
對於支援的 Gemini 模型,您可以使用 Vertex AI 佈建的處理量,為要求提供一致的高處理量。詳情請參閱「使用透過 Vertex AI 佈建的輸送量」。
生成嵌入項目
嵌入是高維度數值向量,代表特定實體,例如一段文字或音訊檔案。產生嵌入內容後,您就能以更容易推論及比較資料的方式,擷取資料的語意。
以下是生成嵌入內容的一些常見用途:
- 使用檢索增強生成 (RAG) 技術,從可信來源參照額外資料,增強模型對使用者查詢的回覆。RAG 可提供更準確的事實資訊和一致的回覆,也能存取比模型訓練資料更新的資料。
- 執行多模態搜尋。例如,使用文字輸入搜尋圖片。
- 執行語意搜尋,找出類似項目,用於推薦、替代和記錄重複資料刪除。
- 建立嵌入,以便搭配 k-means 模型進行分群。
如要進一步瞭解如何生成嵌入項目,並使用這些項目執行上述工作,請參閱「嵌入項目和向量搜尋簡介」。
代管 AI 函式
代管 AI 函式專為自動執行例行工作而設計,例如分類、排序或篩選。這些函式會使用 Gemini,不需要自訂。BigQuery 會使用提示工程,並選取適合特定工作的模型和參數,盡可能提升結果品質和一致性。每個函式都會傳回純量值,例如 BOOL、FLOAT64 或 STRING,且不包含模型中的其他狀態資訊。可用的代管 AI 函式如下:
AI.IF: 根據提示篩選文字或多模態資料,例如WHERE或JOIN子句。舉例來說,你可以篩選產品說明,找出適合當禮物的商品。AI.SCORE: 根據提示評估輸入內容,依品質、相似度或其他條件排列資料列。您可以在ORDER BY子句中使用此函式,根據分數擷取前 K 個項目。舉例來說,您可以找出產品最正面或負面的前 10 則使用者評論。AI.CLASSIFY:將文字分類至使用者定義的類別。您可以在GROUP BY子句中使用這個函式,根據您定義的類別將輸入內容分組。舉例來說,你可以根據支援單是否與帳單、運送、產品品質或其他事項相關,將支援單分類。
如需這些函式的使用範例教學課程,請參閱「使用受管理 AI 函式執行語意分析」。
如需筆記本教學課程,瞭解如何使用受管理和一般用途的 AI 函式,請參閱「使用 AI 函式進行語意分析」。
位置
文字生成和嵌入模型支援的位置會因您使用的模型類型和版本而異。詳情請參閱「位置」。
定價
您需要為用來對模型執行查詢的運算資源付費。遠端模型會呼叫 Vertex AI 模型,因此對遠端模型發出的查詢也會產生 Vertex AI 費用。
詳情請參閱 BigQuery ML 定價。
追蹤費用
BigQuery 中的生成式 AI 函式會將要求傳送至 Vertex AI,這可能會產生費用。如要追蹤在 BigQuery 中執行的工作所產生的 Vertex AI 費用,請按照下列步驟操作:
- 在 Cloud Billing 中查看帳單報表。
使用篩選器縮小搜尋結果範圍。
選取「Vertex AI」服務。
如要查看特定作業的費用,請依標籤篩選。
將鍵設為
bigquery_job_id_prefix,並將值設為工作的工作 ID。如果工作 ID 長度超過 63 個字元,請只使用前 63 個字元。如果工作 ID 含有大寫字元,請改為小寫。或者,您也可以將工作與自訂標籤建立關聯,方便日後搜尋。
部分費用最多可能需要 24 小時才會顯示在 Cloud Billing 中。
後續步驟
- 如要瞭解 BigQuery 中的 AI 和 ML,請參閱「簡介:在 BigQuery 使用 AI 與機器學習」。
- 如要進一步瞭解如何對機器學習模型執行推論,請參閱模型推論總覽。
- 如要進一步瞭解生成式 AI 模型支援的 SQL 陳述式和函式,請參閱生成式 AI 模型的端對端使用者歷程。