

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

# 建立私有模型中樞
<a name="jumpstart-curated-hubs-admin-guide-create"></a>

使用下列步驟建立私有中樞，來為您的組織管理預先訓練 JumpStart 基礎模型的存取控制。在建立模型中樞之前，您必須先安裝 SageMaker Python SDK 並設定必要的 IAM 許可。

**建立私有中樞**

1. 安裝 SageMaker Python SDK 並匯入必要的 Python 套件。

   ```
   # Install the SageMaker Python SDK
   !pip3 install sagemaker --force-reinstall --quiet
   
   # Import the necessary Python packages
   import boto3
   from sagemaker import Session
   from sagemaker.jumpstart.hub.hub import Hub
   ```

1. 初始化 SageMaker AI 工作階段。

   ```
   sm_client = boto3.client({{'sagemaker'}})
   session = Session(sagemaker_client=sm_client)
   session.get_caller_identity_arn()
   ```

1. 設定私有中樞的詳細資訊，例如內部中樞名稱、使用者介面顯示名稱和使用者介面中樞描述。
**注意**  
如果您在建立中樞時未指定 Amazon S3 儲存貯體名稱，則 SageMaker 中樞服務會代表您建立新的儲存貯體。新儲存貯體具有下列命名結構：`sagemaker-hubs-{{REGION}}-{{ACCOUNT_ID}}`。

   ```
   HUB_NAME={{"Example-Hub"}}
   HUB_DISPLAY_NAME={{"Example Hub UI Name"}}
   HUB_DESCRIPTION={{"A description of the example private curated hub."}}
   REGION={{"us-west-2"}}
   ```

1. 檢查您的**管理員** IAM 角色是否具有建立私有中樞所需的 Amazon S3 許可。如果您的角色沒有必要的許可，請導覽至 IAM 主控台中的**角色**頁面。選擇**管理員**角色，然後在**許可政策**窗格中選擇**新增許可**，以使用 JSON 編輯器建立具有下列許可的嵌入政策：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject",
                   "s3:GetObjectTagging"
               ],
               "Resource": [
                   "arn:aws:s3:::jumpstart-cache-prod-{{REGION}}",
                   "arn:aws:s3:::jumpstart-cache-prod-{{REGION}}/*"
               ],
               "Effect": "Allow"
           }
       ]
   }
   ```

------

1. 使用 `hub.create()` 利用**步驟 3** 中的組態建立私有模型中樞。

   ```
   hub = Hub(hub_name={{HUB_NAME}}, sagemaker_session=session)
   
   try:
   # Create the private hub
     hub.create(
         description={{HUB_DESCRIPTION}},
         display_name={{HUB_DISPLAY_NAME}}
     )
     print(f{{"Successfully created Hub with name {HUB_NAME} in {REGION}"}})
   # Check that no other hubs with this internal name exist
   except Exception as e:
     if "ResourceInUse" in str(e):
       print(f{{"A hub with the name {HUB_NAME} already exists in your account."}})
     else:
       raise e
   ```

1. 使用以下 `describe` 命令驗證新私有中樞的組態：

   ```
   hub.describe()
   ```