AI_CLASSIFY 是 MaxCompute 提供的 AI Function,通過調用模型從給定標籤中返回與輸入內容匹配度最高的標籤字串。
命令格式
STRING AI_CLASSIFY(
STRING <model_name>,
STRING <version_name>,
STRING <input>,
ARRAY<STRING> <labels>
[, STRING <model_parameters>]
);參數說明
model_name:必填。STRING 類型。待使用的模型名,請參見SQL AI Function。
version_name:必填。STRING 類型。待使用的模型版本名。如果調用預設版本,支援直接輸入
DEFAULT_VERSION。input:必填。STRING 類型。需要分類的文本。
labels:必填。ARRAY<STRING> 類型。期望輸出的分類標籤列表。支援常量和列輸入,當為常量時標籤數量範圍在 [2, 20]。
model_parameters:選填。STRING 類型。支援指定模型調用相關參數 max_tokens、temperature、top_p,格式為
'{"max_tokens": 500, "temperature": 0.6, "top_p": 0.95}'。參數說明如下:max_tokens:設定模型單次調用輸出 token 的最大數量,對於 MaxCompute 公用模型,預設值為 4096。
temperature:介於 0 到 1 之間的值,用於控制模型輸出的隨機性強度。值越大,輸出越具創意和多樣性;值越低,輸出越確定和保守。
top_p:介於 0 到 1 之間的值,用於限定模型選擇的備選標籤範圍。值越大,備選範圍越廣,多樣性越高;值越小,範圍越窄,結果越集中。
傳回值說明
返回 STRING 類型,代表 input 最匹配的單個標籤字串。返回規則如下:
input 非 STRING 類型,或 labels 非 ARRAY<STRING> 類型時,返回報錯。
labels 標籤為常量,且數量為 1 或超過 20 時,返回報錯。
input、labels 若輸入為 NULL 或Null 字元串("")時,返回 NULL。
使用樣本
樣本1:對常量文本進行分類
調用 MaxCompute 提供的公用模型 qwen3-max,對輸入文本進行分類,從給定的標籤中返回匹配度最高的結果。
-- 在SQL作業中使用模型計算服務
SET odps.task.major.version=sql_modelstudio;
SET odps.namespace.schema=true;
SELECT AI_CLASSIFY(
bigdata_public_modelset.default.`qwen3-max`,
DEFAULT_VERSION,
'MaxCompute 是一個全託管的高效能巨量資料計算平台,提供快速、可擴充的資料倉儲和分析能力。',
ARRAY('科技', '體育', '財經', '醫學', '教育')
) AS classified_label;
-- 返回結果
+------------------+
| classified_label |
+------------------+
| 科技 |
+------------------+樣本2:對錶資料進行分類
調用 MaxCompute 提供的公用模型 Qwen3-4B-GGUF,對錶中的多條文本資料批量分類。
-- 樣本資料
CREATE TABLE news_articles (
content STRING
);
INSERT INTO news_articles VALUES
('人工智慧正在用新型診斷工具改變醫學行業。'),
('受科技板塊上漲帶動,股市今日創下歷史新高。'),
('經過激動人心的加時賽,球隊最終贏得了冠軍。'),
('雲端運算使企業能夠按需擴充基礎設施。');
-- 調用模型對錶中文本進行分類
SET odps.sql.ai.treat.as.common.model=true;
SET odps.namespace.schema=true;
SELECT
content,
AI_CLASSIFY(
bigdata_public_modelset.default.`Qwen3-4B-GGUF`,
DEFAULT_VERSION,
content,
ARRAY('科技', '體育', '財經', '醫學')
) AS category
FROM news_articles;
-- 返回結果
+--------------------------------------------------+----------+
| content | category |
+--------------------------------------------------+----------+
| 人工智慧正在用新型診斷工具改變醫學行業。 | 醫學 |
| 受科技板塊上漲帶動,股市今日創下歷史新高。 | 財經 |
| 經過激動人心的加時賽,球隊最終贏得了冠軍。 | 體育 |
| 雲端運算使企業能夠按需擴充基礎設施。 | 科技 |
+--------------------------------------------------+----------+