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;


注意事项

  • model 参数可省略:通过工作区开关(新工作区)、
    ALTER WORKSPACE
    ALTER WORKSPACE
    或会话级
    SET
    SET
    配置
    cz.sql.ai.summarize.default.model
    cz.sql.ai.summarize.default.model
    后,调用时无需传 model 参数,系统自动路由至默认模型。
  • max_words 是目标值:不是硬限制,实际输出字数可能有 ±20% 偏差,不要依赖精确字数做下游处理。
  • max_words=0 返回原文:函数直接返回原始文本,不调用模型做摘要。
  • 输出语言自动跟随输入语言:无需额外指定。
  • 先过滤再处理:对大表使用时,建议先用
    WHERE
    WHERE
    过滤出需要处理的行,避免不必要的模型调用。
  • 结果具有非确定性:LLM 输出具有非确定性,同一输入多次执行结果可能略有差异。
  • 输入长度受模型限制:输入文本长度受底层模型 context window 限制(qwen3-max-preview 约 32K tokens)。
  • 聚合摘要不支持:不支持聚合函数版本(如对 GROUP BY 多行合并摘要)。
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询