AI_SUMMARIZE
AI_SUMMARIZE
AI_SUMMARIZE
是云器 Lakehouse 提供的 AI 文本摘要函数,对输入文本生成简洁的摘要。支持中文、英文、日文等多语言,可通过
max_words
max_words
参数控制摘要长度,无需编写 prompt,只需一行 SQL 即可完成文本摘要。
云器将 AI 计算下沉至存储层与执行引擎,
AI_SUMMARIZE
AI_SUMMARIZE
可直接在 SQL 查询中对表中任意文本列调用,与过滤、聚合、JOIN 等操作自由组合,无需将数据导出到外部系统。
语法
AI_SUMMARIZE
AI_SUMMARIZE
支持以下调用形式:
-- 使用工作区默认模型(推荐)
AI_SUMMARIZE(<content> [, <max_words>] [, json '{}'])
-- 手动指定连接和模型
AI_SUMMARIZE('<connection>:<model>', <content> [, <max_words>] [, json '{}'])
参数说明
model(可选)
指定要调用的语言模型。从 2026 年 9 月起,该参数可以省略——模型通过工作区默认模型自动路由,无需在每次调用时显式传入。
省略 model 参数时调用方式最简洁:
SELECT AI_SUMMARIZE('云器Lakehouse是全托管的湖仓一体架构平台,基于云原生设计理念从零打造,支持PB级数据实时分析。', 30);
工作区默认模型可通过以下方式配置:
方式一:创建新工作区时开启开关(推荐)
2026 年 9 月起新建的工作区,在创建时打开 "启用 AI Function" 开关,系统将自动配置默认模型,调用时无需传入 model 参数。对于此之前创建的工作区,需通过下方方式手动配置。
方式二:工作区级别 ALTER WORKSPACE 配置
通过
ALTER WORKSPACE
ALTER WORKSPACE
设置工作区默认模型,对所有使用该工作区的 session 生效:
ALTER WORKSPACE <workspace_name> SET PROPERTIES (
'cz.sql.ai.summarize.default.model' = '<connection>:<model>'
);
SELECT AI_SUMMARIZE('云器Lakehouse是全托管的湖仓一体架构平台,基于云原生设计理念从零打造,支持PB级数据实时分析。', 30);
方式三:会话级 SET 覆盖
在当前会话中临时指定默认模型,优先级高于工作区属性,仅当前 session 生效:
SET cz.sql.ai.summarize.default.model=conn_bailian:qwen/qwen3.6-flash;
SELECT AI_SUMMARIZE('云器Lakehouse是全托管的湖仓一体架构平台,基于云原生设计理念从零打造,支持PB级数据实时分析。', 30);
方式四:API Connection 连接对象
通过
CREATE API CONNECTION
CREATE 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', '云器Lakehouse是全托管的湖仓一体架构平台,基于云原生设计理念从零打造,支持PB级数据实时分析。', 30);
CREATE API CONNECTION
CREATE API CONNECTION
各字段说明:
| 字段 | 说明 |
|---|
TYPE
TYPE | 固定为 ai_function
ai_function |
PROVIDER
PROVIDER | 模型供应商标识,如 'bailian'
'bailian' 、'openai'
'openai' 、'anthropic'
'anthropic' 等 |
BASE_URL
BASE_URL | 模型服务的 API 基础地址 |
API_KEY
API_KEY | 调用服务所需的认证密钥 |
content(必需)
待摘要的文本内容,支持 CHAR、VARCHAR、STRING 类型。
max_words(可选,默认值 50)
模型输出的目标字数。设为
0
0
时返回原始文本(不做摘要);负数报错。
options(可选)
使用
json '{}'
json '{}'
字面量语法传入,控制输出格式:
输出格式控制
| 参数键 | 类型 | 默认值 | 说明 |
|---|
output.behavior
output.behavior | STRING | formatted_json
formatted_json | 输出格式:formatted_json
formatted_json / raw_string
raw_string / fail_on_error
fail_on_error |
三种输出模式对比:
| 模式 | 成功输出 | 错误输出 | 适用场景 |
|---|
formatted_json
formatted_json | {"value":"模型输出"}
{"value":"模型输出"} | {"value":"","error_message":"..."}
{"value":"","error_message":"..."} | 生产环境默认,结构化输出便于下游解析 |
raw_string
raw_string | 原始字符串 | NULL | 兼容旧行为,应急使用 |
fail_on_error
fail_on_error | 原始字符串 | 抛异常,整个 job 失败 | 严格模式,不容忍单行错误 |
-- formatted_json(默认)
SELECT AI_SUMMARIZE('云器Lakehouse是全托管的湖仓一体架构平台。', json '{"output.behavior":"formatted_json"}');
-- 结果: {"value":"云器Lakehouse:全托管PB级实时分析湖仓平台"}
-- raw_string
SELECT AI_SUMMARIZE('云器Lakehouse是全托管的湖仓一体架构平台。', json '{"output.behavior":"raw_string"}');
-- 结果: 云器Lakehouse:全托管PB级实时分析湖仓平台
-- fail_on_error
SELECT AI_SUMMARIZE('云器Lakehouse是全托管的湖仓一体架构平台。', json '{"output.behavior":"fail_on_error"}');
-- 结果(成功时同 raw_string): 云器Lakehouse:全托管PB级实时分析湖仓平台
output.behavior
output.behavior
输入兼容性(大小写不敏感,
_
_
、
.
.
、
-
-
等价):
| 输入值 | 解析结果 |
|---|
formatted_json
formatted_json / formatted.json
formatted.json / json
json | FORMATTED_JSON |
raw_string
raw_string / raw.string
raw.string / raw
raw | RAW_STRING |
fail_on_error
fail_on_error / fail.on.error
fail.on.error / fail-on-error
fail-on-error / fail
fail | FAIL_ON_ERROR |
返回值
返回 STRING 类型,具体格式取决于
output.behavior
output.behavior
设置:
formatted_json
formatted_json
(默认):返回 {"value":"模型输出"}
{"value":"模型输出"}
格式的 JSON 字符串
raw_string
raw_string
/ fail_on_error
fail_on_error
:返回模型输出的原始字符串
异常情况:
- 输入为
NULL
NULL
时,返回 NULL
NULL
- 输入为空字符串
''
''
时,返回空字符串 ''
''
max_words
max_words
为负数时,报错 max_words must be non-negative, got: -1
max_words must be non-negative, got: -1
max_words
max_words
为目标值而非硬限制,实际输出字数可能有 ±20% 偏差
- model 不存在时,报错
CZLH-67000: No available endpoints found
CZLH-67000: No available endpoints found
- model 格式错误(无正确的前缀)时,报错
CZLH-65000: Invalid model coordinates
CZLH-65000: Invalid model coordinates
使用示例
基础用法(省略 model 参数)
SELECT AI_SUMMARIZE('云器Lakehouse是全托管的湖仓一体架构平台,基于云原生设计理念从零打造,支持PB级数据实时分析。', 15);
-- 返回:云器Lakehouse:全托管PB级实时分析湖仓平台
指定连接和模型
SELECT AI_SUMMARIZE(
'conn_bailian:qwen3.5-plus',
'云器Lakehouse是全托管的湖仓一体架构平台,基于云原生设计理念从零打造,支持PB级数据实时分析。',
15
) AS summary;
使用默认字数
SELECT AI_SUMMARIZE(
'conn_bailian:qwen3.5-plus',
'云器Lakehouse是全托管的湖仓一体架构平台,基于云原生设计理念从零打造,支持PB级数据实时分析。'
) AS summary;
英文文本
SELECT AI_SUMMARIZE(
'conn_bailian:qwen3.5-plus',
'Clickzetta Lakehouse is an enterprise data platform supporting batch, streaming, and interactive analytics across multiple cloud environments.',
15
) AS summary;
max_words=0 返回原文
SELECT AI_SUMMARIZE(
'conn_bailian:qwen3.5-plus',
'云器Lakehouse是全托管的湖仓一体架构平台。',
0
) AS summary;
-- 返回:云器Lakehouse是全托管的湖仓一体架构平台。
批量处理表数据
SELECT
id,
AI_SUMMARIZE('conn_bailian:qwen3.5-plus', review_content, 30) AS summary
FROM customer_reviews
WHERE review_content IS NOT NULL
LIMIT 100;
使用 output.behavior 控制输出格式
SELECT AI_SUMMARIZE(
'conn_bailian:qwen3.5-plus',
'云器Lakehouse是全托管的湖仓一体架构平台。',
json '{"output.behavior":"formatted_json"}'
) AS summary;
注意事项