

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 uma solução
<a name="create-solution"></a>

É possível criar uma solução personalizada com o console do Amazon Personalize, a AWS Command Line Interface (AWS CLI) ou os AWS SDKs. A seguir estão as etapas detalhadas para criar uma solução com o console do Amazon Personalize e exemplos de código que mostram como criar uma solução só com os campos obrigatórios. 

**Topics**
+ [Criar uma solução (console)](#configure-solution-console)
+ [Criar uma solução (AWS CLI)](#configure-solution-cli)
+ [Criar uma solução (SDKs da AWS)](#configure-solution-sdk)

## Criar uma solução (console)
<a name="configure-solution-console"></a>

**Importante**  
Por padrão, todas as novas soluções usam o treinamento automático. Com o treinamento automático, você acumula custos de treinamento enquanto sua solução está ativa. Ao terminar, você poderá [atualizar a solução](updating-solution.md) para desativar o treinamento automático e evitar custos desnecessários. Para obter mais informações sobre os custos dos treinamentos, consulte [Preços do Amazon Personalize](https://aws.amazon.com/personalize/pricing/).

 Para criar uma solução no console, escolha seu grupo de conjuntos de dados e especifique um nome da solução, uma fórmula e uma configuração de treinamento opcional. 

**Para configurar uma solução (console)**

1. Abra o console do Amazon Personalize em [https://console.aws.amazon.com/personalize/home](https://console.aws.amazon.com/personalize/home) e faça login na sua conta.

1. Na página **Grupos de conjuntos de dados**, escolha seu grupo de conjuntos de dados.

1. Na página **Visão geral**, para a **Etapa 3**, faça o seguinte:
   + Se você criou um grupo de conjuntos de dados de domínio, escolha **Usar recursos personalizados** e **Criar soluções**.
   + Se criou um grupo de conjuntos de dados personalizados, selecione **Criar soluções**. 

1. Em **Solution name (Nome da solução)**, especifique um nome para a solução.

1. Em **Tipo de solução**, escolha o tipo de solução que você deseja criar. O tipo selecionado determina quais fórmulas estão disponíveis. 
   + Selecione **Recomendação de itens** para obter recomendações de itens para os usuários. Por exemplo, recomendações personalizadas de filmes. 
   + Selecione **Recomendação de ação** para obter recomendações de ações para os usuários. Por exemplo, gere a próxima ação recomendada, como baixar sua aplicação. 
   + Selecione **Segmentação de usuários** para obter segmentos de usuários (grupos de usuários) com base nos dados do item.

1. Em **Fórmula**, escolha uma fórmula (consulte [Escolher uma fórmula](working-with-predefined-recipes.md)). 

1. Para **Tags**, é possível adicionar quaisquer tags. Para obter mais informações sobre recursos de atribuição de tags do Amazon Personalize, consulte [Usar tags nos recursos do Amazon Personalize](tagging-resources.md).

1. Escolha **Próximo**.

1. Na página **Configuração do treinamento**, personalize a solução para atender às suas necessidades comerciais. 
   + Em **Treinamento automático**, defina se a solução usa o treinamento automático. Se você usa o treinamento automático, pode mudar a `Automatic training frequency`. A frequência padrão de treinamento é a cada 7 dias. 

     Recomendamos usar o treinamento automático. Isso facilita a manutenção da relevância da recomendação. A frequência de treinamento depende dos requisitos da sua empresa, da fórmula usada e da frequência de importação dos dados. Para obter mais informações, consulte [Configurar o treinamento automático](solution-config-auto-training.md). Para obter informações sobre como manter a relevância, consulte [Manter a relevância da recomendação](maintaining-relevance.md).
   + Em **Configuração de hiperparâmetros**, defina as opções de hiperparâmetros com base em sua fórmula e necessidades comerciais. Fórmulas diferentes usam hiperparâmetros diferentes. Para ver os hiperparâmetros disponíveis, consulte as fórmulas individuais em [Escolher uma fórmula](working-with-predefined-recipes.md). 
   + Na página **Configuração avançada**, se a fórmula gerar recomendações de itens ou segmentos de usuários, será possível escolher colunas que o Amazon Personalize vai considerar ao criar as versões da solução. Para obter mais informações, consulte [Configurar colunas usadas durante o treinamento](custom-config-columns.md). 
   + Em **Configuração de evento**, se o conjunto de dados de interações com itens tiver as colunas EVENT\$1TYPE ou EVENT\$1TYPE e EVENT\$1VALUE, use os campos **Tipo de evento** e **Limite de valor do evento** para escolher os dados de interações com itens que o Amazon Personalize utiliza ao treinar o modelo. Para obter mais informações, consulte [Selecionar os dados de interações com itens utilizados para treinamento](event-values-types.md). 

      Se tiver vários tipos de eventos e usar a fórmula User-Personalization-v2 ou Personalized-Ranking-v2, você também poderá especificar pesos diferentes para tipos diferentes. Por exemplo, você pode configurar uma solução para dar mais peso aos eventos de compra do que aos eventos de clique. Para obter mais informações, consulte [Otimização de uma solução com configuração de eventos](optimizing-solution-events-config.md). 
   + Se você usar a fórmula [Fórmula User-Personalization](native-recipe-new-item-USER_PERSONALIZATION.md) ou [Fórmulas de classificações personalizadas](native-recipe-search.md), é possível especificar um **objetivo** e escolher uma **sensibilidade do objetivo** para otimizar sua solução para um objetivo além da relevância. A sensibilidade do objetivo configura como o Amazon Personalize equilibra a recomendação de itens baseado no seu objetivo em comparação com a relevância por meio de dados de interações. Para obter mais informações, consulte [Otimizar uma solução para um objetivo adicional](optimizing-solution-for-objective.md).

1. Escolha **Próximo** e revise os detalhes da solução. Não é possível modificar a configuração da solução depois de criada.

1. Escolha **Create solution (Criar solução)**. Depois que você cria uma solução, o Amazon Personalize começa a criar sua primeira versão da solução em uma hora. Com o início do treinamento, você pode monitorá-lo na seção **Versões da solução** na página de detalhes da sua solução. As versões da solução criadas automaticamente têm AUTOMÁTICO como **Tipo de treinamento**. 

    Quando o status da versão é ATIVA, as recomendações começam a ser enviadas. O uso de uma versão da solução ativa depende de como você recebe as recomendações:
   +  Para obter recomendações em tempo real, a versão ativa deve ser implantada com uma campanha do Amazon Personalize. Use a campanha para obter recomendações para seus usuários. Consulte [Você pode implantar uma versão da solução do Amazon Personalize com uma campanha.Criar uma campanha](campaigns.md).
   + Para as recomendações em lote, você especifica uma versão da solução ativa ao criar um trabalho de inferência em lote ou de segmento em lote. Consulte [Obter recomendações de itens em lote](getting-batch-recommendations.md) ou [Obter segmentos em lote de usuários](getting-user-segments.md).

## Criar uma solução (AWS CLI)
<a name="configure-solution-cli"></a>

**Importante**  
Por padrão, todas as novas soluções usam o treinamento automático. Com o treinamento automático, você acumula custos de treinamento enquanto sua solução está ativa. Ao terminar, você poderá [atualizar a solução](updating-solution.md) para desativar o treinamento automático e evitar custos desnecessários. Para obter mais informações sobre os custos dos treinamentos, consulte [Preços do Amazon Personalize](https://aws.amazon.com/personalize/pricing/).

Para criar uma solução com a AWS CLI, use o comando `create-solution`. Esse comando usa a operação da API [CreateSolution](API_CreateSolution.md). O código a seguir mostra como criar uma solução que usa o treinamento automático. Ele cria automaticamente uma nova versão da solução a cada cinco dias.

Para usar o código, atualize-o para dar um nome à solução, especifique o nome do recurso da Amazon (ARN) do grupo de conjuntos de dados, altere opcionalmente a frequência de treinamento e especifique o ARN da fórmula a ser usada. Para obter informações sobre receitas, consulte [Escolher uma fórmula](working-with-predefined-recipes.md). 

```
aws personalize create-solution \
--name solution name \
--dataset-group-arn dataset group ARN \
--recipe-arn recipe ARN \
--perform-auto-training \
--solution-config "{\"autoTrainingConfig\": {\"schedulingExpression\": \"rate(5 days)\"}}"
```
+ Recomendamos o uso do treinamento automático. Isso facilita a manutenção e o aprimoramento da relevância das recomendações. Por padrão, todas as novas soluções usam o treinamento automático. A frequência padrão de treinamento é a cada 7 dias. A frequência de treinamento depende dos requisitos da sua empresa, da fórmula usada e da frequência de importação dos dados. Para obter mais informações, consulte [Configurar o treinamento automático](solution-config-auto-training.md). 
+ Dependendo da fórmula, é possível modificar o código para configurar propriedades e hiperparâmetros específicos da fórmula (consulte [Hiperparâmetros e HPO](customizing-solution-config-hpo.md)), definir quais colunas serão usadas no treinamento (consulte [Configurar colunas usadas durante o treinamento (AWS CLI)](custom-config-columns.md#custom-config-columns-cli)) ou filtrar os dados de interações usados para o treinamento (consulte [Selecionar os dados de interações com itens utilizados para treinamento](event-values-types.md)). 
+ Se você usar a fórmula [Fórmula User-Personalization](native-recipe-new-item-USER_PERSONALIZATION.md) ou [Fórmulas de classificações personalizadas](native-recipe-search.md), poderá otimizar sua solução para um objetivo além da relevância. Para obter mais informações, consulte [Otimizar uma solução para um objetivo adicional](optimizing-solution-for-objective.md).

Depois que você criar a solução, registre o ARN dela para uso futuro. Com o treinamento automático, a criação da versão da solução começa dentro de uma hora após a solução se tornar ATIVA. Se você criar manualmente uma versão da solução dentro desse período, ela pulará o primeiro treinamento automático. Após o início do treinamento, você poderá obter o nome do recurso da Amazon (ARN) da versão da solução com a operação de API [ListSolutionVersions](https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html). Para saber o status dele, use a operação [DescribeSolutionVersion](https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html). 

 Quando o status da versão é ATIVA, as recomendações começam a ser enviadas. O uso de uma versão da solução ativa depende de como você recebe as recomendações:
+  Para obter recomendações em tempo real, a versão ativa deve ser implantada com uma campanha do Amazon Personalize. Use a campanha para obter recomendações para seus usuários. Consulte [Você pode implantar uma versão da solução do Amazon Personalize com uma campanha.Criar uma campanha](campaigns.md).
+ Para as recomendações em lote, você especifica uma versão da solução ativa ao criar um trabalho de inferência em lote ou de segmento em lote. Consulte [Obter recomendações de itens em lote](getting-batch-recommendations.md) ou [Obter segmentos em lote de usuários](getting-user-segments.md).

## Criar uma solução (SDKs da AWS)
<a name="configure-solution-sdk"></a>

**Importante**  
Por padrão, todas as novas soluções usam o treinamento automático. Com o treinamento automático, você acumula custos de treinamento enquanto sua solução está ativa. Ao terminar, você poderá [atualizar a solução](updating-solution.md) para desativar o treinamento automático e evitar custos desnecessários. Para obter mais informações sobre os custos dos treinamentos, consulte [Preços do Amazon Personalize](https://aws.amazon.com/personalize/pricing/).

Para criar uma solução com os AWS SDKs, use a operação da API [CreateSolution](API_CreateSolution.md). O código a seguir mostra como criar uma solução que usa o treinamento automático. Ele cria automaticamente uma nova versão da solução a cada cinco dias.

Para usar o código, atualize-o para dar um nome à solução, especifique o nome do recurso da Amazon (ARN) do grupo de conjuntos de dados, altere opcionalmente a frequência de treinamento e especifique o ARN da fórmula que você deseja usar. Para obter informações sobre receitas, consulte [Escolher uma fórmula](working-with-predefined-recipes.md). 

------
#### [ SDK for Python (Boto3) ]

```
import boto3

personalize = boto3.client('personalize')

create_solution_response = personalize.create_solution(
  name = 'solution name',
  recipeArn = 'recipe ARN',
  datasetGroupArn = 'dataset group ARN',
  performAutoTraining = True,
  solutionConfig = {
    "autoTrainingConfig": {
      "schedulingExpression": "rate(5 days)"
    }
  }
)
solution_arn = create_solution_response['solutionArn']
print('solution_arn: ', solution_arn)
```

------
#### [ SDK for JavaScript v3 ]

```
import {
  CreateSolutionCommand,
  PersonalizeClient,
} from "@aws-sdk/client-personalize";

// create client
const personalizeClient = new PersonalizeClient({ region: "REGION" });

// set the solution parameters
export const solutionParam = {
  datasetGroupArn: "DATASET_GROUP_ARN" /* required */,
  recipeArn: "RECIPE_ARN" /* required */,
  name: "SOLUTION_NAME" /* required */,
  performAutoTraining: true /* optional, default is true */,
  solutionConfig: {
    autoTrainingConfig: {
      schedulingExpression:
        "rate(5 days)" /* optional, default is every 7 days */,
    },
  },
};

export const run = async () => {
  try {
    const response = await personalizeClient.send(
      new CreateSolutionCommand(solutionParam)
    );
    console.log("Success", response);
    return response; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

------
+ Recomendamos o uso do treinamento automático. Isso facilita a manutenção e o aprimoramento da relevância das recomendações. Por padrão, todas as novas soluções usam o treinamento automático. A frequência padrão de treinamento é a cada 7 dias. A frequência de treinamento depende dos requisitos da sua empresa, da fórmula usada e da frequência de importação dos dados. Para obter mais informações, consulte [Configurar o treinamento automático](solution-config-auto-training.md). 
+ Dependendo da fórmula, é possível modificar o código para configurar propriedades e hiperparâmetros específicos da fórmula (consulte [Hiperparâmetros e HPO](customizing-solution-config-hpo.md)), definir quais colunas serão usadas no treinamento (consulte [Configurar colunas usadas durante o treinamento (AWS SDKs)](custom-config-columns.md#custom-configure-columns-sdk)) ou filtrar os dados de interações usados para o treinamento (consulte [Selecionar os dados de interações com itens utilizados para treinamento](event-values-types.md)). 
+ Se você usar a fórmula [Fórmula User-Personalization](native-recipe-new-item-USER_PERSONALIZATION.md) ou [Fórmulas de classificações personalizadas](native-recipe-search.md), poderá otimizar sua solução para um objetivo além da relevância. Para obter mais informações, consulte [Otimizar uma solução para um objetivo adicional](optimizing-solution-for-objective.md).

Depois que você criar a solução, registre o ARN dela para uso futuro. Com o treinamento automático, a criação da versão da solução começa dentro de uma hora após a solução se tornar ATIVA. Se você criar manualmente uma versão da solução dentro desse período, ela pulará o primeiro treinamento automático. Após o início do treinamento, você poderá obter o nome do recurso da Amazon (ARN) da versão da solução com a operação de API [ListSolutionVersions](https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html). Para saber o status dele, use a operação [DescribeSolutionVersion](https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html). 

Você pode usar o código Python a seguir para aguardar o início do treinamento automático. O método `wait_for_training_to_start` retorna o ARN da primeira versão da solução.

```
import time
import boto3


def wait_for_training_to_start(new_solution_arn):
    max_time = time.time() + 3 * 60 * 60    # 3 hours
    while time.time() < max_time:
        list_solution_versions_response = personalize.list_solution_versions(
            solutionArn=new_solution_arn
        )
        solution_versions = list_solution_versions_response.get('solutionVersions', [])
        if solution_versions:
            new_solution_version_arn = solution_versions[0]['solutionVersionArn']
            print(f"Solution version ARN: {new_solution_version_arn}")
            return new_solution_version_arn
        else:
            print(f"Training hasn't started yet. Training will start within the next hour.")
            time.sleep(60)


personalize = boto3.client('personalize')

solution_arn = "solution_arn"
solution_version_arn = wait_for_training_to_start(solution_arn)
```

 Quando o status da versão é ATIVA, as recomendações começam a ser enviadas. O uso de uma versão da solução ativa depende de como você recebe as recomendações:
+  Para obter recomendações em tempo real, a versão ativa deve ser implantada com uma campanha do Amazon Personalize. Use a campanha para obter recomendações para seus usuários. Consulte [Você pode implantar uma versão da solução do Amazon Personalize com uma campanha.Criar uma campanha](campaigns.md).
+ Para as recomendações em lote, você especifica uma versão da solução ativa ao criar um trabalho de inferência em lote ou de segmento em lote. Consulte [Obter recomendações de itens em lote](getting-batch-recommendations.md) ou [Obter segmentos em lote de usuários](getting-user-segments.md).