全部產品
Search
文件中心

MaxCompute:AI_CLASSIFY

更新時間:Jul 25, 2026

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 模型計算服務