本文为您介绍如何使用AI_SUMMARIZE通过AI大模型生成文本摘要。
使用限制
-
仅实时计算引擎VVR 11.4及以上版本支持。
-
AI_SUMMARIZE语句相关的Flink算子的吞吐量受到模型平台限流的限制。当触及平台允许的访问流量上限时,Flink作业会表现出以该算子为瓶颈的反压现象。在限流情况严重时,可能会触发相关算子的超时报错及作业重启。
语法
AI_SUMMARIZE(
MODEL => MODEL <MODEL NAME>,
INPUT => <INPUT COLUMN NAME>,
MAX_LENGTH => <MAX LENGTH>
)
入参
|
参数 |
数据类型 |
说明 |
|
MODEL <MODEL NAME> |
MODEL |
注册的模型服务名字。详情请参见模型设置注册模型服务。 注意:目前需要该模型的输出类型为 VARIANT 类型。 |
|
<INPUT COLUMN NAME> |
STRING |
模型的待分析数据。 |
|
<MAX LENGTH> |
INTEGER |
模型输出的最大长度。 注意:目前该入参需要是一个常量。 |
输出
|
参数 |
数据类型 |
说明 |
|
summary |
STRING |
总结的内容 |
示例
测试数据
|
id |
description |
|
1 |
什么是 Flink Apache Flink 是一个开源的分布式流处理框架,用于对实时数据流和批量数据进行有状态计算。 简单理解: Flink 是一个处理实时数据的计算引擎 可以处理持续不断产生的数据流(如网站点击、物联网传感器数据、股票交易等) 提供低延迟、高吞吐、精确一次的语义保证 同时支持流处理和批处理 |
测试语句
示例SQL创建千问Qwen-Plus模型,使用AI_SUMMARIZE总结输入数据。
CREATE TEMPORARY MODEL general_model
INPUT (`input` STRING)
OUTPUT (`content` VARIANT)
WITH (
'provider' = 'openai-compat',
'task' = 'chat/completions',
'model' = 'qwen-plus'
);
CREATE TEMPORARY VIEW infos(id, description)
AS VALUES (1, '
什么是 Flink
Apache Flink 是一个开源的分布式流处理框架,用于对实时数据流和批量数据进行有状态计算。
简单理解:
Flink 是一个处理实时数据的计算引擎
可以处理持续不断产生的数据流(如网站点击、物联网传感器数据、股票交易等)
提供低延迟、高吞吐、精确一次的语义保证
同时支持流处理和批处理
');
-- Use positional argument to call AI_SUMMARIZE
SELECT id, summary
FROM infos, LATERAL TABLE(
AI_SUMMARIZE(MODEL general_model, description, 10));
-- Use named argument to call AI_SUMMARIZE
SELECT id, summary
FROM infos, LATERAL TABLE(
AI_SUMMARIZE(
MODEL => MODEL general_model,
INPUT => description,
MAX_LENGTH => 10));
输出结果
|
id |
summary |
|
1 |
实时流处理引擎 |