本文为您介绍如何使用ML_PREDICT进行AI大模型推断。
使用限制
仅实时计算引擎VVR 11.1及以上版本支持。
ML_PREDICT语句相关的Flink算子的吞吐量受到百炼平台限流的限制。当触及百炼平台允许的访问流量上限时,Flink作业会表现出以ML_PREDICT算子为瓶颈的反压现象。在限流情况严重时,可能会触发相关算子的超时报错及作业重启。您可查询百炼平台限流了解不同模型的限流条件,或联系商务申请或PDSA了解如何解除限流。
语法
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 | 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 predicit_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 |
该文章对您有帮助吗?