本文為您介紹註冊、查詢、修改、刪除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 ('endpoint' = '<Your_Endpoint>'); -- 調整 endpoint 路徑;重設模型參數,還原為預設參數值。
ALTER MODEL m RESET ('endpoint'); -- 重設 endpoint 路徑;
刪除模型
在資料查詢文本編輯地區,輸入以下命令。
DROP [TEMPORARY] MODEL [IF EXISTS] [catalog_name.][db_name.]model_name樣本
DROP MODEL m;