

# オンデマンド推論用のカスタムモデルをデプロイする
<a name="deploy-custom-model"></a>

モデルカスタマイズジョブ (ファインチューニング、蒸留、または継続的な事前トレーニング) でカスタムモデルの作成に成功したら、モデルのオンデマンド推論を設定できます。

カスタムモデルのオンデマンド推論を設定するには、カスタムモデルのデプロイを使用してモデルをデプロイします。カスタムモデルをデプロイしたら、デプロイの Amazon リソースネーム (ARN) を `InvokeModel` または `Converse` API オペレーションの `modelId` パラメータとして使用します。デプロイされたモデルは、プレイグラウンド、エージェント、ナレッジベースなどの Amazon Bedrock 機能でオンデマンド推論に使用できます。

**Topics**
+ [サポートされているモデル](#custom-model-inference-supported-models)
+ [カスタムモデルをデプロイする](deploying-custom-model.md)
+ [オンデマンド推論にデプロイを使用する](use-custom-model-on-demand.md)
+ [カスタムモデルのデプロイを削除する](delete-custom-model-deployment.md)

## サポートされているモデル
<a name="custom-model-inference-supported-models"></a>

次のモデルに対してオンデマンド推論を設定できます。
+ Amazon Nova Canvas
+ Amazon Nova Lite
+ Amazon Nova Micro
+ Amazon Nova Pro

# カスタムモデルをデプロイする
<a name="deploying-custom-model"></a>

Amazon Bedrock コンソール、AWS Command Line Interface、または AWS SDK を使用してカスタムモデルをデプロイできます。推論にデプロイを使用する方法については、「[オンデマンド推論にデプロイを使用する](https://docs.aws.amazon.com/bedrock/latest/userguide/use-custom-model-on-demand.html)」を参照してください。

**Topics**
+ [カスタムモデルのデプロイ (コンソール)](#deploy-custom-model-console)
+ [カスタムモデルをデプロイする (AWS Command Line Interface）](#deploy-custom-model-cli)
+ [カスタムモデルをデプロイする (AWS SDK)](#deploy-custom-model-sdk)

## カスタムモデルのデプロイ (コンソール)
<a name="deploy-custom-model-console"></a>

カスタムモデルは、**[カスタムモデル]** ページから次のようにデプロイします。**[オンデマンドのカスタムモデル]** ページからでも、同じフィールドを使用してモデルをデプロイできます。このページにアクセスするには、ナビゲーションペインの **[推論と評価]** で、**[オンデマンドのカスタムモデル]** を選択します。

**カスタムモデルをデプロイするには**

1. [Amazon Bedrock アクセス許可を持つ IAM ロール](https://docs.aws.amazon.com//bedrock/latest/userguide/getting-started.html)を使用して AWS マネジメントコンソールにサインインし、Amazon Bedrock コンソール ([https://console.aws.amazon.com/nova/](https://console.aws.amazon.com/nova/)) を開きます。

1. 左側のナビゲーションペインの **[基盤モデル]** で **[カスタムモデル]** を選択します。

1. **[モデル]** タブで、デプロイするモデルのラジオボタンを選択します。

1. **[推論を設定]** を選択し、**[オンデマンドのデプロイ]** を選択します。

1. **[デプロイの詳細]** で、次の情報を入力します。
   + **デプロイ名** (必須) – デプロイの一意の名前を入力します。
   + **説明** (オプション) – デプロイの説明を入力します。
   + **タグ** (オプション) – コスト配分とリソース管理用のタグを追加します。

1. **[作成]** を選択します。カスタムモデルでオンデマンド推論の準備が整うと、ステータスが「`Completed`」と表示されます。カスタムモデル使用の詳細については、「[オンデマンド推論にデプロイを使用する](https://docs.aws.amazon.com/bedrock/latest/userguide/use-custom-model-on-demand.html)」を参照してください。

## カスタムモデルをデプロイする (AWS Command Line Interface）
<a name="deploy-custom-model-cli"></a>

AWS Command Line Interface を使用してオンデマンド推論用のカスタムモデルをデプロイするには、カスタムモデルの Amazon リソースネーム (ARN) で `create-custom-model-deployment` コマンドを使用します。このコマンドは [CreateCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateCustomModelDeployment.html) API オペレーションを使用します。推論リクエストを行うときに `modelId` として使用できるデプロイの ARN が返ってきます。推論にデプロイを使用する方法については、「[オンデマンド推論にデプロイを使用する](https://docs.aws.amazon.com/bedrock/latest/userguide/use-custom-model-on-demand.html)」を参照してください。

```
aws bedrock create-custom-model-deployment \
--model-deployment-name "Unique name" \
--model-arn "Custom Model ARN" \
--description "Deployment description" \
--tags '[
    {
        "key": "Environment",
        "value": "Production"
    },
    {
        "key": "Team",
        "value": "ML-Engineering"
    },
    {
        "key": "Project",
        "value": "CustomerSupport"
    }
]' \
--client-request-token "unique-deployment-token" \
--region region
```

## カスタムモデルをデプロイする (AWS SDK)
<a name="deploy-custom-model-sdk"></a>

オンデマンド推論用のカスタムモデルをデプロイするには、カスタムモデルの Amazon リソースネーム (ARN) で [CreateCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateCustomModelDeployment.html) API オペレーションを使用します。レスポンスとして、推論リクエストを行うときに `modelId` として使用できるデプロイの ARN が返ってきます。推論にデプロイを使用する方法については、「[オンデマンド推論にデプロイを使用する](https://docs.aws.amazon.com/bedrock/latest/userguide/use-custom-model-on-demand.html)」を参照してください。

次のコードは、SDK for Python (Boto3) を使用してカスタムモデルをデプロイする方法を示しています。

```
def create_custom_model_deployment(bedrock_client):
    """Create a custom model deployment
    Args:
        bedrock_client: A boto3 Bedrock client for making API calls
 
    Returns:
        str: The ARN of the created custom model deployment
 
    Raises:
        Exception: If there is an error creating the deployment
    """
 
    try:
        response = bedrock_client.create_custom_model_deployment(
            modelDeploymentName="Unique deployment name",
            modelArn="Custom Model ARN",
            description="Deployment description",
            tags=[
                {'key': 'Environment', 'value': 'Production'},
                {'key': 'Team', 'value': 'ML-Engineering'},
                {'key': 'Project', 'value': 'CustomerSupport'}
            ],
            clientRequestToken=f"deployment-{uuid.uuid4()}"
        )
 
        deployment_arn = response['customModelDeploymentArn']
        print(f"Deployment created: {deployment_arn}")
        return deployment_arn
 
    except Exception as e:
        print(f"Error creating deployment: {str(e)}")
        raise
```

# オンデマンド推論にデプロイを使用する
<a name="use-custom-model-on-demand"></a>

オンデマンド推論用にカスタムモデルをデプロイしたら、それを使用して推論リクエストを実行してレスポンスを生成できます。`InvokeModel` または `Converse` オペレーションでは、デプロイ Amazon リソースネーム (ARN) を `modelId` として使用します。

推論リクエストの実行については、以下のトピックを参照してください。
+ [プロンプトを送信し、モデル推論を使用してレスポンスを生成する](https://docs.aws.amazon.com/bedrock/latest/userguide/inference.html)
+ [モデル推論を実行するための前提条件](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-prereq.html)
+ [プロンプトを送信し、API を使用してレスポンスを生成する](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-api.html)

# カスタムモデルのデプロイを削除する
<a name="delete-custom-model-deployment"></a>

モデルのオンデマンド推論への使用が終了したら、デプロイを削除できます。デプロイを削除した後は、オンデマンド推論に使用することはできませんが、基盤となるカスタムモデルは削除されません。

Amazon Bedrock コンソール、AWS Command Line Interface、または AWS SDK を使用して、カスタムモデルのデプロイを削除できます。

**重要**  
カスタムモデルデプロイの削除は元に戻せません。削除を続行する前に、今後デプロイが必要でないことを確認してください。オンデマンド推論にカスタムモデルを再度使用する必要がある場合は、新しいデプロイを作成する必要があります。

**Topics**
+ [カスタムモデルのデプロイを削除する (コンソール)](#delete-deployment-console)
+ [カスタムモデルのデプロイを削除する (AWS Command Line Interface)](#delete-deployment-cli)
+ [カスタムモデルのデプロイを削除する (AWS SDK)](#delete-deployment-sdk)

## カスタムモデルのデプロイを削除する (コンソール)
<a name="delete-deployment-console"></a>

**カスタムモデルのデプロイを削除するには**

1. ナビゲーションペインの **[推論と評価]** で、**[オンデマンドのカスタムモデル]** を選択します。

1. 削除するカスタムモデルデプロイを選択します。

1. **[削除]** を選択します。

1. 確認ダイアログで、デプロイ名を入力して削除を確定します。

1. [**Delete**] を選択して確定します。

削除の進行中、デプロイのステータスは `Deleting` に変わります。完了すると、デプロイはリストから削除されます。

## カスタムモデルのデプロイを削除する (AWS Command Line Interface)
<a name="delete-deployment-cli"></a>

AWS Command Line Interface を使用してカスタムモデルのデプロイを削除するには、デプロイ識別子を指定して `delete-custom-model-deployment` コマンドを使用します。

```
aws bedrock delete-custom-model-deployment \
--custom-model-deployment-identifier "deployment-arn-or-name" \
--region region
```

## カスタムモデルのデプロイを削除する (AWS SDK)
<a name="delete-deployment-sdk"></a>

カスタムモデルのデプロイをプログラムで削除するには、デプロイの Amazon リソースネーム (ARN) または名前を指定して [DeleteCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_DeleteCustomModelDeployment.html) API オペレーションを使用します。次のコードは、SDK for Python (Boto3) を使用してカスタムモデルのデプロイを削除する方法を示しています。

```
def delete_custom_model_deployment(bedrock_client):
    """Delete a custom model deployment
 
    Args:
        bedrock_client: A boto3 Bedrock client for making API calls
 
    Returns:
        dict: The response from the delete operation
 
    Raises:
        Exception: If there is an error deleting the deployment
    """
 
    try:
        response = bedrock_client.delete_custom_model_deployment(
            customModelDeploymentIdentifier="Deployment identifier"
        )
 
        print(f"Deployment deletion initiated")
        return response
 
    except Exception as e:
        print(f"Error deleting deployment: {str(e)}")
        raise
```