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 功能,請參閱 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 編輯器查詢視窗:
- 在原始結果視窗底部選取連結正在執行---。 效能視窗會出現在右側。
- 按兩下 [查看查詢設定檔 ] 以檢視效能詳細數據。
- 按兩下 [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";