全部產品
Search
文件中心

MaxCompute:AI_CLASSIFY

更新時間:May 26, 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-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 |
+--------------------------------------------------+----------+
| 人工智慧正在用新型診斷工具改變醫學行業。              | 醫學     |
| 受科技板塊上漲帶動,股市今日創下歷史新高。            | 財經     |
| 經過激動人心的加時賽,球隊最終贏得了冠軍。            | 體育     |
| 雲端運算使企業能夠按需擴充基礎設施。                    | 科技     |
+--------------------------------------------------+----------+