AI_SUMMARIZE
概述
AI_SUMMARIZE
AI_SUMMARIZE
是云器 Lakehouse 提供的 AI 文本摘要函数,对输入文本生成简洁的摘要。支持中文、英文、日文等多语言,可通过
max_words
max_words
参数控制摘要长度,无需编写 prompt,只需一行 SQL 即可完成文本摘要。
云器将 AI 计算下沉至存储层与执行引擎,
AI_SUMMARIZE
AI_SUMMARIZE
可直接在 SQL 查询中对表中任意文本列调用,与过滤、聚合、JOIN 等操作自由组合,无需将数据导出到外部系统。
语法
AI_SUMMARIZE(model, content [, max_words])
参数说明
必需参数
| 参数 | 类型 | 说明 |
|---|
model
model | STRING | 模型标识,指定用于生成摘要的 AI 模型 |
content
content | STRING | 待摘要的文本内容,支持 CHAR、VARCHAR、STRING 类型 |
可选参数
| 参数 | 类型 | 默认值 | 说明 |
|---|
max_words
max_words | INT | 50 | 模型输出的目标字数。设为 0
0 时返回原始文本(不做摘要);负数报错 |
model 参数详细说明
model
model
参数支持两种来源:
来源一:API Gateway Endpoint(推荐)
平台管理员在 API Gateway 中预先配置模型服务,普通用户通过
endpoint:
endpoint:
前缀引用。
'endpoint:qwen3-max-preview'
来源二:API Connection 连接对象
CREATE API CONNECTION conn_bailian
TYPE ai_function
PROVIDER = 'bailian'
BASE_URL = 'https://dashscope.aliyuncs.com/api/v1'
API_KEY = 'sk-xxxxxxxxxxxxxxxxxxxxxxxx';
-- 引用格式:<连接名称>:<模型名称>
SELECT AI_SUMMARIZE('conn_bailian:qwen3.5-plus', content, 30) AS summary
FROM articles;
返回值
返回 STRING 类型,包含输入文本的摘要。
- 输入为
NULL
NULL
时,返回 NULL
NULL
- 输入为空字符串
''
''
时,返回空字符串 ''
''
max_words
max_words
为目标值而非硬限制,实际输出字数可能有 ±20% 的偏差
错误行为
| 错误场景 | 错误信息 | 解决方法 |
|---|
max_words
max_words 为负数 | max_words must be non-negative, got: -1
max_words must be non-negative, got: -1 | max_words
max_words 必须 ≥ 0 |
| Endpoint 不存在 | CZLH-67000 No available endpoints found
CZLH-67000 No available endpoints found | 检查 endpoint 名称是否正确 |
| model 格式错误(缺少前缀) | CZLH-65000 Invalid model coordinates
CZLH-65000 Invalid model coordinates | 使用 'endpoint:名称'
'endpoint:名称' 或 '连接名:模型名'
'连接名:模型名' 格式 |
| 缺少必需参数 | CZLH-65000 AI function must have at least two arguments
CZLH-65000 AI function must have at least two arguments | 确保传入 model
model 和 content
content 两个参数 |
使用说明
model
model
为必填参数,省略会导致第一个字符串参数被误解析为模型名。
max_words
max_words
是目标值,不是硬限制。实际输出字数可能有 ±20% 偏差,不要依赖精确字数做下游处理。
max_words=0
max_words=0
时函数返回原始文本,不调用模型做摘要。
- 输出语言自动跟随输入语言,无需额外指定。
- 对大表使用时,建议先用
WHERE
WHERE
过滤出需要处理的行,避免不必要的模型调用。
- LLM 输出具有非确定性,同一输入多次执行结果可能略有差异。
示例
基本用法
-- SUM-01:指定 max_words=15
SELECT AI_SUMMARIZE(
'endpoint:qwen3-max-preview',
'云器Lakehouse是全托管的湖仓一体架构平台,基于云原生设计理念从零打造,支持PB级数据实时分析。',
15
) AS summary;
-- 返回:云器Lakehouse:全托管PB级实时分析湖仓平台
使用默认字数
-- SUM-02:不传 max_words,默认约 50 字
SELECT AI_SUMMARIZE(
'endpoint:qwen3-max-preview',
'云器Lakehouse是全托管的湖仓一体架构平台,基于云原生设计理念从零打造,支持PB级数据实时分析。'
) AS summary;
英文文本
-- SUM-03:英文输入返回英文摘要
SELECT AI_SUMMARIZE(
'endpoint:qwen3-max-preview',
'Clickzetta Lakehouse is an enterprise data platform supporting batch, streaming, and interactive analytics across multiple cloud environments.',
15
) AS summary;
max_words=0 返回原文
-- SUM-06:max_words=0 时返回原始文本
SELECT AI_SUMMARIZE(
'endpoint:qwen3-max-preview',
'云器Lakehouse是全托管的湖仓一体架构平台。',
0
) AS summary;
-- 返回:云器Lakehouse是全托管的湖仓一体架构平台。
批量处理表数据
SELECT
id,
AI_SUMMARIZE('endpoint:qwen3-max-preview', review_content, 30) AS summary
FROM customer_reviews
WHERE review_content IS NOT NULL
LIMIT 100;
使用 API Connection
SELECT AI_SUMMARIZE('conn_bailian:qwen3.5-plus', article_body, 50) AS abstract
FROM news_articles;
限制说明
| 限制项 | 说明 |
|---|
| model 参数 | 必须使用 'endpoint:名称'
'endpoint:名称' 或 '连接名:模型名'
'连接名:模型名' 格式,不可省略 |
| 输入长度 | 受底层模型 context window 限制(qwen3-max-preview 约 32K tokens) |
| 输出长度 | max_words
max_words 为目标值,实际输出可能有 ±20% 偏差 |
| 聚合摘要 | 不支持聚合函数版本(如对 GROUP BY 多行合并摘要) |
| 模型依赖 | 需要 AI Gateway 中已配置可用的 Endpoint,或已创建 API Connection |
| 结果确定性 | LLM 输出具有非确定性,同一输入多次执行结果可能略有差异 |