全部產品
Search
文件中心

MaxCompute:AI_EXTRACT

更新時間:May 27, 2026

AI_EXTRACT 是 MaxCompute 提供的 AI Function,通過調用模型從給定的文本資料中提取指定的標籤資訊。

命令格式

STRING AI_EXTRACT(
  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> 類型。期望提取的標籤資訊列表。標籤數量範圍為 [1, 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 之間的值,用於限定模型選擇的備選標籤範圍。值越大,備選範圍越廣,多樣性越高;值越小,範圍越窄,結果越集中。

傳回值說明

返回 JSON 格式的 STRING 類型,包含所有提取標籤及其對應值的字串。返回規則如下:

  • input 非 STRING 類型,或 labels 非 ARRAY<STRING> 類型時,返回報錯。

  • labels 標籤為常量,且數量超過 20 時,返回報錯。

  • input、labels 為 NULL 或 input 為空白字串(""),返回 NULL。

  • input 中沒有提取標籤 labels 對應的資訊時,提取標籤 labels 所對應的值為 NULL。

使用樣本

樣本 1:使用常量標籤提取資訊

調用 MaxCompute 提供的公用模型 qwen3-max,從給定的文本描述中提取指定標籤對應的結構化資訊。

-- 在SQL作業中使用模型計算服務
SET odps.task.major.version=sql_modelstudio;
SET odps.namespace.schema=true;

SELECT AI_EXTRACT(
    bigdata_public_modelset.default.`qwen3-max`,
    DEFAULT_VERSION,
    '張偉是一名35歲的軟體工程師,在阿里雲杭州辦公室工作。他於2020年加入公司,專註於分散式運算領域。',
    ARRAY('姓名', '年齡', '職業', '公司', '城市', '入職年份')
) AS extracted_info;
-- 返回結果
+----------------+
| extracted_info |
+----------------+
| {"姓名":"張偉","年齡":35,"職業":"軟體工程師","公司":"阿里雲","城市":"杭州","入職年份":2020} |
+----------------+

樣本 2:從表資料中提取資訊

調用 MaxCompute 提供的公用模型 Qwen3-4B-GGUF,從表中儲存的客戶評價中提取產品、問題和情感資訊。

-- 樣本資料
CREATE TABLE customer_reviews (
    review STRING
);

INSERT INTO customer_reviews VALUES
    ('新買的膝上型電腦續航很好,但鍵盤手感偏差。'),
    ('物流很快,耳機的音質對得起這個價格,非常滿意。'),
    ('顯示器有壞點,已經退貨了。不過客服態度不錯。');

-- 從表中的客戶評價提取結構化資訊
SET odps.sql.ai.treat.as.common.model=true;
SET odps.namespace.schema=true;

SELECT
    review,
    AI_EXTRACT(
        bigdata_public_modelset.default.`Qwen3-4B-GGUF`,
        DEFAULT_VERSION,
        review,
        ARRAY('產品', '問題', '情感傾向')
    ) AS extracted_info
FROM customer_reviews;

-- 返回結果
+----------------------------------------------------+----------------------------------------------------------------------+
| review                                             | extracted_info                                                       |
+----------------------------------------------------+----------------------------------------------------------------------+
| 新買的膝上型電腦續航很好,但鍵盤手感偏差。            | {"產品":"膝上型電腦","問題":"鍵盤手感偏差","情感傾向":"混合"}            |
| 物流很快,耳機的音質對得起這個價格,非常滿意。        | {"產品":"耳機","問題":null,"情感傾向":"積極"}                           |
| 顯示器有壞點,已經退貨了。不過客服態度不錯。          | {"產品":"顯示器","問題":"壞點","情感傾向":"消極"}                       |
+----------------------------------------------------+----------------------------------------------------------------------+