

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 manuelle d'une version de solution
<a name="creating-a-solution-version"></a>

Une fois que vous avez terminé[Configuration d'une solution personnalisée dans Amazon Personalize](customizing-solution-config.md), vous êtes prêt à commencer l'entraînement :
+  Si votre solution utilise l'entraînement automatique, elle crée des versions de solution pour vous à la fréquence d'entraînement que vous spécifiez. Par défaut, toutes les nouvelles solutions utilisent une formation automatique pour créer une nouvelle version de solution tous les 7 jours. Vous pouvez toujours créer des versions de solution manuellement. Pour de plus amples informations, veuillez consulter [Configuration de l'entraînement automatique](solution-config-auto-training.md).
+ Si vous désactivez l'entraînement automatique pour votre solution ou si vous souhaitez effectuer un entraînement manuel, vous pouvez créer manuellement une version de la solution. Une *version de solution* fait référence à un modèle d'apprentissage automatique entraîné. Vous pouvez créer une version de solution à l'aide de la console, AWS Command Line Interface (AWS CLI) ou AWS SDKs. Si le statut de la version de votre solution est CREATE\_PENDING ou CREATE\_IN\_PROGRESS, vous pouvez utiliser cette [StopSolutionVersionCreation](API_StopSolutionVersionCreation.md) opération pour arrêter le processus de création de la version de solution. Consultez [Arrêt de la création d'une version de solution](stop-solution-version.md). 

Si la formation ne se termine pas en raison d'une erreur, elle ne vous sera pas facturée. Si le statut de la version de votre solution est CREATE\_PENDING ou CREATE\_IN\_PROGRESS, vous pouvez arrêter le processus de création de version de solution. Pour arrêter la création d'une version de solution, accédez à la page de détails de la version de solution et choisissez **Arrêter**. Pour de plus amples informations, veuillez consulter [Arrêt de la création d'une version de solution](stop-solution-version.md).

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

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

Pour créer manuellement une nouvelle version de solution à l'aide de la console Amazon Personalize, vous devez commencer la formation depuis la page de détails de votre solution.

**Pour créer une nouvelle version de solution**

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. Accédez à la page des groupes de jeux de données et choisissez le groupe de jeux de données avec votre nouvelle solution.

1. Dans le volet de navigation, sous **Ressources personnalisées**, sélectionnez **Solutions et recettes**. 

1. Sur la page **Solution et recettes**, choisissez la solution pour laquelle vous souhaitez créer une version de solution.

1. Sur la page de présentation de la solution, choisissez **Créer une version de solution** pour commencer à entraîner un nouveau modèle.

Sur la page des détails de la solution, vous pouvez suivre la progression de la formation dans la section **Versions de la solution**. Lorsque la formation est terminée, le statut est **Actif**, vous pouvez l'évaluer à l'aide des indicateurs fournis par Amazon Personalize. Pour de plus amples informations, veuillez consulter [Évaluation d'une version de la solution Amazon Personalize à l'aide de métriques](working-with-training-metrics.md).

 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 version de solution (AWS CLI)
<a name="create-solution-version-cli"></a>

Lorsque votre solution est ACTIVE, entraînez le modèle en exécutant la commande suivante. `solution arn`Remplacez-le par la solution Amazon Resource Name (ARN) de[Configuration d'une solution personnalisée dans Amazon Personalize](customizing-solution-config.md).

```
aws personalize create-solution-version \
  --solution-arn {{solution arn}}
```

L'ARN de version de solution est affiché, par exemple :

```
{
  "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/SolutionName/<version-id>"
}
```

Vérifiez l'état d'entraînement de la version de la solution à l'aide de la `describe-solution-version` commande. Fournissez l'ARN de la version de solution qui a été renvoyé lors de l'étape précédente. Pour plus d’informations sur l’API, consultez [DescribeSolutionVersion](API_DescribeSolutionVersion.md).

```
aws personalize describe-solution-version \
  --solution-version-arn {{solution version arn}}
```

Les propriétés de la version de solution et le `status` de formation sont affichés. Initialement, le statut indique CREATE PENDING (CRÉATION EN ATTENTE), par exemple :

```
{
  "solutionVersion": {
      "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/solutionName/<version-id>",
      ...,
      "status": "CREATE PENDING"
  }
}
```

La formation est terminée lorsqu'elle `status` est terminée `ACTIVE` et vous pouvez l'évaluer à l'aide des indicateurs fournis par Amazon Personalize. Pour de plus amples informations, veuillez consulter [Évaluation d'une version de la solution Amazon Personalize à l'aide de métriques](working-with-training-metrics.md). Si la formation ne se termine pas en raison d'une erreur, elle ne vous sera pas facturée. 

Si le statut de la version de votre solution est CREATE\_PENDING ou CREATE\_IN\_PROGRESS, vous pouvez utiliser cette [StopSolutionVersionCreation](API_StopSolutionVersionCreation.md) opération pour arrêter le processus de création de la version de solution. Consultez [Arrêt de la création d'une version de solution](stop-solution-version.md).

 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 version de solution (AWS SDKs)
<a name="create-solution-version-sdk"></a>

Lorsque votre solution est ACTIVE, utilisez le code suivant pour créer une version de solution. Spécifiez le nom de ressource Amazon (ARN) à partir de[Configuration d'une solution personnalisée dans Amazon Personalize](customizing-solution-config.md). Utilisez l'[DescribeSolutionVersion](API_DescribeSolutionVersion.md)opération pour récupérer l'état de la version de la solution.

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

```
import boto3

personalize = boto3.client('personalize')
# Store the solution ARN
solution_arn = '{{solution arn}}'
        
# Use the solution ARN to get the solution status.
solution_description = personalize.describe_solution(solutionArn = 'solution_arn')['solution']
print('Solution status: ' + solution_description['status'])

# Use the solution ARN to create a solution version.
print ('Creating solution version')
response = personalize.create_solution_version(solutionArn = solution_arn)
solution_version_arn = response['solutionVersionArn']
print('Solution version ARN: ' + solution_version_arn)

# Use the solution version ARN to get the solution version status.
solution_version_description = personalize.describe_solution_version(
    solutionVersionArn = solution_version_arn)['solutionVersion']
print('Solution version status: ' + solution_version_description['status'])
```

------
#### [ SDK for Java 2.x ]

```
public static String createPersonalizeSolutionVersion(PersonalizeClient personalizeClient, String solutionArn) {
        long maxTime = 0;
        long waitInMilliseconds = 30 * 1000; // 30 seconds
        String solutionStatus = "";
        String solutionVersionStatus = "";
        String solutionVersionArn = "";

        try {
            DescribeSolutionRequest describeSolutionRequest = DescribeSolutionRequest.builder()
                .solutionArn(solutionArn)
                .build();
            
            maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60;

            // Wait until solution is active. 
            while (Instant.now().getEpochSecond() < maxTime) {

                solutionStatus = personalizeClient.describeSolution(describeSolutionRequest).solution().status();
                System.out.println("Solution status: " + solutionStatus);

                if (solutionStatus.equals("ACTIVE") || solutionStatus.equals("CREATE FAILED")) {
                    break;
                }
                try {
                    Thread.sleep(waitInMilliseconds);
                } catch (InterruptedException e) {
                    System.out.println(e.getMessage());
                }
            }
            
            // Once the solution is active, start creating a solution version.
            
            if (solutionStatus.equals("ACTIVE")) {

                CreateSolutionVersionRequest createSolutionVersionRequest = CreateSolutionVersionRequest.builder()
                    .solutionArn(solutionArn)
                    .build();
                
                CreateSolutionVersionResponse createSolutionVersionResponse = personalizeClient.createSolutionVersion(createSolutionVersionRequest);
                solutionVersionArn = createSolutionVersionResponse.solutionVersionArn();

                System.out.println("Solution version ARN: " + solutionVersionArn);

                DescribeSolutionVersionRequest describeSolutionVersionRequest = DescribeSolutionVersionRequest.builder() 
                    .solutionVersionArn(solutionVersionArn)
                    .build();
                
                maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60;
                
                while (Instant.now().getEpochSecond() < maxTime) {

                    // Use the solution version ARN to get the solution version status.
                    solutionVersionStatus = personalizeClient.describeSolutionVersion(describeSolutionVersionRequest).solutionVersion().status();
                    System.out.println("Solution version status: " + solutionVersionStatus);
    
                    if (solutionVersionStatus.equals("ACTIVE") || solutionVersionStatus.equals("CREATE FAILED")) {
                        break;
                    }
                    try {
                        Thread.sleep(waitInMilliseconds);
                    } catch (InterruptedException e) {
                        System.out.println(e.getMessage());
                    }
                }
                return solutionVersionArn;
            }
        } catch(PersonalizeException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
        return "";
    }
```

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

```
// Get service clients module and commands using ES6 syntax.
import { CreateSolutionVersionCommand } from "@aws-sdk/client-personalize";
import { personalizeClient } from "./libs/personalizeClients.js";
// Or, create the client here.
// const personalizeClient = new PersonalizeClient({ region: "REGION"});

// Set the solution version parameters.
export const solutionVersionParam = {
  solutionArn: "SOLUTION_ARN" /* required */,
};

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

------



Pour vérifier le statut de la version de solution actuelle, appelez l’opération [DescribeSolutionVersion](API_DescribeSolutionVersion.md) et transmettez l'ARN de la version de solution renvoyée à partir de l’opération `CreateSolutionVersion`. La formation est terminée lorsqu'elle `status` est terminée `ACTIVE` et vous pouvez l'évaluer à l'aide des indicateurs fournis par Amazon Personalize. Pour de plus amples informations, veuillez consulter [Évaluation d'une version de la solution Amazon Personalize à l'aide de métriques](working-with-training-metrics.md). Si la formation ne se termine pas en raison d'une erreur, elle ne vous sera pas facturée. 

Si le statut de la version de votre solution est CREATE\_PENDING ou CREATE\_IN\_PROGRESS, vous pouvez utiliser cette [StopSolutionVersionCreation](API_StopSolutionVersionCreation.md) opération pour arrêter le processus de création de la version de solution. Consultez [Arrêt de la création d'une version de solution](stop-solution-version.md).

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