本文为您介绍注册、查询、修改、删除AI模型的DDL数据定义语句。
使用须知
仅VVR 11.7及以上版本支持,需开通Flink AI服务(内置模型)。
注册模型
主账号已在对应地域开通 Flink AI服务,可使用内置模型模式创建模型。
CREATE TEMPORARY MODEL my_llm
INPUT (prompt String COMMENT '输入提示词')
OUTPUT (response String COMMENT '模型生成的文本')
WITH (
'provider' = 'dashscope',
'task' = 'chat/completions',
'model' = 'qwen3.5-flash'
);
-
无需指定
endpoint参数:系统自动选择对应的服务端点。 -
无需指定
api-key参数:系统使用Flink托管的API-Key进行认证。 -
需指定
task参数:声明模型的任务类型。
WITH参数
通用
|
参数 |
说明 |
数据类型 |
是否必填 |
默认值 |
备注 |
|
provider |
模型服务类型。 |
String |
是 |
无 |
可选值
|
|
task |
模型任务类型。 |
String |
是 |
无 |
参数取值如下: |
|
model |
调用的服务端的具体模型。 |
String |
是 |
无 |
根据不同的任务类型,选择不同的模型,详情请参见内置模型列表。 |
|
max-context-size |
单个请求的上下文的最大容量 |
Integer |
否 |
无 |
如果超过了最大容量,会触发context-overflow-action中定义的行为。 |
|
context-overflow-action |
单个请求的上下文超过最大容量时的处理行为 |
String |
否 |
|
可选值如下:
|
|
error-handling-strategy |
处理模型请求报错的策略。 |
String |
否 |
retry |
可选值:
|
|
retry-num |
重试次数。 |
int |
否 |
100 |
仅 |
|
retry-fallback-strategy |
达到最大重试次数后,报错的兜底策略。 |
String |
否 |
failover |
可选值: 仅 |
|
retry-backoff-strategy |
重试退避策略。定义了重试之间的时间间隔如何计算。 |
String |
否 |
fixed |
可选值:
|
|
retry-backoff-base-interval |
重试退避的基础时间间隔 |
Duration |
否 |
1 s |
- |
|
content-type |
输入数据的类型。适用于 Chat/Completions 和 Multimodal-Embedding 任务。 |
String |
否 |
text |
|
|
content-types |
多模态模型的输入列内容类型。适用于 Chat/Completions 和 Multimodal-Embedding 任务。 |
String |
否 |
无 |
说明
仅 VVR 11.8 及以上版本支持。详情请参见通用调用。 |
chat/completions
文本生成类任务使用caht/completions,支持如下参数:
|
参数 |
说明 |
数据类型 |
是否必填 |
默认值 |
备注 |
|
system-prompt |
请求回答时的系统提示。 |
String |
否 |
"You are a helpful assistant." |
支持设置该参数值为空值。 |
|
temperature |
控制生成文本时对每个候选词概率分布的平滑程度。 |
Float |
否 |
无 |
取值范围: [0, 2)。不建议取值为0,无意义。 较高的temperature值会降低概率分布的峰值,使得更多的低概率词被选择,生成结果更加多样化;而较低的temperature值则会增强概率分布的峰值,使得高概率词更容易被选择,生成结果更加确定。 |
|
top-p |
生成过程中核采样方法的概率阈值。 |
Float |
否 |
无 |
取值越大,生成的随机性越高;取值越小,生成的确定性越高。 |
|
stop |
停用词。 |
String |
否 |
无 |
在模型生成的内容即将包含指定的字符串时自动停止。 |
|
max-tokens |
指定模型可生成的最大token个数。 |
Integer |
否 |
无 |
会受模型能力限制。 |
|
presence-penalty |
重复内容控制。 |
Double |
否 |
无 |
取值范围在 -2.0 到 2.0 之间。正值会根据新词是否已出现在文本中对其进行惩罚,从而增加模型讨论新主题的可能性。 |
|
n |
为每条输入生成的输出条数。 |
int |
否 |
无 |
- |
|
seed |
模型回答的随机数种子。 |
Long |
否 |
无 |
如果指定,模型平台将尽力进行确定性采样,使得使用相同 seed 和参数的重复请求尽量返回相同结果。 |
|
response-format |
返回值格式。 |
String |
否 |
text |
可选值:
|
|
extra-body |
请求中额外的http body。 |
String |
否 |
无 |
应为 JSON 格式字符串。详情请参见extra-body说明 |
|
user-prompt |
请求回答时的用户提示词。 |
String |
否 |
无 |
与system-prompt类似,区别在于是以用户身份提交的提示词。 |
embeddings
文本向量化任务使用embeddings,支持如下参数:
|
参数 |
说明 |
数据类型 |
是否必填 |
默认值 |
备注 |
|
dimension |
控制输出的向量维度。 |
Integer |
否 |
无 |
以具体模型支持的维度取值为准。通常为 1024、768、512 等值。 |
multimodal-embedding
多模态向量化任务使用 multimodal-embedding,支持将文本、图片或图文混合输入转换为向量,支持如下参数:
|
参数 |
说明 |
数据类型 |
是否必填 |
默认值 |
备注 |
|
dimension |
控制输出的向量维度。 |
Integer |
否 |
无 |
以具体模型支持的维度取值为准。通常为 1024、768、512 等值。 |
示例一:仅图片
CREATE TEMPORARY MODEL multimodal_embedding_model
INPUT (`input` STRING)
OUTPUT (`content` ARRAY<FLOAT>)
WITH (
'provider' = 'dashscope',
'task' = 'multimodal-embedding',
'model' = 'qwen3-vl-embedding',
'dimension' = '512',
'content-type' = 'image_url'
);
示例二:图文混合
图文融合仅支持 多模态融合向量 文档中通过 enable_fusion 启用融合能力的模型。Flink 根据模型的输入列数自动判断是否开启融合,无需配置额外参数。
CREATE TEMPORARY MODEL fusion_embedding_model
INPUT (text_input STRING, image_input STRING)
OUTPUT (embedding ARRAY<FLOAT>)
WITH (
'provider' = 'dashscope',
'task' = 'multimodal-embedding',
'model' = 'qwen3-vl-embedding',
'dimension' = '512',
'content-types' = 'text;image_url'
);
extra-body说明
extra-body 的值为 JSON 格式字符串,用于向模型请求体中添加额外参数。具体可用参数取决于模型服务提供方,以下为百炼平台常见参数(包括但不限于):
|
参数 |
类型 |
说明 |
|
|
Integer |
采样候选集大小,值越大随机性越高。详情请参见请求体。 |
|
|
Boolean |
是否开启深度思考模式(适用于 Qwen3 等支持思考的模型)。详情请参见深度思考。 |
|
|
Integer |
思考过程的最大 token 长度。仅在 |
|
|
Object |
翻译模型的翻译参数。详情请参见翻译能力。 |
|
|
Boolean |
是否使用互联网搜索结果辅助生成回答,默认为 |
|
|
Object |
联网搜索策略配置。仅在 |
示例
CREATE MODEL my_model
USING openai_compatible
WITH (
'provider' = 'openai-compat',
'model' = 'qwen3.5-flash',
'task' = 'chat/completions',
'extra-body' = '{"enable_thinking": true, "thinking_budget": 4096}'
);
查看模型
在数据查询文本编辑区域,输入以下命令。
-
展示注册的模型名字。
SHOW MODELS [ ( FROM | IN ) [catalog_name.]database_name ]; -
展示创建模型的语句。
SHOW CREATE MODEL [catalog_name.][db_name.]model_name; -
展示模型的输入输出结构。
DESCRIBE MODEL [catalog_name.][db_name.]model_name;
示例
SHOW MODELS;
-- RESULT
--+------------+
--| model name |
--+------------+
--| m |
--+------------+
DESCRIBE MODEL m;
-- RESULT
-- +---------+--------+------+----------+
-- | name | type | null | is input |
-- +---------+--------+------+----------+
-- | content | String | TRUE | TRUE |
-- | label | BIGINT | TRUE | FALSE |
-- +---------+--------+------+----------+
修改模型
在数据查询文本编辑区域,输入以下命令。
ALTER MODEL [IF EXISTS] [catalog_name.][db_name.]model_name {
RENAME TO new_table_name
SET (key1=val1, ...)
RESET (key1, ...)
}
示例
-
重命名已注册的模型。
ALTER MODEL m RENAME TO m1; -- 重命名为 m1; -
修改模型参数。
ALTER MODEL m SET ('system-prompt' = '<Your_System_Prompt>'); -- 调整系统提示词; -
重置模型参数,还原为默认参数值。
ALTER MODEL m RESET ('system-prompt'); -- 重置系统提示词;
删除模型
在数据查询文本编辑区域,输入以下命令。
DROP [TEMPORARY] MODEL [IF EXISTS] [catalog_name.][db_name.]model_name
示例
DROP MODEL m;