

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

使用以下步骤创建私有中心，以管理组织预训练 JumpStart 基础模型的访问控制。在创建模型中心之前，您必须安装 SageMaker Python 开发工具包并配置必要的 IAM 权限。

**创建私有中心**

1. 安装 SageMaker Python 软件开发工具包并导入必要的 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. 初始化 A SageMaker I 会话。

   ```
   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()
   ```