全部產品
Search
文件中心

MaxCompute:AI_EXTRACT

更新時間:Jul 25, 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.7-max,從給定的文本描述中提取指定標籤對應的結構化資訊。

SET odps.namespace.schema=true;

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

-- 返回結果
+----------------+
| extracted_info |
+----------------+
| {\n  "姓名": "張偉",\n  "年齡": 35,\n  "職業": "軟體工程師",\n  "公司": "阿里雲",\n  "城市": "杭州",\n  "入職年份": 2020\n} |
+----------------+

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

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

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

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

-- 調用模型從表中的客戶評價提取結構化資訊
SET odps.namespace.schema=true;

SELECT
    review,
    AI_EXTRACT(
        bigdata_public_modelset.default.`deepseek-v4-pro`,
        DEFAULT_VERSION,
        review,
        ARRAY('產品', '問題', '情感傾向')
    ) AS extracted_info
FROM customer_reviews;

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

常見問題

公用模型常見問題排查

問題現象:調用模型計算服務所支援的公用模型時,詳細報錯資訊如下。

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