

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar modelos de projetos personalizados
<a name="sagemaker-projects-templates-custom"></a>

**Importante**  
Em 28 de outubro de 2024, os AWS CodeCommit modelos foram removidos. Para novos projetos, selecione entre os modelos de projeto disponíveis que usam repositórios Git de terceiros. Para obter mais informações, consulte [MLOps Modelos de projeto](sagemaker-projects-templates.md).

Se os modelos SageMaker fornecidos pela IA não atenderem às suas necessidades (por exemplo, você quiser ter uma orquestração mais complexa CodePipeline com vários estágios ou etapas de aprovação personalizadas), crie seus próprios modelos.

Recomendamos começar usando modelos SageMaker fornecidos pela IA para entender como organizar seu código e recursos e criar com base neles. Para fazer isso, depois de habilitar o acesso do administrador aos modelos de SageMaker IA, faça login no [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/), escolha **Portfólios** e escolha **Importado**. Para obter informações sobre o Service Catalog, consulte [Visão geral do Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html) no *Guia do usuário do Service Catalog*.

Crie seus próprios modelos de projeto para personalizar seu MLOps projeto. SageMaker Os modelos de projeto de IA são produtos provisionados pelo Service Catalog para provisionar os recursos para seu projeto. MLOps 

Para criar um modelo de projeto personalizado, conclua as etapas a seguir.

1. Crie um portfólio. Para obter informações, consulte [Etapa 3: criar um portfólio do Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-portfolio.html).

1. Crie um novo produto. Um produto é um CloudFormation modelo. Você pode criar várias versões do produto. Para obter informações, consulte [Etapa 4: criar um produto do Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-product.html).

   Para que o produto funcione com SageMaker projetos, adicione os seguintes parâmetros ao seu modelo de produto.

   ```
   SageMakerProjectName:
   Type: String
   Description: Name of the project
   
   SageMakerProjectId:
   Type: String
   Description: Service generated Id of the project.
   ```
**Importante**  
Recomendamos que você inclua o CodeCommit repositório no repositório de código de SageMaker IA para que os repositórios do projeto fiquem visíveis no modo VPC. O modelo de exemplo e a adição necessária são mostrados nos exemplos de código a seguir.  
Modelo original (exemplo):  

   ```
   ModelBuildCodeCommitRepository:
       Type: AWS::CodeCommit::Repository
       Properties:
         # Max allowed length: 100 chars
         RepositoryName: !Sub sagemaker-${SageMakerProjectName}-${SageMakerProjectId}-modelbuild # max: 10+33+15+10=68
         RepositoryDescription: !Sub SageMaker Model building workflow infrastructure as code for the Project ${SageMakerProjectName}
         Code:
           S3:
             Bucket: SEEDCODE_BUCKETNAME
             Key: toolchain/model-building-workflow-v1.0.zip
           BranchName: main
   ```
Conteúdo adicional a ser adicionado no modo VPC:  

   ```
   SageMakerRepository:
       Type: AWS::SageMaker::CodeRepository
       Properties:
           GitConfig:
               RepositoryUrl: !GetAtt ModelBuildCodeCommitRepository.CloneUrlHttp
               Branch: main
   ```

1. Adicione uma restrição de execução. Uma restrição de execução designa um perfil do IAM que o Service Catalog assume quando um usuário final executa um produto. Para obter informações, consulte [Etapa 6: adicionar uma restrição de execução para atribuir um Perfil do &IAM](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-launchconstraint.html).

1. Provisione o produto [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)para testar o modelo. Se você estiver satisfeito com seu modelo, continue para a próxima etapa a fim de disponibilizá-lo no Studio (ou Studio Classic).

1. Conceda acesso ao portfólio do Service Catalog que você criou na etapa 1 para seu perfil de execução do Studio (ou Studio Classic). Use o perfil de execução de domínio do Studio ou um perfil de usuário que tenha acesso ao Studio (ou Studio Classic). Para obter informações sobre como adicionar um perfil ao portfólio, consulte [Etapa 7: conceder aos usuários finais acesso ao portfólio](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-deploy.html).

1. Para disponibilizar seu modelo de projeto na lista de **Modelos de organização** no Studio (ou Studio Classic), crie uma tag com a chave e o valor a seguir para o produto do Service Catalog que você criou na etapa 2.
   + **chave**: `sagemaker:studio-visibility`
   + **valor**: `true`

Depois de concluir essas etapas, os usuários do Studio (ou Studio Classic) em sua organização poderão criar um projeto com o modelo que você criou seguindo as etapas em [Crie um MLOps projeto usando o Amazon SageMaker Studio ou o Studio Classic](sagemaker-projects-create.md) e escolhendo **Modelos de organização** ao selecionar um modelo.

## Usando um modelo de um bucket do Amazon S3
<a name="sagemaker-projects-templates-s3"></a>

Você também pode criar SageMaker projetos usando modelos armazenados no Amazon S3.

**nota**  
Embora você possa usar os modelos no AWS Service Catalog, recomendamos que você armazene modelos em um bucket do S3 e crie projetos usando esses modelos.

### Configuração do administrador
<a name="sagemaker-projects-templates-s3-setup"></a>

Antes de criar projetos usando modelos em um bucket do S3, execute as etapas a seguir.

1. [Crie um bucket do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) e carregue seus modelos no bucket.

1. [Configure uma política de CORS em seu bucket do S3 para configurar as permissões de acesso](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html).

1. Adicione a seguinte tag de valor-chave ao modelo para que elas se tornem visíveis para a SageMaker IA.

   ```
   sagemaker:studio-visibility : true
   ```

1. [Crie um domínio](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-quick-start.html).

1. Depois que a SageMaker IA terminar de criar seu domínio, adicione a seguinte tag de valor-chave ao domínio:

   ```
   sagemaker:projectS3TemplatesLocation : s3://<amzn-s3-demo-bucket>
   ```

Em seguida, use o AWS console, o Python ou as [CreateProject](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProject.html)operações de [UpdateProject](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateProject.html)API para criar ou atualizar um SageMaker projeto a partir de modelos dentro do bucket do S3.

------
#### [ Studio ]

**Criar um projeto**

1. Abra o console do Amazon SageMaker AI em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Abra o console do SageMaker Studio seguindo as instruções em [Iniciar o Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. No painel de navegação esquerdo, escolha **Implantações**, **Projetos**, **Criar** projeto.

1. Escolha **Modelos de organização** e, em seguida, **Modelos do S3** para ver os modelos que estão disponíveis para você. Se você não encontrar o modelo esperado, notifique seu administrador.

1. Escolha o modelo que você deseja usar e, em seguida, escolha **Avançar**.

1. Insira um nome para seu projeto, uma descrição opcional e os outros campos obrigatórios. Depois de concluir, escolha a opção **Criar**.

**Atualizar um projeto**

1. Abra o console do Amazon SageMaker AI em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Abra o console do SageMaker Studio seguindo as instruções em [Iniciar o Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. Escolha o projeto que você deseja atualizar. Escolha **Ações** e, em seguida, selecione **Atualizar projeto**.

1. Ao atualizar um projeto, você pode atualizar os parâmetros do modelo ou o URL do modelo. Quando concluir, selecione **Próximo**.

1. Revise as atualizações do projeto na tabela de resumo e escolha **Atualizar**.

------
#### [ Python Boto3 ]

Depois de criar o bucket do S3 e carregar seus modelos, você pode usar o exemplo a seguir para criar um SageMaker projeto.

```
sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')

response = sagemaker_client.create_project(
    ProjectName='my-custom-project',
    ProjectDescription='SageMaker project with custom CFN template stored in S3',
    TemplateProviders=[{
        'CfnTemplateProvider': {
            'TemplateName': 'CustomProjectTemplate',
            'TemplateURL': f'https://<bucket_name>.s3.us-west-2.amazonaws.com/custom-project-template.yml',
            'Parameters': [
                {'Key': 'ParameterKey', 'Value': 'ParameterValue'}
            ]
        }
    }]
)
print(f"Project ARN: {response['ProjectArn']}")
```

Para atualizar um SageMaker projeto, veja o exemplo a seguir.

```
sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')

response = sagemaker_client.update_project(
    ProjectName='my-custom-project',
    ProjectDescription='SageMaker project with custom CFN template stored in S3',
    TemplateProvidersToUpdate=[{
        'CfnTemplateProvider': {
            'TemplateName': 'CustomProjectTemplate',
            'TemplateURL': f'https://<bucket_name>.s3.us-west-2.amazonaws.com/custom-project-template.yml',
            'Parameters': [
                {'Key': 'ParameterKey', 'Value': 'ParameterValue'}
            ]
        }
    }]
)
print(f"Project ARN: {response['ProjectArn']}")
```

------