

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 部署自訂模型以進行隨需推論
<a name="deploy-custom-model-on-demand"></a>

 使用模型自訂任務建立自訂模型或匯入 SageMaker AI 訓練的自訂 Amazon Nova 模型後，您可以為模型設定隨需推論。透過隨需推論，您只需支付使用量的費用，而且不需要設定佈建的運算資源。

若要設定自訂模型的隨需推論，您可以使用自訂模型部署進行部署。部署自訂模型之後，當您提交提示並使用模型推論產生回應時，可以使用部署的 Amazon Resource Name (ARN) 作為 `modelId` 參數。

 如需隨需推論定價的詳細資訊，請參閱 [Amazon Bedrock 定價](https://aws.amazon.com/bedrock/pricing)。您可以在下列區域中部署用於隨需推論的自訂模型 (如需 Amazon Bedrock 支援區域的詳細資訊，請參閱 [Amazon Bedrock 端點和配額](https://docs.aws.amazon.com/general/latest/gr/bedrock.html))：
+ 美國東部 (維吉尼亞北部)
+ 美國西部 (奧勒岡)

## 部署自訂模型以進行隨需推論的先決條件
<a name="custom-model-inference-prerequisites"></a>

在部署自訂模型以進行隨需推論之前，請確定您符合下列要求：
+ 您必須使用美國東部 (維吉尼亞北部) 或美國西部 (奧勒岡) 區域。
+ 您必須在 2025 年 7 月 16 日當天或之後自訂模型。如需支援的模型，請參閱 [支援的基礎模型](#custom-model-inference-supported-models)。
+ 帳戶必須具有存取您在部署中之模型的許可。如需模型自訂存取和安全性的詳細資訊，請參閱[模型自訂存取和安全性](custom-model-job-access-security.md)。
+ 如果模型使用 AWS KMS 金鑰加密，您必須具有使用該金鑰的許可。如需詳細資訊，請參閱[自訂模型的加密](encryption-custom-job.md)。

## 支援的基礎模型
<a name="custom-model-inference-supported-models"></a>

您可以為下列基礎模型設定隨需推論：
+ Amazon Nova Lite – 支援的區域：美國東部 （維吉尼亞北部）
+ Amazon Nova 2 Lite – 支援的區域：美國東部 （維吉尼亞北部）
+ Amazon Nova Micro – 支援的區域：美國東部 （維吉尼亞北部）
+ Amazon Nova Pro – 支援的區域：美國東部 （維吉尼亞北部）
+ Meta Llama 3.3 70B 指示 – 支援的區域：美國西部 （奧勒岡）

## 部署自訂模型
<a name="deploy-custom-model"></a>

您可以使用 Amazon Bedrock 主控台 AWS Command Line Interface或 AWS SDKs 部署自訂模型。如需使用部署進行推論的相關資訊，請參閱[使用部署進行隨需推論](#use-custom-model-on-demand)。

------
#### [ Console ]

您可以如下所示從**自訂模型**頁面部署自訂模型。您也可以從具有相同欄位的**隨需自訂模型**頁面部署模型。若要尋找此頁面，請在導覽窗格的**推論**下，選擇**隨需自訂模型**。

**部署自訂模型**

1.  AWS 管理主控台 使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著，開啟位於 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock) 的 Amazon Bedrock 主控台。

1. 從左側導覽窗格中，選擇**調校**下的**自訂模型**。

1. 在**模型**索引標籤中，選擇您要部署之模型的選項按鈕。

1. 選擇**設定推論**，然後選擇**隨需部署**。

1. 在**部署詳細資訊**中，提供下列資訊：
   + **部署名稱** (必要)：輸入部署的唯一名稱。
   + **描述** (選用)：輸入部署描述。
   + **標籤 ** (選用)：新增成本分配和資源管理的標籤。

1. 選擇**建立**。當部署的狀態為 `Active` 時，自訂模型已準備好進行隨需推論。如需與使用自訂模型有關的詳細資訊，請參閱[使用部署進行隨需推論](#use-custom-model-on-demand)。

------
#### [ CLI ]

若要使用 部署用於隨需推論的自訂模型 AWS Command Line Interface，請使用 `create-custom-model-deployment`命令搭配自訂模型的 Amazon Resource Name (ARN)。此命令使用 [CreateCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateCustomModelDeployment.html) API 操作。此回應包含部署的 ARN。部署處於作用中狀態時，您可以在提出推論請求時使用此 ARN 作為 `modelId`。如需使用部署進行推論的相關資訊，請參閱[使用部署進行隨需推論](#use-custom-model-on-demand)。

```
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
```

------
#### [ API ]

若要部署用於隨需推論的自訂模型，請使用 [CreateCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateCustomModelDeployment.html) API 操作搭配自訂模型的 Amazon Resource Name (ARN)。此回應包含部署的 ARN。部署處於作用中狀態時，您可以在提出推論請求時使用此 ARN 作為 `modelId`。如需使用部署進行推論的相關資訊，請參閱[使用部署進行隨需推論](#use-custom-model-on-demand)。

下列程式碼說明如何使用適用於 Python (Boto3) 的 SDK 部署自訂模型。

```
def create_custom_model_deployment(bedrock_client):
    """Create a custom model deployment
    Args:
        bedrock_client: A boto3 Amazon Bedrock client for making API calls

    Returns:
        str: The ARN of the new 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>

部署自訂模型之後，當您提交提示並使用模型推論產生回應時，可以使用部署的 Amazon Resource Name (ARN) 作為 `modelId` 參數。

如需提出推論請求的資訊，請參閱下列主題：
+ [提交提示並使用模型推論產生回應](inference.md)
+ [執行模型推論的必要條件](inference-prereq.md)
+ [使用 API 提交提示並產生回應](inference-api.md)

## 刪除自訂模型部署
<a name="delete-custom-model-deployment"></a>

使用模型進行隨需推論後，您就可以刪除部署。刪除部署後，您無法將其用於隨需推論，但刪除部署不會刪除基礎自訂模型。

您可以使用 Amazon Bedrock 主控台 AWS Command Line Interface或 AWS SDKs刪除自訂模型部署。

**重要**  
刪除自訂模型部署是不可復原的。在繼續刪除之前，請確定您不再需要部署。如果您需要再次使用自訂模型進行隨需推論，則必須建立新的部署。

------
#### [ Console ]

**刪除自訂模型部署**

1. 在導覽窗格的**推論**下，選擇**隨需自訂模型**。

1. 選擇您要刪除的自訂模型部署。

1. 選擇**刪除**。

1. 在確認對話方塊中，輸入部署名稱以確認刪除。

1. 選擇**刪除**，即可確認刪除。

------
#### [ CLI ]

若要使用 刪除自訂模型部署 AWS Command Line Interface，請使用 `delete-custom-model-deployment`命令搭配您的部署識別符。此命令使用 [DeleteCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_DeleteCustomModelDeployment.html) API 操作。

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

------
#### [ API ]

若要以程式設計方式刪除自訂模型部署，請使用 [DeleteCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_DeleteCustomModelDeployment.html) API 操作搭配部署的 Amazon Resource Name (ARN) 或名稱。下列程式碼說明如何使用適用於 Python (Boto3) 的 SDK 來刪除自訂模型部署。

```
def delete_custom_model_deployment(bedrock_client):
    """Delete a custom model deployment

    Args:
        bedrock_client: A boto3 Amazon 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("Deleting deployment...")
        return response

    except Exception as e:
        print(f"Error deleting deployment: {str(e)}")
        raise
```

------