

# 部署自定义模型
<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 管理控制台，然后通过 [https://console.aws.amazon.com/nova/](https://console.aws.amazon.com/nova/) 打开 Amazon Bedrock 控制台。

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 操作。它返回部署的 ARN，您可以在提出推理请求时将其用作 `modelId`。有关使用部署进行推理的信息，请参阅[使用部署进行按需型推理](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 操作。响应返回部署的 ARN，您可以在提出推理请求时将其用作 `modelId`。有关使用部署进行推理的信息，请参阅[使用部署进行按需型推理](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
```