模型设置

更新时间:
复制 MD 格式

本文为您介绍注册、查询、修改、删除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

可选值openai-compatdashscope

  • dashscope(推荐):兼容多模态任务。如多模态嵌入multimodal-embedding

  • openai-compat:非多模态可选。

task

模型任务类型。

String

参数取值如下:

model

调用的服务端的具体模型。

String

根据不同的任务类型,选择不同的模型,详情请参见内置模型列表

max-context-size

单个请求的上下文的最大容量

Integer

如果超过了最大容量,会触发context-overflow-action中定义的行为。

context-overflow-action

单个请求的上下文超过最大容量时的处理行为

String

truncated-tail

可选值如下:

  • truncated-tail: 自动从尾部裁剪超出容量的token,保留最近 max-context-sizetoken。不记录日志。

  • truncated-tail-log: 自动从尾部裁剪超出容量的token,保留最近 max-context-sizetoken。记录截断日志。

  • truncated-head: 从头部裁剪最早的token,保留最新 max-context-sizetoken。

  • truncated-head-log: 从头部裁剪最早的token,保留最新 max-context-sizetoken。记录截断日志。

  • skipped: 直接丢弃该条数据。不记录日志。

  • skipped-log: 直接丢弃该条数据并记录日志。

error-handling-strategy

处理模型请求报错的策略。

String

retry

可选值:

  • retry:重试发送请求

  • failover:抛出异常

  • ignore:忽略异常、跳过该条数据

retry-num

重试次数。

int

100

error-handling-strategy = retry时生效

retry-fallback-strategy

达到最大重试次数后,报错的兜底策略。

String

failover

可选值:

error-handling-strategy配置除retry值时生效。

retry-backoff-strategy

重试退避策略。定义了重试之间的时间间隔如何计算。

String

fixed

可选值:

  • fixed:固定间隔

  • exponential:指数间隔

retry-backoff-base-interval

重试退避的基础时间间隔

Duration

1 s

-

content-type

输入数据的类型。适用于 Chat/Completions 和 Multimodal-Embedding 任务。

String

text

  • 单输入列的内容类型。可取值text(默认)或image_url

  • content-types互斥。

content-types

多模态模型的输入列内容类型。适用于 Chat/Completions 和 Multimodal-Embedding 任务。

String

  • 以分号分隔的列表,每个输入列对应一个类型(如text;image_url)。

    支持的类型:textimage_urlmulti_image_urls

  • content-type互斥。

说明

仅 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

可选值:

  • text

  • json_object

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'
);

extra-body说明

extra-body 的值为 JSON 格式字符串,用于向模型请求体中添加额外参数。具体可用参数取决于模型服务提供方,以下为百炼平台常见参数(包括但不限于):

参数

类型

说明

top_k

Integer

采样候选集大小,值越大随机性越高。详情请参见请求体

enable_thinking

Boolean

是否开启深度思考模式(适用于 Qwen3 等支持思考的模型)。详情请参见深度思考

thinking_budget

Integer

思考过程的最大 token 长度。仅在 enable_thinkingtrue 时生效。详情请参见限制思考长度

translation_options

Object

翻译模型的翻译参数。详情请参见翻译能力

enable_search

Boolean

是否使用互联网搜索结果辅助生成回答,默认为 false。详情请参见联网搜索

search_options

Object

联网搜索策略配置。仅在 enable_searchtrue 时生效。详情请参见设置搜索量级策略

示例

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 ('endpoint' = '<Your_Endpoint>'); -- 调整 endpoint 路径;
  • 重置模型参数,还原为默认参数值。

    ALTER MODEL m RESET ('endpoint'); -- 重置 endpoint 路径;

删除模型

数据查询文本编辑区域,输入以下命令。

DROP [TEMPORARY] MODEL [IF EXISTS] [catalog_name.][db_name.]model_name

示例

DROP MODEL m;