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.7-max,對輸入文本進行分類,從給定的標籤中返回匹配度最高的結果。
SET odps.namespace.schema=true;
SELECT AI_CLASSIFY(
bigdata_public_modelset.default.`qwen3.7-max`,
DEFAULT_VERSION,
'MaxCompute 是一個全託管的高效能巨量資料計算平台,提供快速、可擴充的資料倉儲和分析能力。',
ARRAY('科技', '體育', '財經', '醫學', '教育')
) AS classified_label;
-- 返回結果
+------------------+
| classified_label |
+------------------+
| 科技 |
+------------------+樣本2:對錶資料進行分類
調用 MaxCompute 提供的公用模型 deepseek-v4-pro,對錶中的多條文本資料批量分類。
-- 樣本資料
CREATE TABLE news_articles (
content STRING
);
INSERT INTO news_articles VALUES
('人工智慧正在用新型診斷工具改變醫學行業。'),
('受科技板塊上漲帶動,股市今日創下歷史新高。'),
('經過激動人心的加時賽,球隊最終贏得了冠軍。'),
('雲端運算使企業能夠按需擴充基礎設施。');
-- 調用模型對錶中文本進行分類
SET odps.namespace.schema=true;
SELECT
content,
AI_CLASSIFY(
bigdata_public_modelset.default.`deepseek-v4-pro`,
DEFAULT_VERSION,
content,
ARRAY('科技', '體育', '財經', '醫學')
) AS category
FROM news_articles;
-- 返回結果
+--------------------------------------------------+----------+
| content | category |
+--------------------------------------------------+----------+
| 人工智慧正在用新型診斷工具改變醫學行業。 | 醫學 |
| 受科技板塊上漲帶動,股市今日創下歷史新高。 | 財經 |
| 經過激動人心的加時賽,球隊最終贏得了冠軍。 | 體育 |
| 雲端運算使企業能夠按需擴充基礎設施。 | 科技 |
+--------------------------------------------------+----------+常見問題
公用模型常見問題排查
問題現象:調用模型計算服務所支援的公用模型時,詳細報錯資訊如下。
FAILED: ODPS-0130071:[1,8] Semantic analysis exception - inference quota status check failed, error message: region cn-shanghai not found in inference quota產生原因:當前專案所在的region(如 cn-shanghai)下未開通模型計算服務,導致無法正常調用 AI 推理資源。
處理方法:請前往阿里雲控制台,為當前專案的 Region 開通模型計算服務。詳細操作資訊請參見購買與使用MaxCompute 模型計算服務