

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# CREATE EXTERNAL MODEL
<a name="r_create_external_model"></a>

**Topics**
+ [CREATE EXTERNAL MODEL の前提条件](#r_create_external_model_prereqs)
+ [必要な権限](#r_simple_create_model-privileges)
+ [コスト管理](#r_create_model_cost)
+ [CREATE EXTERNAL MODEL 構文](#r_create_external_model_syntax)
+ [CREATE EXTERNAL MODEL のパラメータと設定](#r_create_external_model_parameters_settings)
+ [CREATE EXTERNAL MODEL 推論関数パラメータ](#r_create_external_model_if_parameters)

## CREATE EXTERNAL MODEL の前提条件
<a name="r_create_external_model_prereqs"></a>

CREATE EXTERNAL MODEL ステートメントを使用する前に、[Amazon Redshift ML を使用するためのクラスターの設定](getting-started-machine-learning.md#cluster-setup) の前提条件を満たしてください。前提条件の概要は次のとおりです。
+ AWS マネジメントコンソールまたは AWS Command Line Interface (AWS CLI) を使用して、Amazon Redshift クラスターを作成します。
+ クラスターの作成中に AWS Identity and Access Management (IAM) ポリシーをアタッチします。
+ Amazon Redshift と Amazon Bedrock が、他のサービスとやり取りするロールを引き受けることを許可するには、IAM ロールに適切な信頼ポリシーを追加します。
+ Amazon Bedrock コンソールから、使用対象の特定の LLM へのアクセスを有効にします。
+ (オプション) データが少量にもかかわらず Amazon Bedrock によるスロットリング例外 (`Too many requests, please wait before trying again` など) が発生する場合は、Amazon Bedrock アカウントの **[サービスクォータ]** でクォータを確認します。適用されているアカウントレベルのクォータが、使用しているモデルに対する **InvokeModel** リクエストの AWS デフォルトクォータ値と少なくとも同じであることを確認してください。

IAM ロール、信頼ポリシー、およびその他の前提条件の詳細については、「[Amazon Redshift ML を使用するためのクラスターの設定](getting-started-machine-learning.md#cluster-setup)」を参照してください。

## 必要な権限
<a name="r_simple_create_model-privileges"></a>

CREATE EXTERNAL MODEL に必要な権限を以下に示します。
+ スーパーユーザー
+ CREATE MODEL の権限を持つユーザー
+ GRANT CREATE MODEL の権限を持つロール

## コスト管理
<a name="r_create_model_cost"></a>

 Amazon Redshift 機械学習は既存のクラスターリソースを使用して予測モデルを作成するため、追加料金は発生しません。ただし、選択したモデルに基づいて Amazon Bedrock を使用する場合は AWS 料金が発生します。詳細については、「[Amazon Redshift 機械学習を使用するためのコスト](https://docs.aws.amazon.com/redshift/latest/dg/cost.html)」を参照してください。

## CREATE EXTERNAL MODEL 構文
<a name="r_create_external_model_syntax"></a>

以下は、CREATE EXTERNAL MODEL ステートメントの完全な構文です。

```
CREATE EXTERNAL MODEL model_name 
FUNCTION function_name
IAM_ROLE {default/'arn:aws:iam::<account-id>:role/<role-name>'}
MODEL_TYPE BEDROCK
SETTINGS (
   MODEL_ID model_id
   [, PROMPT 'prompt prefix']
   [, SUFFIX 'prompt suffix']
   [, REQUEST_TYPE {RAW|UNIFIED}]
   [, RESPONSE_TYPE {VARCHAR|SUPER}]
);
```

`CREATE EXTERNAL MODEL` コマンドは、コンテンツの生成に使用する推論関数を作成します。

以下は、`RAW` の `REQUEST_TYPE` を使用して `CREATE EXTERNAL MODEL` が作成する推論関数の構文です。

```
SELECT inference_function_name(request_super) 
[FROM table];
```

以下は、`UNIFIED` の `REQUEST_TYPE` を使用して `CREATE EXTERNAL MODEL` が作成する推論関数の構文です。

```
SELECT inference_function_name(input_text, [, inference_config [, additional_model_request_fields]])
[FROM table];
```

推論関数の使用方法については、「[Amazon Redshift ML と Amazon Bedrock の統合用の外部モデルの使用](machine-learning-br.md#machine-learning-br-use)」を参照してください。

## CREATE EXTERNAL MODEL のパラメータと設定
<a name="r_create_external_model_parameters_settings"></a>

このセクションでは、 `CREATE EXTERNAL MODEL` コマンドのパラメータと設定について説明します。

**Topics**
+ [CREATE EXTERNAL MODEL のパラメータ](#r_create_external_model_parameters)
+ [CREATE EXTERNAL MODEL の設定](#r_create_external_model_settings)

### CREATE EXTERNAL MODEL のパラメータ
<a name="r_create_external_model_parameters"></a>

model\$1name  
外部モデルの名前。スキーマ内のモデル名は一意でなければなりません。

FUNCTION *function\$1name (data\$1type [,...] )*  
`CREATE EXTERNAL MODEL` が作成する推論関数の名前。推論関数を使用して Amazon Bedrock にリクエストを送信し、ML 生成テキストを取得できます。

IAM\$1ROLE * \$1 default \$1 'arn:aws:iam::<account-id>:role/<role-name>' \$1*  
Amazon Redshift が Amazon Bedrock へのアクセスに使用する IAM ロール。IAM ロールに関する詳細は、「[Amazon Redshift ML と Amazon Bedrock の統合のための IAM ロールの作成または更新](machine-learning-br.md#machine-learning-br-iam)」を参照してください。

MODEL\$1TYPE BEDROCK  
モデルタイプを指定します。唯一の有効な値は `BEDROCK` です。

SETTINGS ( MODEL\$1ID model\$1id [,...] )  
外部モデルの設定を指定します。詳細については、以下のセクションを参照してください。

### CREATE EXTERNAL MODEL の設定
<a name="r_create_external_model_settings"></a>

MODEL\$1ID model\$1id  
外部モデルの識別子 (例: `anthropic.claude-v2`)。Amazon Bedrock モデルの ID については、「[Amazon Bedrock model IDs](https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html)」を参照してください。

PROMPT 'prompt prefix'  
Amazon Redshift がすべての推論リクエストの先頭に追加する静的プロンプトを指定します。`UNIFIED` の `REQUEST_TYPE` でのみサポートされます。

SUFFIX 'prompt suffix'  
Amazon Redshift がすべての推論リクエストの末尾に追加する静的プロンプトを指定します。`UNIFIED` の `REQUEST_TYPE` でのみサポートされます。

REQUEST\$1TYPE \$1 RAW \$1 UNIFIED \$1  
Amazon Bedrock に送信されるリクエストの形式を指定します。有効な値には次のようなものがあります。  
+ **RAW**: 推論関数は入力を単一の SUPER 値として受け取り、常に SUPER 値を返します。SUPER 値の形式は、選択した Amazon Bedrock モデルに固有です。SUPER は、複数のアルゴリズムを組み合わせて、より優れた単一の予測を生成する予測モデルです。
+ **UNIFIED**: 推論関数は統合 API を使用します。すべてのモデルに Amazon Bedrock との統一された一貫したインターフェイスがあります。これは、メッセージをサポートするすべてのモデルで機能します。この値はデフォルト値です。

  詳細については、「Amazon Bedrock API ドキュメント」の「[Converse API documentation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html)」を参照してください。**

RESPONSE\$1TYPE \$1 VARCHAR \$1 SUPER \$1  
レスポンスの形式を指定します。`REQUEST_TYPE` が `RAW` の場合、`RESPONSE_TYPE` は必須であり、有効な値は `SUPER` のみです。他のすべての `REQUEST TYPE` 値では、デフォルト値は `VARCHAR` で、`RESPONSE_TYPE` はオプションです。有効な値には次のようなものがあります。  
+ **VARCHAR**: Amazon Redshift は、モデルによって生成されたテキストレスポンスのみを返します。
+ **SUPER**: Amazon Redshift は、モデルによって生成されたレスポンス JSON 全体を SUPER として返します。これには、テキストレスポンス、停止理由、モデル入出力トークンの使用状況などの情報が含まれます。SUPER は、複数のアルゴリズムを組み合わせて、より優れた単一の予測を生成する予測モデルです。

## CREATE EXTERNAL MODEL 推論関数パラメータ
<a name="r_create_external_model_if_parameters"></a>

このセクションでは、`CREATE EXTERNAL MODEL` コマンドが作成する推論関数の有効なパラメータについて説明します。

### `RAW` の `REQUEST_TYPE` 用の CREATE EXTERNAL MODEL 推論関数パラメータ
<a name="r_create_external_model_if_parameters_raw"></a>

`RAW` の `REQUEST_TYPE` で作成された推論関数には 1 つの SUPER 入力引数があり、常に SUPER データ型を返します。入力 SUPER の構文は、Amazon Bedrock から選択された特定のモデルのリクエストの構文に従います。

### `UNIFIED` の `REQUEST_TYPE` 用の CREATE EXTERNAL MODEL 推論関数パラメータ
<a name="r_create_external_model_if_parameters_unified"></a>

input\$1text  
Amazon Redshift が Amazon Bedrock に送信するテキスト。

inference\$1config  
Amazon Redshift が Amazon Bedrock に送信するオプションのパラメータを含む SUPER 値。これには以下が含まれます。  
+ maxTokens
+ stopSequences
+ 温度
+ topP
これらのパラメータはすべてオプションであり、すべて大文字と小文字が区別されます。これらのパラメータの詳細については、「Amazon Bedrock API リファレンス」の「[InferenceConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html)」を参照してください。**