

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création d'une solution
<a name="create-solution"></a>

Vous pouvez créer une solution personnalisée avec la console Amazon Personalize, AWS Command Line Interface (AWS CLI) ou AWS SDKs. Vous trouverez ci-dessous des étapes détaillées pour créer une solution avec la console Amazon Personalize et des exemples de code qui montrent comment créer une solution avec uniquement les champs obligatoires. 

**Topics**
+ [Création d'une solution (console)](#configure-solution-console)
+ [Création d'une solution (AWS CLI)](#configure-solution-cli)
+ [Création d'une solution (AWS SDKs)](#configure-solution-sdk)

## Création d'une solution (console)
<a name="configure-solution-console"></a>

**Important**  
Par défaut, toutes les nouvelles solutions utilisent l'entraînement automatique. Avec la formation automatique, vous encourez des frais de formation pendant que votre solution est active. Pour éviter des coûts inutiles, lorsque vous avez terminé, vous pouvez [mettre à jour la solution](updating-solution.md) pour désactiver l'entraînement automatique. Pour plus d'informations sur les coûts de formation, consultez la [tarification d'Amazon Personalize](https://aws.amazon.com/personalize/pricing/).

 Pour créer une solution dans la console, choisissez votre groupe de jeux de données, puis spécifiez un nom de solution, une recette et une configuration d'entraînement facultative. 

**Pour configurer une solution (console)**

1. Ouvrez la console Amazon Personalize [https://console.aws.amazon.com/personalize/chez](https://console.aws.amazon.com/personalize/home) vous et connectez-vous à votre compte.

1. Sur la page **Groupes de jeux de données**, choisissez votre groupe de jeux de données.

1. Sur la page **Vue d'ensemble**, pour **l'étape 3**, effectuez l'une des opérations suivantes :
   + Si vous avez créé un groupe de jeux de données de domaine, choisissez **Utiliser des ressources personnalisées**, puis sélectionnez **Créer des solutions**.
   + Si vous avez créé un groupe de jeux de données personnalisé, choisissez **Create solutions**. 

1. Pour **Solution name (Nom de la solution)**, spécifiez un nom pour votre solution.

1. Dans **Type de solution**, choisissez le type de solution que vous souhaitez créer. Le type que vous choisissez détermine les recettes disponibles. 
   + Choisissez **Recommandation d'articles** pour obtenir des recommandations d'articles pour vos utilisateurs. Par exemple, des recommandations de films personnalisées. 
   + Choisissez **Recommandation d'action** pour obtenir des recommandations d'action pour vos utilisateurs. Par exemple, générez la meilleure action suivante pour un utilisateur, telle que télécharger votre application. 
   + Choisissez **la segmentation des utilisateurs** pour obtenir des segments d'utilisateurs (groupes d'utilisateurs) basés sur les données de vos articles.

1. Pour **Recette**, choisissez une recette (voir[Choisir une recette](working-with-predefined-recipes.md)). 

1. Pour les **balises**, ajoutez éventuellement des balises. Pour plus d'informations sur le balisage des ressources Amazon Personalize, consultez[Marquer les ressources Amazon Personalize](tagging-resources.md).

1. Choisissez **Suivant**.

1. Sur la page **de configuration de la formation**, personnalisez la solution pour répondre aux besoins de votre entreprise. 
   + Dans **Entraînement automatique**, indiquez si la solution utilise l'entraînement automatique. Si vous utilisez l'entraînement automatique, vous pouvez modifier le`Automatic training frequency`. La fréquence d'entraînement par défaut est tous les 7 jours. 

     Nous vous recommandons d'utiliser l'entraînement automatique. Cela vous permet de maintenir plus facilement la pertinence des recommandations. La fréquence de vos formations dépend des besoins de votre entreprise, de la recette que vous utilisez et de la fréquence à laquelle vous importez des données. Pour de plus amples informations, veuillez consulter [Configuration de l'entraînement automatique](solution-config-auto-training.md). Pour plus d'informations sur le maintien de la pertinence, voir[Maintien de la pertinence des recommandations](maintaining-relevance.md).
   + Dans **Configuration des hyperparamètres**, configurez les options des hyperparamètres en fonction de votre recette et des besoins de votre entreprise. Différentes recettes utilisent différents hyperparamètres. Pour les hyperparamètres mis à votre disposition, consultez les recettes individuelles dans[Choisir une recette](working-with-predefined-recipes.md). 
   + Dans **Columns for training**, si votre recette génère des recommandations d'articles ou des segments d'utilisateurs, choisissez éventuellement les colonnes prises en compte par Amazon Personalize lors de la création de versions de solution. Pour de plus amples informations, veuillez consulter [Configuration des colonnes utilisées lors de l'entraînement](custom-config-columns.md). 
   + Dans **Configuration des événements**, si votre ensemble de données d'interactions avec les articles contient les colonnes EVENT\$1TYPE ou EVENT\$1TYPE et EVENT\$1VALUE, utilisez éventuellement les champs **Type d'événement** et **Seuil de valeur d'événement** pour choisir les données d'interactions entre articles utilisées par Amazon Personalize lors de la formation du modèle. Pour de plus amples informations, veuillez consulter [Choix des données d'interaction entre les objets utilisées pour l'entraînement](event-values-types.md). 

      Si vous avez plusieurs types d'événements et que vous utilisez la recette User-Personalization-v 2 ou Personalized-Ranking-v 2 recettes, vous pouvez également spécifier des pondérations différentes pour les différents types. Par exemple, vous pouvez configurer une solution pour donner plus de poids aux événements d'achat qu'aux événements de clics. Pour de plus amples informations, veuillez consulter [Optimisation d'une solution avec configuration d'événements](optimizing-solution-events-config.md). 
   + Si vous utilisez la [Recette de classement personnalisé](native-recipe-search.md) recette [Recette de personnalisation par l'utilisateur](native-recipe-new-item-USER_PERSONALIZATION.md) ou, vous pouvez éventuellement spécifier un **objectif** et choisir une **sensibilité d'objectif** afin d'optimiser votre solution pour un objectif en plus de la pertinence. La sensibilité objective configure la façon dont Amazon Personalize équilibre les recommandations d'articles en fonction de votre objectif par rapport à la pertinence grâce aux données d'interactions. Pour de plus amples informations, veuillez consulter [Optimisation d'une solution pour un objectif supplémentaire](optimizing-solution-for-objective.md).

1. Choisissez **Next** et passez en revue les détails de la solution. Vous ne pouvez pas modifier la configuration de votre solution après l'avoir créée.

1. Choisissez **Create solution (Créer unes solution)**. Une fois que vous avez créé une solution, Amazon Personalize commence à créer votre première version de solution en moins d'une heure. Lorsque la formation commence, vous pouvez la suivre dans la section **Versions de la solution** sur la page de détails de votre solution. Les versions de solution créées automatiquement ont le **type d'entraînement** AUTOMATIQUE. 

    Lorsque la version de la solution est ACTIVE, vous êtes prêt à l'utiliser pour obtenir des recommandations. La façon dont vous utilisez une version de solution active dépend de la manière dont vous obtenez les recommandations :
   +  Pour obtenir des recommandations en temps réel, vous déployez une version de la solution ACTIVE avec une campagne Amazon Personalize. Vous utilisez la campagne pour obtenir des recommandations pour vos utilisateurs. Consultez [Déploiement d'une version de la solution Amazon Personalize avec une campagneCréation d'une campagne](campaigns.md).
   + Pour les recommandations par lots, vous devez spécifier une version de solution ACTIVE lorsque vous créez une tâche d'inférence par lots ou une tâche de segmentation par lots. Voir [Obtenir des recommandations d'articles par lots](getting-batch-recommendations.md) ou [Obtenir des segments d'utilisateurs par lots](getting-user-segments.md).

## Création d'une solution (AWS CLI)
<a name="configure-solution-cli"></a>

**Important**  
Par défaut, toutes les nouvelles solutions utilisent l'entraînement automatique. Avec la formation automatique, vous encourez des frais de formation pendant que votre solution est active. Pour éviter des coûts inutiles, lorsque vous avez terminé, vous pouvez [mettre à jour la solution](updating-solution.md) pour désactiver l'entraînement automatique. Pour plus d'informations sur les coûts de formation, consultez la [tarification d'Amazon Personalize](https://aws.amazon.com/personalize/pricing/).

Pour créer une solution avec le AWS CLI, utilisez la `create-solution` commande. Cette commande utilise l'opération [CreateSolution](API_CreateSolution.md) API. Le code suivant explique comment créer une solution utilisant l'entraînement automatique. Il crée automatiquement une nouvelle version de la solution tous les cinq jours.

Pour utiliser le code, mettez-le à jour pour donner un nom à la solution, spécifiez l'Amazon Resource Name (ARN) de votre groupe de données, modifiez éventuellement la fréquence d'entraînement et spécifiez l'ARN de la recette à utiliser. Pour plus d'informations sur les recettes, consultez [Choisir une recette](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)\"}}"
```
+ Nous vous recommandons d'utiliser l'entraînement automatique. Cela vous permet de maintenir et d'améliorer plus facilement la pertinence des recommandations. Par défaut, toutes les nouvelles solutions utilisent l'entraînement automatique. La fréquence d'entraînement par défaut est tous les 7 jours. La fréquence de vos formations dépend des besoins de votre entreprise, de la recette que vous utilisez et de la fréquence à laquelle vous importez des données. Pour de plus amples informations, veuillez consulter [Configuration de l'entraînement automatique](solution-config-auto-training.md). 
+ En fonction de votre recette, vous pouvez modifier le code pour configurer des propriétés et des hyperparamètres spécifiques à la recette (voir[Hyperparamètres et HPO](customizing-solution-config-hpo.md)), configurer les colonnes utilisées pour l'entraînement (voir[Configuration des colonnes utilisées lors de l'entraînement (AWS CLI)](custom-config-columns.md#custom-config-columns-cli)) ou filtrer les données d'interactions entre éléments utilisées pour l'entraînement (voir[Choix des données d'interaction entre les objets utilisées pour l'entraînement](event-values-types.md)). 
+ Si vous utilisez la [Recette de classement personnalisé](native-recipe-search.md) recette [Recette de personnalisation par l'utilisateur](native-recipe-new-item-USER_PERSONALIZATION.md) ou, vous pouvez optimiser votre solution en fonction d'un objectif, en plus de sa pertinence. Pour de plus amples informations, veuillez consulter [Optimisation d'une solution pour un objectif supplémentaire](optimizing-solution-for-objective.md).

Après avoir créé la solution, enregistrez l'ARN de la solution pour une utilisation future. Avec l'entraînement automatique, la création de versions de solution commence dans l'heure qui suit l'activation de la solution. Si vous créez manuellement une version de solution dans l'heure qui suit, la solution ignore le premier entraînement automatique. Après le début de la formation, vous pouvez obtenir le nom de ressource Amazon (ARN) de la version de la solution avec le fonctionnement de l'[ListSolutionVersions](https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html)API. Pour obtenir son statut, utilisez l'opération [DescribeSolutionVersion](https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html)API. 

 Lorsque la version de la solution est ACTIVE, vous êtes prêt à l'utiliser pour obtenir des recommandations. La façon dont vous utilisez une version de solution active dépend de la manière dont vous obtenez les recommandations :
+  Pour obtenir des recommandations en temps réel, vous déployez une version de la solution ACTIVE avec une campagne Amazon Personalize. Vous utilisez la campagne pour obtenir des recommandations pour vos utilisateurs. Consultez [Déploiement d'une version de la solution Amazon Personalize avec une campagneCréation d'une campagne](campaigns.md).
+ Pour les recommandations par lots, vous devez spécifier une version de solution ACTIVE lorsque vous créez une tâche d'inférence par lots ou une tâche de segmentation par lots. Voir [Obtenir des recommandations d'articles par lots](getting-batch-recommendations.md) ou [Obtenir des segments d'utilisateurs par lots](getting-user-segments.md).

## Création d'une solution (AWS SDKs)
<a name="configure-solution-sdk"></a>

**Important**  
Par défaut, toutes les nouvelles solutions utilisent l'entraînement automatique. Avec la formation automatique, vous encourez des frais de formation pendant que votre solution est active. Pour éviter des coûts inutiles, lorsque vous avez terminé, vous pouvez [mettre à jour la solution](updating-solution.md) pour désactiver l'entraînement automatique. Pour plus d'informations sur les coûts de formation, consultez la [tarification d'Amazon Personalize](https://aws.amazon.com/personalize/pricing/).

Pour créer une solution avec AWS SDKs, utilisez l'opération [CreateSolution](API_CreateSolution.md) API. Le code suivant explique comment créer une solution utilisant l'entraînement automatique. Il crée automatiquement une nouvelle version de la solution tous les cinq jours.

Pour utiliser le code, mettez-le à jour pour donner un nom à la solution, spécifiez l'Amazon Resource Name (ARN) de votre groupe de données, modifiez éventuellement la fréquence d'entraînement et spécifiez l'ARN de la recette que vous souhaitez utiliser. Pour plus d'informations sur les recettes, consultez [Choisir une recette](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();
```

------
+ Nous vous recommandons d'utiliser l'entraînement automatique. Cela vous permet de maintenir et d'améliorer plus facilement la pertinence des recommandations. Par défaut, toutes les nouvelles solutions utilisent l'entraînement automatique. La fréquence d'entraînement par défaut est tous les 7 jours. La fréquence de vos formations dépend des besoins de votre entreprise, de la recette que vous utilisez et de la fréquence à laquelle vous importez des données. Pour de plus amples informations, veuillez consulter [Configuration de l'entraînement automatique](solution-config-auto-training.md). 
+ En fonction de votre recette, vous pouvez modifier le code pour configurer des propriétés et des hyperparamètres spécifiques à la recette (voir[Hyperparamètres et HPO](customizing-solution-config-hpo.md)), configurer les colonnes utilisées pour l'entraînement (voir[Configuration des colonnes utilisées lors de l'entraînement (AWS SDKs)](custom-config-columns.md#custom-configure-columns-sdk)) ou filtrer les données d'interactions entre éléments utilisées pour l'entraînement (voir[Choix des données d'interaction entre les objets utilisées pour l'entraînement](event-values-types.md)). 
+ Si vous utilisez la [Recette de classement personnalisé](native-recipe-search.md) recette [Recette de personnalisation par l'utilisateur](native-recipe-new-item-USER_PERSONALIZATION.md) ou, vous pouvez optimiser votre solution en fonction d'un objectif, en plus de sa pertinence. Pour de plus amples informations, veuillez consulter [Optimisation d'une solution pour un objectif supplémentaire](optimizing-solution-for-objective.md).

Après avoir créé la solution, enregistrez l'ARN de la solution pour une utilisation future. Avec l'entraînement automatique, la création de versions de solution commence dans l'heure qui suit l'activation de la solution. Si vous créez manuellement une version de solution dans l'heure qui suit, la solution ignore le premier entraînement automatique. Après le début de la formation, vous pouvez obtenir le nom de ressource Amazon (ARN) de la version de la solution avec le fonctionnement de l'[ListSolutionVersions](https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html)API. Pour obtenir son statut, utilisez l'opération [DescribeSolutionVersion](https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html)API. 

Vous pouvez utiliser le code Python suivant pour attendre le début de l'entraînement automatique. La `wait_for_training_to_start` méthode renvoie l'ARN de la première version de la solution.

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

 Lorsque la version de la solution est ACTIVE, vous êtes prêt à l'utiliser pour obtenir des recommandations. La façon dont vous utilisez une version de solution active dépend de la manière dont vous obtenez les recommandations :
+  Pour obtenir des recommandations en temps réel, vous déployez une version de la solution ACTIVE avec une campagne Amazon Personalize. Vous utilisez la campagne pour obtenir des recommandations pour vos utilisateurs. Consultez [Déploiement d'une version de la solution Amazon Personalize avec une campagneCréation d'une campagne](campaigns.md).
+ Pour les recommandations par lots, vous devez spécifier une version de solution ACTIVE lorsque vous créez une tâche d'inférence par lots ou une tâche de segmentation par lots. Voir [Obtenir des recommandations d'articles par lots](getting-batch-recommendations.md) ou [Obtenir des segments d'utilisateurs par lots](getting-user-segments.md).