2026 年 9 月起新建的工作区,在创建时打开 "启用 AI Function" 开关,系统将自动配置默认模型,调用时无需传入 model 参数。对于此之前创建的工作区,需通过下方方式手动配置。
方式二:工作区级别 ALTER WORKSPACE 配置
通过
ALTER WORKSPACE
ALTER WORKSPACE
设置工作区默认模型,对所有使用该工作区的 session 生效:
ALTER WORKSPACE <workspace_name> SET PROPERTIES (
'cz.sql.ai.complete.default.model' = '<connection>:<model>'
);
SELECT ai_complete('请简要介绍量子计算的基本原理。');
方式三:会话级 SET 覆盖
在当前会话中临时指定默认模型,优先级高于工作区属性,仅当前 session 生效:
SET cz.sql.ai.complete.default.model=conn_bailian:qwen/qwen3.6-flash;
SELECT ai_complete('请简要介绍量子计算的基本原理。');
方式四: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_complete('conn_bailian:qwen3.5-plus', '请简要介绍量子计算的基本原理。');
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
调用服务所需的认证密钥
prompt(必需)
待发送给模型的输入内容,为字符串类型。
文本模式:直接传入字符串:
SELECT ai_complete('用一句话解释什么是向量数据库');
支持通过
CONCAT
CONCAT
或
||
||
拼接动态内容:
SELECT ai_complete(
CONCAT('用20字总结以下文本:', content)
) AS summary
FROM articles;
图像模式:使用具名元组语法,同时传入文本提示和图像 URL:
SELECT ai_complete(
'conn_bailian:doubao-seed-2-0-pro-260215',
('图片中有什么?' AS prompt,
GET_PRESIGNED_URL(USER VOLUME, 'images/product.jpg', 36000) AS image)
);
图像模式中
image
image
字段不可为 NULL,否则报错
invalid type of image field: void
invalid type of image field: void
。
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_complete('Hello', json '{"output.behavior":"formatted_json"}');
-- 结果: {"value":"Hello! How can I help you today?"}
-- raw_string
SELECT ai_complete('Hello', json '{"output.behavior":"raw_string"}');
-- 结果: Hello! How can I help you today?
-- fail_on_error
SELECT ai_complete('Hello', json '{"output.behavior":"fail_on_error"}');
-- 结果(成功时同 raw_string): Hello! How can I help you today?
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
模型参数
参数键
类型
说明
model.params.temperature
model.params.temperature
FLOAT
输出随机性,范围 [0, 2],越低越确定
model.params.max_tokens
model.params.max_tokens
INT
最大输出 token 数
model.params.top_p
model.params.top_p
FLOAT
核采样概率,范围 (0, 1]
model.params.enable_thinking
model.params.enable_thinking
BOOL
是否开启 thinking 模式,批量处理建议设为
false
false
运行时参数
参数键
类型
默认值
说明
task.concurrency
task.concurrency
STRING
"1"
"1"
批量处理并发度,上限 128(建议不超过 8)
response.timeout
response.timeout
STRING
-
单次请求超时时间(秒),如
"60"
"60"
总并发数公式:总并发 =
cz.optimizer.ai.function.stage.dop
cz.optimizer.ai.function.stage.dop
(作业级) ×
task.concurrency
task.concurrency
(函数级)
-- 关闭 thinking 模式 + 控制并发
SELECT ai_complete(
question,
json '{"model.params":{"enable_thinking":false},"task.concurrency":"5"}'
) AS answer
FROM questions;
返回值
返回 STRING 类型,具体格式取决于
output.behavior
output.behavior
设置:
formatted_json
formatted_json
(默认):返回
{"value":"模型输出"}
{"value":"模型输出"}
格式的 JSON 字符串
raw_string
raw_string
/
fail_on_error
fail_on_error
:返回模型输出的原始字符串
异常情况:
prompt 为
NULL
NULL
或空字符串时,返回
NULL
NULL
endpoint 不存在时,报错
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_complete('中国的首都在哪里?') AS result;
批量处理表中数据
SELECT
id,
ai_complete(
question,
json '{"output.behavior":"raw_string","model.params":{"enable_thinking":false},"task.concurrency":"5"}'
) AS answer
FROM questions;
CONCAT 动态拼接 prompt
SELECT
product_id,
ai_complete(
CONCAT('请为以下商品写一段30字以内的卖点描述:', product_name)
) AS selling_point
FROM products;
指定连接和模型
SELECT ai_complete(
'cz_ai_function_llm_demo_test:qwen/qwen3.6-flash',
'中国的首都在哪里?'
) AS result;
三种输出模式对比
-- 结构化输出(生产推荐)
SELECT ai_complete(
'用一句话介绍量子计算',
json '{"output.behavior":"formatted_json"}'
) AS result;
-- 原始文本输出
SELECT ai_complete(
'用一句话介绍量子计算',
json '{"output.behavior":"raw_string"}'
) AS result;
图像描述
SELECT ai_complete(
'conn_bailian:doubao-seed-2-0-pro-260215',
('图片中有什么?' AS prompt,
GET_PRESIGNED_URL(USER VOLUME, 'images/product.jpg', 36000) AS image)
) AS result;