ML_PREDICT

本文为您介绍如何使用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