利用 AI 函式轉換非結構化資料

AI 功能是內建的功能,可用來將大型語言模型(LLM)或最先進的研究技術應用於儲存在 Azure Databricks 的資料上,進行資料轉換與分析。 它們可以從 Databricks SQL、筆記本、Lakeflow 管線和工作流程中執行。

AI Functions 很容易使用、快速且可調整。 分析師可以利用這些工具將資料智慧應用於專有資料,而資料工程師、資料科學家和機器學習工程師則能用它們來建立生產級批次管線。

當你呼叫 AI 函式時,你的查詢會執行在你提交的運算來源上,例如 SQL 倉庫、筆記本、叢集或管線。 視函式而定,模型推論可能會在由 Databricks 管理的獨立基礎架構上執行,且其費用會在該運算資源費用之外另行計算。 請參閱 檢視 AI 功能工作負載的成本。

Requirements

  • AI 函式在經典 SQL 倉庫中無法使用。
  • 需要 Databricks Runtime 15.4 LTS 或更新版本。 建議使用 Databricks Runtime 18.2 或以上版本,以獲得最佳效能及使用最新功能。

任務專屬與通用用途

AI 功能具備任務專屬及通用功能:

  • 任務專屬 AI 功能 — 專為特定任務優化的功能,如文件解析、實體擷取、分類及情感分析。 由 Azure Databricks 管理的研究支援系統驅動這些功能。 部分功能包含使用者介面體驗。 如需已支援的功能和模型,請參閱 特定任務的 AI 功能。
  • ai_query — 任務與模型彈性的通用函數。 提供提示並選擇任何支援的基礎模型 API。 詳見 使用 ai_query。

特定任務 AI 功能與 ai_query 的決策樹

若要限制貴組織可存取的任務專屬 AI 功能,請參閱 Unity 目錄中的 AI 功能權限。

任務專用的 AI 功能

任務專屬的功能會針對特定任務設限,讓你能自動化例行的轉換,例如實體擷取、轉換和分類。 Databricks 推薦這些功能作為入門工具,因為它們運用了 Databricks 維護的最先進研究技術,且不需任何客製化。

如需範例,請參閱 使用 AI Functions 分析客戶評論 。

以下功能依任務分類。 使用 SQL 和 REST API 欄位來開啟每個介面的參考。 REST API 欄位中的破折號表示沒有列出專屬的 REST API 參考。

智慧文件處理:

功能 說明 SQL REST API
ai_parse_document 從非結構化文件中使用最先進的研究技術,解析出結構化內容(如文字、表格和圖形描述)及其版面配置。 SQL 參考資料 REST API 參考資料
ai_extract 利用你定義的結構架構,從文件或文字中擷取結構化欄位。 SQL 參考 REST API 參考資料
ai_classify 利用最先進的研究技術,根據你提供的標籤分類輸入文字。 SQL 參考 REST API 參考資料
ai_prep_search (測試版) 將已剖析的文件或純文字與 Markdown 轉換為適合搜尋的內容區塊,並針對 AI 搜尋和 RAG 管線進行最佳化。 SQL 參考資料 —
ai_search (測試版) 針對一個或多個知識來源的自然語言查詢,擷取已排序並去除重複的文件,以及有依據的答案。 SQL 參考 —
ai_enrich (測試版) 根據你定義的架構,為每一列產生新欄位,並可選擇以 AI 搜尋索引或網頁搜尋為基礎。 SQL 參考 —

轉換文字:

功能 說明 SQL REST API
ai_fix_grammar 利用最先進的 AI 模型修正文字中的文法錯誤。 SQL 參考 —
ai_translate 利用最先進的 AI 模型將文字翻譯成指定的目標語言。 SQL 參考資料 —
ai_summarize 利用 SQL 與最先進的 AI 模型生成文本摘要。 SQL 參考 —
ai_mask 利用最先進的 AI 模型遮罩文字中指定的實體。 SQL 參考 —

分析非結構化文本:

功能 說明 SQL REST API
ai_decide (測試版) 以文字或結構化資料評估題目,並回傳機率、選擇或分數。 SQL 參考資料 REST API 參考資料
ai_analyze_sentiment 利用最先進的 AI 模型對輸入文字進行情感分析。 SQL 參考 —
ai_similarity 比較兩串字串,並利用最先進的 AI 模型計算語意相似度分數。 SQL 參考 —

產生內容。 關於自訂提示或特定模型,請參見 使用 ai_query:

功能 說明 SQL REST API
ai_gen 利用最先進的 AI 模型回答使用者提供的提示。 SQL 參考 —

預測結果:

功能 說明 SQL REST API
ai_predict_class (測試版) 訓練分類模型,並預測目標欄位為 NULL的列的類別標籤。 SQL 參考 —
ai_predict_value (測試版) 訓練迴歸模型,並預測目標欄位為 NULL的列數值。 SQL 參考 —

預報時間序列:

功能 說明 SQL REST API
ai_forecast 將數據預測到指定的地平線。 此數據表值函式的設計目的是將時間序列數據推斷到未來。 SQL 參考 —
ai_detect_anomalies (測試版) 識別歷史時間序列資料中的異常值,並回傳期望值、預測界限及異常分數。 SQL 參考資料 —

分析指標變動:

功能 說明 SQL REST API
ai_top_drivers (測試版) 將對控制組與測試組之間的指標變化貢獻最大的維度值排序。 SQL 參考 —

使用 AI 搜尋嵌入進行搜尋:

功能 說明 SQL REST API
vector_search 利用最先進的 AI 模型搜尋並查詢 AI 搜尋 索引。 SQL 參考 REST API 參考資料

在生產工作流程中使用 AI 功能

對於大規模批次推論,你可以將任務專屬的 AI 功能,或通用功能 ai_query 整合進你的生產工作流程,例如 Lakeflow pipelines、Databricks 工作流程和結構化串流。 這可以進行大規模的生產級別處理。

生產環境中 AI 功能的最佳實務:

讓 AI Functions 大規模處理您的工作負載: AI 功能會自動管理平行化、重試與縮放。 建議將完整資料集一次性提交,而非手動拆分成小批次。 效能可能無法從非常小的工作負載線性擴展到大規模工作負載。

使用 Databricks 託管的基礎模型: 使用 ai_query AI 函式時,請使用 Databricks 託管的基礎模型(前綴為 databricks-),而非已配置的吞吐量。 這些無配置端點是完全受控的,最適合批次處理。

如需範例和詳細資料,請參閱部署批次推論管線。

監控 AI 功能進展

若要瞭解有多少推論已完成或失敗,並針對效能進行疑難排解,您可以使用查詢設定檔功能來監控 AI 函數的進度。

在 Databricks Runtime 16.1 ML 和更新版本中,從工作區中的 SQL 編輯器查詢視窗:

  1. 在原始結果視窗底部選取連結正在執行---。 效能視窗會出現在右側。
  2. 按兩下 [查看查詢設定檔 ] 以檢視效能詳細數據。
  3. 按兩下 [AI 查詢 ] 以查看該特定查詢的計量,包括已完成和失敗的推斷數目,以及要求完成的總時間。

檢視 AI 函數工作負載的成本

執行你查詢的運算總是有計費的,例如 SQL 倉庫或工作叢集。 是否存在額外的模型推論成本取決於函數:

  • 任務專屬函式(例如 ai_classify、 ai_summarize、ai_translate)透過 Model Serving 在 Databricks 管理的無伺服器 GPU 基礎架構上執行推論。 你不需要佈建此基礎架構,但其費用會另外計入,並加收於你的查詢運算費用之外。
  • ai_query 會針對你指定的 模型服務端點 計費。 Databricks 託管的基礎模型端點與任務專屬函數一樣計費;自訂模型與配置吞吐量端點則運行於各自專用的服務運算系統,並依此計費。
  • ai_forecast、ai_detect_anomalies、ai_predict_class、ai_predict_value 和 ai_top_drivers 完全在你提交它們所使用的運算資源上執行,無須另外支付推論費用。
  • vector_search 透過 Databricks 管理的 AI 搜尋服務查詢您的 AI 搜尋 索引。

AI 功能成本會記錄為MODEL_SERVING產品的一部分,於BATCH_INFERENCE提供類型之下。 如需範例查詢,請參閱 檢視批次推論工作負載的成本 。

備註

對於 ai_parse_document、ai_extract 和 ai_classify 的成本,這些成本被記錄為 AI_FUNCTIONS 產品的一部分。 如需範例查詢,請參閱檢視執行成本ai_parse_document。

檢視批次推論工作負載的成本

以下範例展示了如何根據工作、運算、SQL 倉庫及 Lakeflow 管線篩選批次推論工作負載。

請參閱 監控模型服務成本, 以取得如何檢視使用 AI Functions 的批次推論工作負載成本的一般範例。

工作

下列查詢顯示哪些任務正在使用系統資料表進行 system.workflow.jobs 批次推斷。 請參閱使用系統表格監控工作成本和效能。


SELECT *
FROM system.billing.usage u
  JOIN system.workflow.jobs x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.job_id = x.job_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Compute

下列顯示哪些叢集正在使用系統資料表進行 system.compute.clusters 批次推論。

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Lakeflow Spark 宣告式管線

以下顯示哪些 Lakeflow 管線正在使用 system.lakeflow.pipelines 系統資料表進行批次推論。

SELECT *
FROM system.billing.usage u
  JOIN system.lakeflow.pipelines x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.dlt_pipeline_id = x.pipeline_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

SQL 資料庫

下列顯示哪些 SQL 倉庫正在使用 system.compute.warehouses 系統資料表進行批次推斷。

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

查看運行成本ai_parse_document

下列範例顯示如何查詢計費系統資料表以檢視 ai_parse_document 執行的成本。


SELECT *
FROM system.billing.usage u
WHERE u.workspace_id = <workspace_id>
  AND u.billing_origin_product = "AI_FUNCTIONS"
  AND u.product_features.ai_functions.ai_function = "AI_PARSE_DOCUMENT";