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,"情感傾向":"積極"} |
| 顯示器有壞點,已經退貨了。不過客服態度不錯。 | {"產品":"顯示器","問題":"壞點","情感傾向":"消極"} |
+----------------------------------------------------+----------------------------------------------------------------------+