すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:モデル DDL

最終更新日:Sep 19, 2026

このドキュメントでは、Flink SQL で AI モデルを登録、クエリ、変更、削除するためのデータ定義言語 (DDL) ステートメントについて説明します。

使用上の注意

VVR 11.7 以降でのみサポートされています。Flink AI Service (組み込みモデル) を有効化する必要があります。

モデルの登録

マスターアカウントでターゲットリージョンで Flink AI Service を有効化すると、組み込みモデルモードでモデルを作成できます。

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 キーを使用して行われます。

  • task パラメーターは、モデルのタスクタイプを宣言するのに必須です。

WITH パラメーター

全般

パラメーター

説明

データ型

必須

デフォルト値

備考

provider

モデルサービスのタイプです。

文字列

はい

なし

有効な値:openai-compat、dashscope、triton。

  • dashscope (推奨):multimodal-embedding などのマルチモーダルタスクをサポートします。

  • openai-compat:マルチモーダル以外のタスクではオプションです。

  • triton:Triton 推論サービスの呼び出しに使用します。詳細については、「Triton 推論サービスの呼び出し」をご参照ください。

task

モデルのタスクタイプです。

文字列

はい

なし

有効な値:

model

呼び出す特定のモデルです。

文字列

はい

なし

タスクタイプに基づいてモデルを選択します。詳細については、「組み込みモデルリスト」をご参照ください。

max-context-size

単一リクエストの最大コンテキストサイズです。

int

いいえ

なし

コンテキストが最大容量を超えると、context-overflow-action で定義されたアクションが実行されます。

context-overflow-action

リクエストのコンテキストが最大容量を超えた場合に実行するアクションです。

文字列

いいえ

truncated-tail

有効な値:

  • truncated-tail:容量を超えると自動的にトークンを切り捨て、最新の max-context-size トークンを保持します。ログは記録されません。

  • truncated-tail-log:容量を超えた場合、末尾からトークンを自動的に切り捨て、最新の max-context-size トークンを保持します。切り捨てはログに記録されます。

  • truncated-head:先頭の最も古いトークンを切り捨て、最新の max-context-size トークンを保持します。

  • truncated-head-log:先頭の最も古いトークンを切り捨て、最新の max-context-size トークンを保持します。切り捨てはログに記録されます。

  • skipped:データレコードを直接破棄します。ログは記録されません。

  • skipped-log:データを破棄し、ログを記録します。

error-handling-strategy

モデルリクエストのエラーを処理するためのストラテジーです。

文字列

いいえ

retry

有効な値:

  • retry:リクエストをリトライします。

  • failover:例外をスローします。

  • ignore:例外を無視し、データレコードをスキップします。

retry-num

リトライ回数です。

int

いいえ

100

error-handling-strategy = retry の場合にのみ有効です。

retry-fallback-strategy

最大リトライ回数に達した後に使用するフォールバックストラテジーです。

文字列

いいえ

failover

有効な値:

error-handling-strategy が retry に設定されている場合にのみ有効です。

retry-backoff-strategy

リトライバックオフストラテジーです。リトライ間のインターバルを計算する方法を定義します。

文字列

いいえ

fixed

有効な値:

  • fixed:固定インターバル。

  • exponential:エクスポネンシャルインターバル。

retry-backoff-base-interval

リトライバックオフのベースタイムインターバルです。

Duration

いいえ

1 s

-

content-type

入力データのコンテンツタイプです。Chat/Completions および Multimodal-Embedding タスクに適用されます。

文字列

いいえ

text

  • 単一の入力列のコンテンツタイプです。有効な値:text (デフォルト) または image_url。

  • content-types とは相互に排他的です。

content-types

マルチモーダルモデルの入力列のコンテンツタイプです。Chat/Completions および Multimodal-Embedding タスクに適用されます。

文字列

いいえ

なし

  • セミコロン区切りのリストです。各入力列は 1 つのタイプに対応します (例:text;image_url)。

    サポートされているタイプには、text、image_url、multi_image_urls が含まれます。

  • content-type とは相互に排他的です。

説明

VVR 11.8 以降でのみサポートしています。詳細については、「一般的な呼び出し」をご参照ください。

chat/completions

テキスト生成タスクでは chat/completions を使用します。次のパラメーターがサポートされています:

パラメーター

説明

データ型

必須

デフォルト値

備考

system-prompt

リクエストのシステムプロンプトです。

文字列

いいえ

"You are a helpful assistant."

空の文字列がサポートされています。

temperature

各候補トークンの確率分布の滑らかさを制御します。

浮動小数点数

いいえ

なし

有効範囲: [0, 2)。値 0 は推奨されず、実用的な意味はありません。

temperature が高いほど確率分布が平坦になり、確率の低いトークンが選択されやすくなるため、出力がより多様になります。temperature が低いほど分布が急になり、確率の高いトークンが選択されやすくなるため、出力がより決定的になります。

top-p

ニュークリアスサンプリングの確率のしきい値です。

浮動小数点数

いいえ

なし

値が高いほどランダム性が高まり、低いほど決定性が高まります。

stop

停止シーケンスです。

文字列

いいえ

なし

指定された文字列が生成される直前に、モデルはコンテンツの生成を停止します。

max-tokens

モデルが生成できるトークンの最大数です。

整数

いいえ

なし

モデルの仕様によって制限されます。

presence-penalty

トークンの繰り返しを制御します。

浮動小数点数

いいえ

なし

有効範囲: -2.0 から 2.0。正の値は、テキスト内に既出のトークンにペナルティを課し、モデルが新しいトピックについて話す可能性を高めます。

n

各入力に対して生成する出力の数です。

整数

いいえ

なし

-

seed

モデルの応答生成用の乱数シードです。

整数

いいえ

なし

指定された場合、モデルプラットフォームは決定的サンプリングを試みます。そのため、同じシードとパラメーターでリクエストを繰り返した場合、可能な限り同じ結果が返されます。

response-format

戻り値のフォーマットです。

文字列

いいえ

text

有効な値:

  • text

  • json_object

extra-body

リクエストの追加の HTTP ボディです。

文字列

いいえ

なし

JSON 形式の文字列である必要があります。詳細については、「extra-body の説明」をご参照ください。

user-prompt

リクエストのユーザープロンプトです。

文字列

いいえ

なし

system-prompt に似ていますが、ユーザーロールとして送信されます。

埋め込み

テキスト埋め込みタスクは、次のパラメーターをサポートしています:

パラメーター

説明

データ型

必須

デフォルト値

備考

dimension

出力ベクトルのディメンションです。

整数

いいえ

なし

サポートされているディメンションは、特定のモデルに依存します。一般的な値は 1024、768、512 です。

multimodal-embedding

マルチモーダル埋め込みタスクでは、multimodal-embedding を使用して、テキスト、画像、またはテキストと画像が混在する入力をベクトルに変換します。次のパラメーターをサポートしています。

パラメーター

説明

データ型

必須

デフォルト値

備考

dimension

出力ベクトルのディメンション。

文字列

いいえ

なし

サポートされるディメンションは、モデルによって異なります。一般的な値は 1024、768、512 です。

例 1:画像のみ

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

例 2:テキストと画像

テキストと画像の融合は、「マルチモーダル融合ベクトル」で説明されているとおり、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 形式の文字列です。利用可能なパラメーターは、モデルサービスプロバイダーによって異なります。以下は、Alibaba Cloud Model Studio でサポートされている一般的なパラメーターです (これらに限定されません):

パラメーター

型

説明

top_k

整数

サンプリング候補セットのサイズです。値が大きいほど、ランダム性が高まります。詳細については、「リクエストボディ」をご参照ください。

enable_thinking

ブール値

ディープシンキングモードを有効にするかどうかを指定します (思考をサポートする Qwen3 などのモデルに適用されます)。詳細については、「ディープシンキング」をご参照ください。

thinking_budget

整数

思考プロセスの最大トークン長です。enable_thinking が true の場合にのみ有効です。詳細については、「思考長の制限」をご参照ください。

translation_options

オブジェクト

翻訳モデルのパラメーターです。詳細については、「翻訳機能」をご参照ください。

enable_search

ブール値

インターネット検索の結果を回答生成に利用するかどうかを指定します。デフォルトは false です。詳細については、「Web 検索」をご参照ください。

search_options

オブジェクト

Web 検索戦略の設定です。enable_search が true の場合にのみ有効です。詳細については、「検索規模戦略の設定」をご参照ください。

例

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;

-- 結果
--+------------+
--| model name |
--+------------+
--|          m |
--+------------+

DESCRIBE MODEL m;

-- 結果
-- +---------+--------+------+----------+
-- |    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_model_name
  SET (key1=val1, ...)
  RESET (key1, ...)
}

例

  • 登録済みモデルの名前を変更:

    ALTER MODEL m RENAME TO m1; -- モデルの名前を m1 に変更します。
  • モデルパラメーターを変更:

    ALTER MODEL m SET ('endpoint' = '<Your_Endpoint>'); -- エンドポイントパスを調整します。
  • モデルパラメーターをデフォルト値にリセット:

    ALTER MODEL m RESET ('endpoint'); -- エンドポイントパスをリセットします。

モデルの削除

データクエリエディターで、次のコマンドを実行します。

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

例

DROP MODEL m;