部署自訂模型以進行隨需推論 - Amazon Bedrock

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

部署自訂模型以進行隨需推論

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

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

如需隨需推論定價的詳細資訊,請參閱 Amazon Bedrock 定價。您可以在下列區域中部署用於隨需推論的自訂模型 (如需 Amazon Bedrock 支援區域的詳細資訊,請參閱 Amazon Bedrock 端點和配額):

  • 美國東部 (維吉尼亞北部)

  • 美國西部 (奧勒岡)

部署自訂模型以進行隨需推論的先決條件

在部署自訂模型以進行隨需推論之前,請確定您符合下列要求:

  • 您必須使用美國東部 (維吉尼亞北部) 或美國西部 (奧勒岡) 區域。

  • 您必須在 2025 年 7 月 16 日當天或之後自訂模型。如需支援的模型,請參閱 支援的基礎模型

  • 帳戶必須具有存取您在部署中之模型的許可。如需模型自訂存取和安全性的詳細資訊,請參閱模型自訂存取和安全性

  • 如果模型使用 AWS KMS 金鑰加密,您必須具有使用該金鑰的許可。如需詳細資訊,請參閱自訂模型的加密

支援的基礎模型

您可以為下列基礎模型設定隨需推論:

  • Amazon Nova Lite

  • Amazon Nova Micro

  • Amazon Nova Pro

  • Meta Llama 3.3 70B Instruct

部署自訂模型

您可以使用 Amazon Bedrock 主控台 AWS Command Line Interface或 AWS SDKs 部署自訂模型。如需使用部署進行推論的相關資訊,請參閱使用部署進行隨需推論

Console

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

部署自訂模型
  1. AWS 管理主控台 使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著,開啟位於 https://console.aws.amazon.com/bedrock 的 Amazon Bedrock 主控台。

  2. 從左側導覽窗格中,選擇調校下的自訂模型

  3. 模型索引標籤中,選擇您要部署之模型的選項按鈕。

  4. 選擇設定推論,然後選擇隨需部署

  5. 部署詳細資訊中,提供下列資訊:

    • 部署名稱 (必要):輸入部署的唯一名稱。

    • 描述 (選用):輸入部署描述。

    • 標籤 (選用):新增成本分配和資源管理的標籤。

  6. 選擇建立。當部署的狀態為 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
刪除自訂模型部署
  1. 在導覽窗格的推論下,選擇隨需自訂模型

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

  3. 選擇刪除

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

  5. 選擇刪除,即可確認刪除。

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