本文為您介紹如何使用ML_PREDICT進行AI大模型推斷。
使用限制
僅Realtime Compute引擎VVR 11.1及以上版本支援。
ML_PREDICT語句相關的Flink運算元的輸送量受到百鍊平台限流的限制。當觸及百鍊平台允許的訪問資料傳輸量上限時,Flink作業會表現出以ML_PREDICT運算元為瓶頸的反壓現象。在限流情況嚴重時,可能會觸發相關運算元的逾時報錯及作業重啟。您可查詢百鍊平台限流瞭解不同模型的限流條件。
文法
ML_PREDICT(TABLE <TABLE NAME>, MODEL <MODEL NAME>, DESCRIPTOR(<INPUT COLUMN NAMES>))入參
參數 | 資料類型 | 說明 |
TABLE <TABLE NAME> | TABLE | 模型推斷的輸入資料流。可以是物理表名,也可以是視圖名。 |
MODEL <MODEL NAME> | MODEL | 註冊的模型服務名字。詳情請參見模型設定註冊模型服務。 |
DESCRIPTOR(<INPUT COLUMN NAMES>) | - | 輸入資料中被用來作為模型推斷列。 |
樣本
測試資料
id | movie_name | user_comment | actual_label |
1 | 好東西 | 最愛小孩子猜聲音那段,算得上看過的電影裡相當浪漫的敘事了。很溫和也很有愛。 | POSITIVE |
2 | 水餃皇后 | 乏善可陳 | NEGATIVE |
測試語句
樣本SQL建立千問Qwen-Turbo模型,使用ML_PREDICT函數對電影評論進行情感分類預測。
CREATE TEMPORARY MODEL ai_analyze_sentiment
INPUT (`input` STRING)
OUTPUT (`content` STRING)
WITH (
'provider'='bailian',
'endpoint'='<YOUR ENDPOINT>',
'apiKey' = '<YOUR KEY>',
'model'='qwen-turbo',
'systemPrompt' = 'Classify the text below into one of the following labels: [positive, negative, neutral, mixed]. Output only the label.'
);
CREATE TEMPORARY VIEW movie_comment(id, movie_name, user_comment, actual_label)
AS VALUES (1, '好東西', '最愛小孩子猜聲音那段,算得上看過的電影裡相當浪漫的敘事了。很溫和也很有愛。', 'positive'), (2, '水餃皇后', '乏善可陳', 'negative');
SELECT id, movie_name, content as predict_label, actual_label
FROM ML_PREDICT(TABLE movie_comment, MODEL ai_analyze_sentiment, DESCRIPTOR(user_comment));輸出結果
預測結果predict_label與實際結果actual_label一致。
id | movie_name | predict_label | actual_label |
1 | 好東西 | POSITIVE | POSITIVE |
2 | 水餃皇后 | NEGATIVE | NEGATIVE |