選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

自訂模型匯入的程式碼範例

焦點模式
自訂模型匯入的程式碼範例 - Amazon Bedrock

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

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

下列程式碼範例示範如何設定許可、建立自訂模型匯入任務、檢視匯入任務和匯入模型的詳細資訊,以及刪除匯入的模型。

  1. 準備模型檔案以進行匯入

    1. 如果您要從 Amazon S3 儲存貯體匯入 ,則需要以Hugging Face權重格式提供模型檔案。如需詳細資訊,請參閱匯入來源

    2. 為您的模型檔案建立 Amazon S3 儲存貯體 (名稱必須是唯一的)。

    3. 將模型檔案上傳至 儲存貯體。

  2. 建立政策以存取模型檔案,並將其連接至具有 Amazon Bedrock 信任關係的 IAM 角色。選擇您偏好方法的索引標籤,然後遵循下列步驟:

    Console
    1. 建立 Amazon S3 政策以存取包含模型檔案的 Amazon S3 儲存貯體

      1. 導覽至位於 https://https://console.aws.amazon.com/iam 的 IAM 主控台,然後從左側導覽窗格中選擇政策

      2. 選取建立政策,然後選擇 JSON 以開啟政策編輯器

      3. 貼上下列政策,將 ${model-file-bucket} 取代為您的儲存貯體名稱,然後選取下一步

        { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::${model-file-bucket}", "arn:aws:s3:::${model-file-bucket}/*" ] } ] }
      4. 命名政策 S3BucketPolicy,然後選取建立政策

    2. 建立 IAM 角色並連接政策。

      1. 從左側導覽窗格中,選擇角色,然後選取建立角色

      2. 選取自訂信任政策,貼上下列政策,然後選取下一步

        { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
      3. 搜尋您建立的 S3BucketPolicy 政策,選取核取方塊,然後選擇下一步

      4. 命名角色 MyImportModelRole,然後選取建立角色

    CLI
    1. 建立名為 BedrockTrust.json 的檔案,並將下列政策貼入其中。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. 建立另一個名為 S3BucketPolicy.json 的檔案,並將下列政策貼入其中,以您的儲存貯體名稱取代 ${model-file-bucket}

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::${model-file-bucket}", "arn:aws:s3:::${model-file-bucket}/*" ] } ] }
    3. 在終端機中,導覽至包含您建立之政策的資料夾。

    4. 提出 CreateRole 請求,以建立名為 MyImportModelRole 的 IAM 角色,並連接您建立的 BedrockTrust.json 信任政策。

      aws iam create-role \ --role-name MyImportModelRole \ --assume-role-policy-document file://BedrockTrust.json
    5. 提出 CreatePolicy 請求,使用您建立的 S3S3BucketPolicy.json 資料存取政策。回應會傳回政策Arn的 。

      aws iam create-policy \ --policy-name S3BucketPolicy \ --policy-document file://S3BucketPolicy.json
    6. 提出 AttachRolePolicy 請求,將 S3 資料存取政策連接至您的角色,在上一個步驟的回應中將 取代policy-arn為 ARN:

      aws iam attach-role-policy \ --role-name MyImportModelRole \ --policy-arn ${policy-arn}
    Python
    1. 執行下列程式碼來發出 CreateRole 請求,以建立名為 MyImportModel 的 IAM 角色,並發出 CreatePolicy 請求,以建立名為 S3S3BucketPolicy 資料存取政策。針對 S3 資料存取政策,請將 ${model-file-bucket} 取代為您的 S3 儲存貯體名稱。

      import boto3 import json iam = boto3.client("iam") iam.create_role( RoleName="MyImportModelRole", AssumeRolePolicyDocument=json.dumps({ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }) ) iam.create_policy( PolicyName="S3BucketPolicy", PolicyDocument=json.dumps({ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::${training-bucket}", "arn:aws:s3:::${training-bucket}/*" ] } ] }) )
    2. 回應中Arn會傳回 。執行下列程式碼片段來提出 AttachRolePolicy 請求,以傳回的 取代 ${policy-arn}Arn

      iam.attach_role_policy( RoleName="MyImportModelRole", PolicyArn="${policy-arn}" )
    1. 建立 Amazon S3 政策以存取包含模型檔案的 Amazon S3 儲存貯體

      1. 導覽至位於 https://https://console.aws.amazon.com/iam 的 IAM 主控台,然後從左側導覽窗格中選擇政策

      2. 選取建立政策,然後選擇 JSON 以開啟政策編輯器

      3. 貼上下列政策,將 ${model-file-bucket} 取代為您的儲存貯體名稱,然後選取下一步

        { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::${model-file-bucket}", "arn:aws:s3:::${model-file-bucket}/*" ] } ] }
      4. 命名政策 S3BucketPolicy,然後選取建立政策

    2. 建立 IAM 角色並連接政策。

      1. 從左側導覽窗格中,選擇角色,然後選取建立角色

      2. 選取自訂信任政策,貼上下列政策,然後選取下一步

        { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
      3. 搜尋您建立的 S3BucketPolicy 政策,選取核取方塊,然後選擇下一步

      4. 命名角色 MyImportModelRole,然後選取建立角色

  3. 選取語言以查看程式碼範例,以呼叫自訂模型匯入 API 操作。

CLI

若要提交自訂模型匯入任務,請在終端機執行命令列中的下列命令,將 ${my-import-model-role-arn} 取代為您設定的模型角色,並將 s3-bucket-path 取代為您模型檔案的 S3 儲存貯體路徑。

aws bedrock create-model-import-job --job-name MyImportedModelJobName --imported-model-name MyImportedModelName --role-arn ${my-import-model-role-arn} --model-data-source '{"s3DataSource": {"s3Uri": s3-bucket-path }}

回應會傳回 jobArn。自訂匯入任務需要一些時間才能完成。您可以使用 jobArn搭配下列命令來檢查匯入任務的狀態。

下列欄位為選用:

  • 若要新增 VPC 組態,請將下列引數新增至上述命令,以指定安全性群組和子網路:

    -\\-vpc-config '{securityGroupIds": ["sg-xx"], "subnetIds": ["subnet-yy", "subnet-zz"]}'
  • 若要使用 KMS 金鑰加密模型,請將下列引數新增至上述命令,取代該值,以指定要用來加密模型的金鑰。

    -\\-customModelKmsKeyId 'arn:aws:kms:region:account-id:key/key-id'
  • 若要新增標籤,請將以下引數新增到上述命令中,將鍵和值替換為要連接到工作和/或輸出模型的標籤,並確保用空格分隔鍵/值對:

    -\\-tags key=key1,value=value1 key=key2,value=value2

回應會傳回 jobArn。自訂匯入任務需要一些時間才能完成。您可以使用 jobArn搭配下列命令來檢查匯入任務的狀態。

aws bedrock get-model-import-job \ --job-identifier "jobArn"

回應看起來像這樣:

{ "jobArn": ${job-arn} , "jobName": MyImportedModelJobName, "importedModelName": MyImportedModelName, "roleArn": ${my-role-arn}, "modelDataSource": { "s3DataSource": { "s3Uri": "${S3Uri}" } }, "status": "Complete", "creationTime": "2024-08-13T23:38:42.457Z", "lastModifiedTime": "2024-08-13T23:39:25.158Z"

status為 時Complete。匯入任務已完成。

若要在新匯入的模型上執行推論,您必須提供匯入模型的 ARN 做為 model-id。取得匯入模型的 ARN。

aws bedrock list-imported-models

回應包含模型名稱和模型 ARN。使用模型 ARN 來叫用匯入的模型。如需詳細資訊,請參閱使用 InvokeModel 提交單一提示

{ "modelSummaries": [ { "modelArn": model-arn, "modelName": "MyImportedModelName", "modelArchitecture":model-architecture, "instructSupported":Y, "creationTime": "2024-08-13T19:20:14.058Z" } ] }

若要刪除匯入的模型,請在終端機中使用您要刪除之匯入模型的模型名稱或模型 ARN,在命令列中執行下列命令。

aws bedrock delete-imported-model --model-identifier MyImportedModelName
Python

執行下列程式碼片段以提交自訂模型匯入任務。將 my-region 取代為您匯入模型的區域,將 ${my-import-model-role-arn} 取代為您設定的 MyImportModelRole ARN,並將 ${model-file-bucket} 取代為您的 S3 儲存貯體名稱。

import boto3 import json REGION_NAME = my-region bedrock = boto3.client(service_name='bedrock', region_name=REGION_NAME) JOB_NAME = MyImportedModelJobName ROLE_ARN = ${my-import-model-role-arn} IMPORTED_MODEL_NAME = ImportedModelName S3_URI = ${S3Uri} # createModelImportJob API create_job_response = bedrock.create_model_import_job( jobName=JOB_NAME, importedModelName=IMPORTED_MODEL_NAME, roleArn=ROLE_ARN, modelDataSource={ "s3DataSource": { "s3Uri": S3_URI } }, ) job_arn = create_job_response.get("jobArn")

下列欄位為選用欄位。

  • 若要新增 VPC 組態,請將下列引數新增至上述命令,以指定安全性群組和子網路:

    vpc-config = {'securityGroupIds: ["sg-xx".], 'subnetIds': [subnet-yy, 'subnet-zz']}'
  • 若要使用 KMS 金鑰加密模型,請將下列引數新增至上述命令,取代該值,以指定要用來加密模型的金鑰。

    importedModelKmsKeyId = 'arn:aws:kms:region:account-id:key/key-id'
  • 若要新增標籤,請將以下引數新增到上述命令中,將鍵和值替換為要連接到工作和/或輸出模型的標籤,並確保用空格分隔鍵/值對:

    jobTags key=key1,value=value1 key=key2,value=value2

回應會傳回 jobArn

job_arn = create_job_response.get("jobArn")

自訂匯入任務需要一些時間才能完成。您可以使用 jobArn搭配下列命令來檢查匯入任務的狀態。

bedrock.get_model_import_job(jobIdentifier=jobArn)

status為 時Completed,匯入任務即完成。

若要在新匯入的模型上執行推論,您必須提供匯入模型的 ARN 做為 model-id。取得匯入模型的 ARN。

response_pt = bedrock.list_imported_models( creationTimeBefore=datetime (2015,1,1, creationTimeAfter= datetime (2015,1,1, nameContains = 'MyImportedModelName, maxresults = 123 nextToken = 'none', sortBy = 'creationTime', sortOrder = 'Ascending'

回應會傳回 modelArn以及匯入模型的其他詳細資訊。

{ 'nextToken': '', 'modelSummaries': [ { 'modelArn': 'your-model-arn', 'modelName': 'MyImportedModelName', 'modelArchitecture':model-architecture, 'instructSupported':Y, 'creationTime': datetime(2015, 1, 1) }, ]

使用模型 ARN 來叫用匯入的模型。如需詳細資訊,請參閱使用 InvokeModel 提交單一提示

若要刪除匯入的模型,請使用下列命令,使用您要刪除之匯入模型的模型名稱或模型 ARN。

response = client.delete_imported_model( modelIdentifier='MyImportedModelName' )

若要提交自訂模型匯入任務,請在終端機執行命令列中的下列命令,將 ${my-import-model-role-arn} 取代為您設定的模型角色,並將 s3-bucket-path 取代為您模型檔案的 S3 儲存貯體路徑。

aws bedrock create-model-import-job --job-name MyImportedModelJobName --imported-model-name MyImportedModelName --role-arn ${my-import-model-role-arn} --model-data-source '{"s3DataSource": {"s3Uri": s3-bucket-path }}

回應會傳回 jobArn。自訂匯入任務需要一些時間才能完成。您可以使用 jobArn搭配下列命令來檢查匯入任務的狀態。

下列欄位為選用:

  • 若要新增 VPC 組態,請將下列引數新增至上述命令,以指定安全性群組和子網路:

    -\\-vpc-config '{securityGroupIds": ["sg-xx"], "subnetIds": ["subnet-yy", "subnet-zz"]}'
  • 若要使用 KMS 金鑰加密模型,請將下列引數新增至上述命令,取代該值,以指定要用來加密模型的金鑰。

    -\\-customModelKmsKeyId 'arn:aws:kms:region:account-id:key/key-id'
  • 若要新增標籤,請將以下引數新增到上述命令中,將鍵和值替換為要連接到工作和/或輸出模型的標籤,並確保用空格分隔鍵/值對:

    -\\-tags key=key1,value=value1 key=key2,value=value2

回應會傳回 jobArn。自訂匯入任務需要一些時間才能完成。您可以使用 jobArn搭配下列命令來檢查匯入任務的狀態。

aws bedrock get-model-import-job \ --job-identifier "jobArn"

回應看起來像這樣:

{ "jobArn": ${job-arn} , "jobName": MyImportedModelJobName, "importedModelName": MyImportedModelName, "roleArn": ${my-role-arn}, "modelDataSource": { "s3DataSource": { "s3Uri": "${S3Uri}" } }, "status": "Complete", "creationTime": "2024-08-13T23:38:42.457Z", "lastModifiedTime": "2024-08-13T23:39:25.158Z"

status為 時Complete。匯入任務已完成。

若要在新匯入的模型上執行推論,您必須提供匯入模型的 ARN 做為 model-id。取得匯入模型的 ARN。

aws bedrock list-imported-models

回應包含模型名稱和模型 ARN。使用模型 ARN 來叫用匯入的模型。如需詳細資訊,請參閱使用 InvokeModel 提交單一提示

{ "modelSummaries": [ { "modelArn": model-arn, "modelName": "MyImportedModelName", "modelArchitecture":model-architecture, "instructSupported":Y, "creationTime": "2024-08-13T19:20:14.058Z" } ] }

若要刪除匯入的模型,請在終端機中使用您要刪除之匯入模型的模型名稱或模型 ARN,在命令列中執行下列命令。

aws bedrock delete-imported-model --model-identifier MyImportedModelName
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。