本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
部署自訂模型以進行隨需推論
使用模型自訂任務建立自訂模型或匯入 SageMaker AI 訓練的自訂 Amazon Nova 模型後,您可以為模型設定隨需推論。透過隨需推論,您只需支付使用量的費用,而且不需要設定佈建的運算資源。
若要設定自訂模型的隨需推論,您可以使用自訂模型部署進行部署。部署自訂模型之後,當您提交提示並使用模型推論產生回應時,可以使用部署的 Amazon Resource Name (ARN) 作為 modelId 參數。
如需隨需推論定價的詳細資訊,請參閱 Amazon Bedrock 定價。您可以在下列區域中部署用於隨需推論的自訂模型 (如需 Amazon Bedrock 支援區域的詳細資訊,請參閱 Amazon Bedrock 端點和配額):
部署自訂模型以進行隨需推論的先決條件
在部署自訂模型以進行隨需推論之前,請確定您符合下列要求:
-
您必須使用美國東部 (維吉尼亞北部) 或美國西部 (奧勒岡) 區域。
-
您必須在 2025 年 7 月 16 日當天或之後自訂模型。如需支援的模型,請參閱 支援的基礎模型。
-
帳戶必須具有存取您在部署中之模型的許可。如需模型自訂存取和安全性的詳細資訊,請參閱模型自訂存取和安全性。
-
如果模型使用 AWS KMS 金鑰加密,您必須具有使用該金鑰的許可。如需詳細資訊,請參閱自訂模型的加密。
支援的基礎模型
您可以為下列基礎模型設定隨需推論:
部署自訂模型
您可以使用 Amazon Bedrock 主控台 AWS Command Line Interface或 AWS SDKs 部署自訂模型。如需使用部署進行推論的相關資訊,請參閱使用部署進行隨需推論。
- Console
-
您可以如下所示從自訂模型頁面部署自訂模型。您也可以從具有相同欄位的隨需自訂模型頁面部署模型。若要尋找此頁面,請在導覽窗格的推論下,選擇隨需自訂模型。
部署自訂模型
-
AWS 管理主控台 使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著,開啟位於 https://console.aws.amazon.com/bedrock 的 Amazon Bedrock 主控台。
-
從左側導覽窗格中,選擇調校下的自訂模型。
-
在模型索引標籤中,選擇您要部署之模型的選項按鈕。
-
選擇設定推論,然後選擇隨需部署。
-
在部署詳細資訊中,提供下列資訊:
-
部署名稱 (必要):輸入部署的唯一名稱。
-
描述 (選用):輸入部署描述。
-
標籤 (選用):新增成本分配和資源管理的標籤。
-
選擇建立。當部署的狀態為 Active 時,自訂模型已準備好進行隨需推論。如需與使用自訂模型有關的詳細資訊,請參閱使用部署進行隨需推論。
- CLI
-
若要使用 部署用於隨需推論的自訂模型 AWS Command Line Interface,請使用 create-custom-model-deployment命令搭配自訂模型的 Amazon Resource Name (ARN)。此命令使用 CreateCustomModelDeployment API 操作。此回應包含部署的 ARN。部署處於作用中狀態時,您可以在提出推論請求時使用此 ARN 作為 modelId。如需使用部署進行推論的相關資訊,請參閱使用部署進行隨需推論。
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 API 操作搭配自訂模型的 Amazon Resource Name (ARN)。此回應包含部署的 ARN。部署處於作用中狀態時,您可以在提出推論請求時使用此 ARN 作為 modelId。如需使用部署進行推論的相關資訊,請參閱使用部署進行隨需推論。
下列程式碼說明如何使用適用於 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
使用部署進行隨需推論
部署自訂模型之後,當您提交提示並使用模型推論產生回應時,可以使用部署的 Amazon Resource Name (ARN) 作為 modelId 參數。
如需提出推論請求的資訊,請參閱下列主題:
刪除自訂模型部署
使用模型進行隨需推論後,您就可以刪除部署。刪除部署後,您無法將其用於隨需推論,但刪除部署不會刪除基礎自訂模型。
您可以使用 Amazon Bedrock 主控台 AWS Command Line Interface或 AWS SDKs刪除自訂模型部署。
刪除自訂模型部署是不可復原的。在繼續刪除之前,請確定您不再需要部署。如果您需要再次使用自訂模型進行隨需推論,則必須建立新的部署。
- Console
-
刪除自訂模型部署
-
在導覽窗格的推論下,選擇隨需自訂模型。
-
選擇您要刪除的自訂模型部署。
-
選擇刪除。
-
在確認對話方塊中,輸入部署名稱以確認刪除。
-
選擇刪除,即可確認刪除。
- CLI
-
若要使用 刪除自訂模型部署 AWS Command Line Interface,請使用 delete-custom-model-deployment命令搭配您的部署識別符。此命令使用 DeleteCustomModelDeployment API 操作。
aws bedrock delete-custom-model-deployment \
--custom-model-deployment-identifier "deployment-arn-or-name" \
--region region
- API
-
若要以程式設計方式刪除自訂模型部署,請使用 DeleteCustomModelDeployment 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