生成式 AI 資訊摘要

本文說明 BigQuery 支援的生成式人工智慧 (AI) 函式。這些函式會接受自然語言輸入內容,並使用預先訓練的 Vertex AI 模型和內建 BigQuery 模型。

總覽

BigQuery 提供多種 AI 函式,可協助您執行下列工作:

  • 生成創意內容。
  • 分析文字或非結構化資料 (例如圖片)、偵測情緒,以及回答相關問題。
  • 總結內容傳達的主要想法或印象。
  • 從文字中擷取結構化資料。
  • 將文字或非結構化資料分類至使用者定義的類別。
  • 生成嵌入內容,搜尋相似的文字、圖片和影片。
  • 評估輸入內容,然後依品質、相似度或其他條件排序。

以下是可協助您完成這些工作的 AI 函式類別:

  • 一般用途的 AI 函式這些函式可讓您完全掌控並清楚瞭解所選用的模型、提示和參數。

    • 執行大型語言模型推論,例如回答資料相關問題

      • AI.GENERATE 是最靈活的推論函式,可讓您分析任何非結構化資料。
      • AI.GENERATE_TEXTAI.GENERATE 的資料表值版本,也支援合作夥伴模型和開放式模型。
    • 生成結構化輸出內容,例如從文字、文件或圖片中擷取姓名、地址或物件說明。

      • AI.GENERATE,指定輸出內容的結構定義時。
      • AI.GENERATE_TABLEAI.GENERATE 的資料表值版本,可呼叫遠端模型,並讓您指定自訂輸出結構定義。
      • 如果輸出結構定義只有一個欄位,可以使用下列其中一個專用函式:AI.GENERATE_BOOLAI.GENERATE_DOUBLEAI.GENERATE_INT
    • 生成嵌入項目,用於語意搜尋和分群

      • AI.EMBED:從文字或圖片資料建立嵌入內容。
      • AI.GENERATE_EMBEDDING:這個函式會將內嵌文字、圖片、音訊、影片或文件資料的資料欄新增至資料表。
  • 受管理 AI 函式這些函式採用簡化語法,並經過最佳化,可降低成本及提升品質。BigQuery 會為您選擇模型。

    • 使用自然語言條件篩選資料

      • AI.IF
    • 輸入評分,例如品質或情緒

      • AI.SCORE
    • 將輸入內容分類到使用者定義的類別

      • AI.CLASSIFY
  • 工作專屬函式這些函式會使用 Cloud AI API 協助您執行自然語言處理、機器翻譯、文件處理、音訊轉錄和電腦視覺等工作。

通用 AI 函式

通用型 AI 函式可讓您完全掌控並清楚瞭解要使用的模型、提示和參數。輸出內容包含呼叫模型的詳細資訊,包括狀態和完整模型回應,其中可能包含安全評分或引文等資訊。

執行 LLM 推論

AI.GENERATE 函式是彈性的推論函式,可將要求傳送至 Vertex AI Gemini 模型,並傳回該模型的回覆。你可以使用這項功能分析文字、圖片、音訊、影片或 PDF 資料。舉例來說,您可以分析家具圖片,為 design_type 欄生成文字,讓家具 SKU 具有相關聯的說明,例如 mid-century modernfarmhouse

您可以在 BigQuery ML 中使用遠端模型,透過 AI.GENERATE_TEXT 表格值函式參照部署至或託管於 Vertex AI 的模型,執行生成式 AI 工作。您可以使用下列類型的遠端模型

如要在 BigQuery ML 中試用文字生成功能,請參閱下列主題:

部分模型可選擇設定監督式調整,讓您使用自己的資料訓練模型,使其更符合您的用途。所有推論作業都會在 Vertex AI 中進行。 結果會儲存在 BigQuery 中。

產生結構化資料

生成結構化資料與生成文字非常相似,但您可以指定 SQL 結構定義,設定模型回覆的格式。舉例來說,您可能會從電話通話記錄產生資料表,其中包含顧客姓名、電話號碼、地址、要求和報價。

您可以透過下列方式產生資料結構化資料:

生成嵌入項目

嵌入是高維度數值向量,代表特定實體,例如一段文字或音訊檔案。生成嵌入內容可擷取資料的語意,方便您推論及比較資料。

以下是生成嵌入內容的常見用途:

  • 使用檢索增強生成 (RAG) 技術,參照可信來源的額外資料,增強模型對使用者查詢的回覆。RAG 可提供更準確的事實資訊和一致的回覆,並存取比模型訓練資料更新的資料。
  • 執行多模態搜尋。例如,使用文字輸入搜尋圖片。
  • 執行語意搜尋,找出類似項目,用於推薦、替代和記錄重複資料刪除。
  • 建立嵌入,以便搭配 k-means 模型進行分群。

如要進一步瞭解如何生成嵌入項目,並使用這些項目執行上述工作,請參閱「嵌入項目和向量搜尋簡介」。

代管 AI 函式

代管 AI 函式專為自動執行例行工作而設計,例如分類、排序或篩選。這些函式會使用 Gemini,不需要自訂。BigQuery 會使用提示工程,並選取適合特定工作的模型和參數,盡可能提升結果品質和一致性。每個函式都會傳回純量值,例如 BOOLFLOAT64STRING,且不包含模型中的其他狀態資訊。可用的代管 AI 函式如下:

  • AI.IF: 根據提示篩選文字或多模態資料,例如 WHEREJOIN 子句。舉例來說,你可以篩選產品說明,找出適合當禮物的商品。
  • AI.SCORE: 根據提示評估輸入內容,然後依品質、相似度或其他條件排列資料列。您可以在 ORDER BY 子句中使用此函式,根據分數擷取前 K 個項目。舉例來說,您可以找出產品最正面或負面的前 10 則使用者評論。
  • AI.CLASSIFY:將文字分類至使用者定義的類別。您可以在 GROUP BY 子句中使用這個函式,根據您定義的類別將輸入內容分組。舉例來說,你可以根據支援單是否與帳單、運送、產品品質或其他事項相關,將支援單分類。

如需這些函式的使用範例教學課程,請參閱「使用受管理 AI 函式執行語意分析」。

如需筆記本教學課程,瞭解如何使用受管理和一般用途的 AI 函式,請參閱「使用 AI 函式進行語意分析」。

特定工作專用函式

除了前幾節所述的較一般函式之外,您還可以使用 Cloud AI API,在 BigQuery ML 中開發特定工作的解決方案。支援的任務包括:

詳情請參閱「工作專屬解決方案總覽」。

位置

文字生成和嵌入模型支援的位置會因您使用的模型類型和版本而異。詳情請參閱「位置」。

定價

您需要為用來對模型執行查詢的運算資源付費。遠端模型會呼叫 Vertex AI 模型,因此對遠端模型發出的查詢也會產生 Vertex AI 費用。

詳情請參閱「BigQuery ML 定價」一文。

追蹤費用

BigQuery 中的生成式 AI 函式會將要求傳送至 Vertex AI,這可能會產生費用。如要追蹤在 BigQuery 中執行的工作所產生的 Vertex AI 費用,請按照下列步驟操作:

  1. 在 Cloud Billing 中查看帳單報表
  2. 使用篩選器縮小搜尋結果範圍。

    選取「Vertex AI」服務。

  3. 如要查看特定作業的費用,請依標籤篩選

    將索引鍵設為 bigquery_job_id_prefix,並將值設為工作的工作 ID。如果工作 ID 長度超過 63 個字元,請只使用前 63 個字元。如果工作 ID 含有大寫字元,請改為小寫。或者,您也可以將工作與自訂標籤建立關聯,方便日後搜尋。

部分費用最多可能需要 24 小時才會顯示在 Cloud Billing 中。

監控

如要進一步瞭解您在 BigQuery 中呼叫的 AI 函式行為,可以啟用要求和回應記錄。如要記錄傳送至 Vertex AI 和從 Vertex AI 接收的整個要求和回應,請按照下列步驟操作:

  1. 在 Vertex AI 中啟用要求/回應記錄。記錄檔會儲存在 BigQuery 中。 您必須分別為每個基礎模型和區域啟用記錄功能。如要記錄在 us 區域執行的查詢,請在要求中指定 us-central1 區域。如要記錄在 eu 區域執行的查詢,請在要求中指定 europe-west4 區域。

  2. 使用 AI 函式執行查詢,透過您在上一個步驟中啟用記錄的模型呼叫 Vertex AI。

  3. 如要查看完整的 Vertex AI 要求和回應,請查詢記錄資料表,找出 full_request 欄的 labels.bigquery_job_id_prefix 欄位與工作 ID 前 63 個字元相符的資料列。您也可以使用自訂查詢標籤,在記錄中查詢查詢。

    舉例來說,您可以使用類似下列的查詢:

    SELECT *
    FROM `my_project.my_dataset.request_response_logging`
    WHERE JSON_VALUE(full_request, '$.labels.bigquery_job_id_prefix') = 'bquxjob_123456...';
    

後續步驟