

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.

# Exemples de formules d’évaluation
<a name="customize-fine-tune-evaluate-recipe-examples"></a>

Amazon Nova propose quatre types de recettes d'évaluation, disponibles dans le GitHub référentiel de SageMaker HyperPod recettes.

## Formules de point de référence de texte général
<a name="nova-model-hp-evaluation-config-example-text"></a>

Ces formules vous permettent d’évaluer les capacités fondamentales des modèles Amazon Nova grâce à une suite complète de points de référence basés uniquement sur le texte. Elles sont fournies au format `xxx_general_text_benchmark_eval.yaml`.

## Apportez vos propres formules de point de référence de jeu de données
<a name="nova-model-hp-evaluation-config-byo"></a>

Ces formules vous permettent d’utiliser votre propre jeu de données à des fins d’analyse comparative et de comparer les résultats du modèle aux réponses de référence à l’aide de différents types de métriques. Elles sont fournies au format `xxx_bring_your_own_dataset_eval.yaml`. 

Voici les exigences relatives à l’apport de votre propre jeu de données :
+ Exigences en matière de format de fichier d’entrée
  + Vous devez inclure un seul fichier `gen_qa.jsonl` contenant des exemples d’évaluation.
  + Votre ensemble de données doit être chargé sur un emplacement S3 où SageMaker Training Job peut y accéder.
  + Le fichier doit suivre le format de schéma requis pour un jeu de données de questions/réponses général.
+ Exigences de format de schéma : chaque ligne du fichier JSONL doit être un objet JSON avec les champs suivants :
  + `query` : chaîne contenant la question ou l’instruction nécessitant une réponse (obligatoire)
  + `response` : chaîne contenant le résultat attendu du modèle (obligatoire)
  + `system` : chaîne contenant l’invite système qui définit le comportement, le rôle ou la personnalité du modèle d’IA avant qu’il ne traite la requête (facultatif)
  + `metadata`: (Facultatif) Chaîne contenant les métadonnées associées à l'entrée à des fins de balisage.

Voici un exemple d’entrée « apportez votre propre jeu de données » :

```
{
   "system":"You are a english major with top marks in class who likes to give minimal word responses: ",
   "query":"What is the symbol that ends the sentence as a question",
   "response":"?"
}
{
   "system":"You are a pattern analysis specialist that provides succinct answers: ",
   "query":"What is the next number in this series? 1, 2, 4, 8, 16, ?",
   "response":"32"
}
{
   "system":"You have great attention to detail that follows instructions accurately: ",
   "query":"Repeat only the last two words of the following: I ate a hamburger today and it was kind of dry",
   "response":"of dry"
}
```

Pour utiliser votre jeu de données personnalisé, modifiez votre formule d’évaluation avec les champs obligatoires suivants, sans modifier le contenu :

```
evaluation:
  task: gen_qa
  strategy: gen_qa
  metric: all
```

Les limites suivantes s'appliquent :
+ Un seul fichier JSONL est autorisé par évaluation.
+ Le fichier doit suivre strictement le schéma défini.
+ Limite de longueur du contexte : pour chaque échantillon de l'ensemble de données, la longueur du contexte (y compris le système et les invites de requête) doit être inférieure à 3,5 ko.

## Formules de point de référence Nova LLM-juge
<a name="nova-model-evaluation-config-llm-judge"></a>

Amazon Nova LLM-juge est une caractéristique d’évaluation des modèles qui vous permet de comparer la qualité des réponses d’un modèle aux réponses d’un modèle de référence à l’aide d’un jeu de données personnalisé. Il accepte un jeu de données contenant des invites, des réponses de base et des réponses de challenger, puis utilise un modèle Nova Judge pour fournir une métrique du taux de réussite basée sur la [probabilité de Bradley-Terry](https://en.wikipedia.org/wiki/Bradley%E2%80%93Terry_model) avec des comparaisons par paires.

Les formules sont fournies au format `xxx_llm_judge_eval.yaml`. 

Les exigences liées à LLM-juge sont les suivantes :
+ Exigences en matière de format de fichier d’entrée
  + Incluez un seul fichier `llm_judge.jsonl` contenant des exemples d’évaluation. Le fichier doit être nommé `llm_judge.jsonl`.
  + Votre jeu de données doit être téléchargé vers un emplacement S3 auquel [SageMaker AI SageMaker HyperPod RIG](https://docs.aws.amazon.com/sagemaker/latest/dg/nova-hp-cluster.html) peut accéder.
  + Le fichier doit respecter le format de schéma requis pour le jeu de données `llm_judge.jsonl`.
  + Le jeu de données d’entrée doit garantir que tous les enregistrements ont une longueur de contexte inférieure à 12 000.
+ Exigences de format de schéma : chaque ligne du fichier JSONL doit être un objet JSON avec les champs suivants :
  + `prompt` : chaîne contenant l’invite de la réponse générée (obligatoire).
  + `response_A` : chaîne contenant la réponse de base.
  + `response_B` : chaîne contenant la réponse alternative comparée à la réponse de base.

Voici un exemple d’entrée LLM-juge  :

```
{
"prompt": "What is the most effective way to combat climate change?",
"response_A": "The most effective way to combat climate change is through a combination of transitioning to renewable energy sources and implementing strict carbon pricing policies. This creates economic incentives for businesses to reduce emissions while promoting clean energy adoption.",
"response_B": "We should focus on renewable energy. Solar and wind power are good. People should drive electric cars. Companies need to pollute less."
}
{
"prompt": "Explain how a computer's CPU works",
"response_A": "CPU is like brain of computer. It does math and makes computer work fast. Has lots of tiny parts inside.",
"response_B": "A CPU (Central Processing Unit) functions through a fetch-execute cycle, where instructions are retrieved from memory, decoded, and executed through its arithmetic logic unit (ALU). It coordinates with cache memory and registers to process data efficiently using binary operations."
}
{
"prompt": "How does photosynthesis work?",
"response_A": "Plants do photosynthesis to make food. They use sunlight and water. It happens in leaves.",
"response_B": "Photosynthesis is a complex biochemical process where plants convert light energy into chemical energy. They utilize chlorophyll to absorb sunlight, combining CO2 and water to produce glucose and oxygen through a series of chemical reactions in chloroplasts."
}
```

Pour utiliser votre jeu de données personnalisé, modifiez votre formule d’évaluation avec les champs obligatoires suivants, sans modifier le contenu :

```
evaluation:
  task: llm_judge
  strategy: judge
  metric: all
```

Les limites suivantes s'appliquent :
+ Un seul fichier JSONL est autorisé par évaluation.
+ Le fichier doit suivre strictement le schéma défini.
+ Les modèles Amazon Nova Judge sont identiques pour toutes les caractéristiques de la famille de modèles (à savoir, Lite, Micro et Pro).
+ Les modèles de juges personnalisés ne sont actuellement pas pris en charge.
+ Limite de longueur du contexte : pour chaque échantillon de l'ensemble de données, la longueur du contexte (y compris le système et les invites de requête) doit être inférieure à 7 ko.

## Nova LLM en tant que juge pour les recettes de référence multimodales (image)
<a name="nova-model-hp-evaluation-mm-llm-judge"></a>

Nova LLM Judge pour multimodal (image), abréviation de Nova MM\$1LLM Judge, est une fonctionnalité d'évaluation de modèle qui vous permet de comparer la qualité des réponses d'un modèle à celles d'un modèle de référence à l'aide d'un ensemble de données personnalisé. Il accepte un ensemble de données contenant des invites, des réponses de base et des réponses aux challengers, ainsi que des images sous forme de chaîne codée en Base64, puis utilise un modèle Nova Judge pour fournir une métrique du taux de victoire basée sur la probabilité de [Bradley-Terry](https://en.wikipedia.org/wiki/Bradley%E2%80%93Terry_model) par le biais de comparaisons par paires. Format de formule : `xxx_mm_llm_judge _eval.yaml`.

**Exigences relatives à le jeu de données Nova LLM**

Format de fichier : 
+ Fichier `mm_llm_judge.jsonl` unique contenant des exemples d’évaluation. Le nom du fichier doit être exact`llm_judge.jsonl`.
+ Vous devez télécharger votre ensemble de données sur un emplacement S3 où SageMaker Training Jobs peut y accéder.
+ Le fichier doit respecter le format de schéma requis pour le jeu de données `mm_llm_judge`.
+ L'ensemble de données en entrée doit garantir que tous les enregistrements ont une longueur de contexte inférieure à 12 k, à l'exception de l'attribut de l'image.

Format de schéma : chaque ligne du fichier `.jsonl` doit être un objet JSON avec les champs suivants.
+ Champs obligatoires. 

  `prompt` : chaîne contenant l’invite de réponse générée.

  `images`: Tableau contenant une liste d'objets avec des attributs de données (les valeurs sont des chaînes d'image codées en Base64).

  `response_A` : chaîne contenant la réponse de base.

  `response_B` : chaîne contenant la réponse alternative comparée à la réponse de base.

Exemple d’entrée

Pour des raisons de lisibilité, l'exemple suivant inclut de nouvelles lignes et une indentation, mais dans le jeu de données actuel, chaque enregistrement doit figurer sur une seule ligne.

```
{
  "prompt": "what is in the image?",
  "images": [
    {
      "data": "data:image/jpeg;Base64,/9j/2wBDAAQDAwQDAwQEAwQFBAQFBgo..."
    }
  ],
  "response_A": "a dog.",
  "response_B": "a cat.",
}
{
  "prompt": "how many animals in echo of the images?",
  "images": [
    {
      "data": "data:image/jpeg;Base64,/9j/2wBDAAQDAwQDAwQEAwQFBAQFBgo..."
    },
    {
      "data": "data:image/jpeg;Base64,/DKEafe3gihn..."
    }
  ],
  "response_A": "The first image contains one cat and the second image contains one dog",
  "response_B": "The first image has one aminal and the second has one animal",
}
```

Pour utiliser votre jeu de données personnalisé, modifiez votre formule d’évaluation avec les champs obligatoires suivants, sans modifier le contenu :

```
evaluation:
  task: mm_llm_judge
  strategy: judge
  metric: all
```

**Limites**
+ Un seul fichier `.jsonl` est autorisé par évaluation.
+ Le fichier doit suivre strictement le schéma défini.
+ Les modèles Nova MM Judge ne prennent en charge que les références d'image.
+ Les modèles Nova MM Judge sont les mêmes pour toutes les spécifications d'Amazon Nova Lite.
+ Les modèles de juges personnalisés ne sont actuellement pas pris en charge.
+ L'URI de l'image Amazon S3 n'est pas prise en charge.
+ L'ensemble de données en entrée doit garantir que tous les enregistrements ont une longueur de contexte inférieure à 12 k, à l'exception de l'attribut images.

## Juge basé sur des rubriques
<a name="nova-hp-evaluate-rubric-judge"></a>

Rubric Judge est un modèle d' LLM-as-a-judgeévaluation amélioré basé sur Nova 2.0 Lite. Contrairement au [modèle de juge original](https://aws.amazon.com/blogs/machine-learning/evaluating-generative-ai-models-with-amazon-nova-llm-as-a-judge-on-amazon-sagemaker-ai/) qui ne fournit que des verdicts préférentiels (A>B, B>A ou égalité), Rubric Judge génère dynamiquement des critères d'évaluation personnalisés adaptés à chaque invite et attribue des scores granulaires sur plusieurs dimensions.

Fonctionnalités clés :
+ **Génération de critères dynamiques** : crée automatiquement des dimensions d'évaluation pertinentes en fonction de l'invite de saisie
+ **Notation pondérée** : attribue des poids d'importance à chaque critère pour refléter leur importance relative
+ **Évaluation granulaire** : fournit des scores détaillés sur une base binaire (vrai/faux) ou sur une échelle (1 à 5) pour chaque critère
+ **Indicateurs de qualité** : calcule des scores de qualité continus (échelle de 0 à 1) qui quantifient l'ampleur des différences entre les réponses

Exemple de critère généré par le modèle :

```
price_validation:
  description: "The response includes validation to ensure price is a positive value."
  type: "scale"
  weight: 0.3
```

Le modèle évalue les deux réponses par rapport à tous les critères générés, puis utilise ces scores au niveau des critères pour éclairer sa décision de préférence finale.

**Topics**
+ [Configuration de la recette](#nova-hp-evaluate-rubric-judge-recipe)
+ [Format du jeu de données d'entrée](#nova-hp-evaluate-rubric-judge-input)
+ [Résultat de l'évaluation](#nova-hp-evaluate-rubric-judge-output)
+ [Support du modèle de raisonnement](#nova-hp-evaluate-rubric-judge-reasoning)

### Configuration de la recette
<a name="nova-hp-evaluate-rubric-judge-recipe"></a>

**Recette de Rubric Judge**  
Activez Rubric Judge `task: rubric_llm_judge` en définissant votre recette :

```
run:
  name: nova-eval-job-name                              # [MODIFIABLE] Unique identifier for your evaluation job
  model_type: amazon.nova-2-lite-v1:0:256k              # [FIXED] Rubric Judge model type
  model_name_or_path: "nova-lite-2/prod"                # [FIXED] Path to model checkpoint or identifier
  replicas: 1                                           # [MODIFIABLE] Number of replicas for SageMaker Training job
  data_s3_path: ""                                      # [FIXED] Leave empty for SageMaker Training job
  output_s3_path: ""                                    # [FIXED] Leave empty for SageMaker Training job

evaluation:
  task: rubric_llm_judge                                # [FIXED] Evaluation task - enables Rubric Judge
  strategy: judge                                       # [FIXED] Evaluation strategy
  metric: all                                           # [FIXED] Metric calculation method

inference:
  max_new_tokens: 12000                                 # [MODIFIABLE] Maximum tokens to generate
  top_k: -1                                             # [MODIFIABLE] Top-k sampling parameter
  top_p: 1.0                                            # [MODIFIABLE] Nucleus sampling parameter
  temperature: 0                                        # [MODIFIABLE] Sampling temperature (0 = deterministic)
```

**Recette originale de LLM as a Judge (à titre de comparaison)**  
Le modèle de juge original utilise `task: llm_judge` :

```
run:
  name: eval-job-name                                   # [MODIFIABLE] Unique identifier for your evaluation job
  model_type: amazon.nova-micro-v1:0:128k               # [FIXED] Model type
  model_name_or_path: "nova-micro/prod"                 # [FIXED] Path to model checkpoint or identifier
  replicas: 1                                           # [MODIFIABLE] Number of replicas for SageMaker Training job
  data_s3_path: ""                                      # [FIXED] Leave empty for SageMaker Training job
  output_s3_path: ""                                    # [FIXED] Leave empty for SageMaker Training job

evaluation:
  task: llm_judge                                       # [FIXED] Original judge task
  strategy: judge                                       # [FIXED] Evaluation strategy
  metric: all                                           # [FIXED] Metric calculation method

inference:
  max_new_tokens: 12000                                 # [MODIFIABLE] Maximum tokens to generate
  top_k: -1                                             # [MODIFIABLE] Top-k sampling parameter
  top_p: 1.0                                            # [MODIFIABLE] Nucleus sampling parameter
  temperature: 0                                        # [MODIFIABLE] Sampling temperature (0 = deterministic)
```

### Format du jeu de données d'entrée
<a name="nova-hp-evaluate-rubric-judge-input"></a>

Le format du jeu de données en entrée est identique à celui du [modèle de juge d'origine](https://aws.amazon.com/blogs/machine-learning/evaluating-generative-ai-models-with-amazon-nova-llm-as-a-judge-on-amazon-sagemaker-ai/) :

**Champs obligatoires :**
+ `prompt`: chaîne contenant l'invite de saisie et les instructions
+ `response_A`: chaîne contenant la sortie du modèle de référence
+ `response_B`: chaîne contenant la sortie du modèle personnalisé

**Exemple de jeu de données (format JSONL) :**

```
{"prompt": "What is the most effective way to combat climate change?", "response_A": "The most effective way to combat climate change is through a combination of transitioning to renewable energy sources and implementing strict carbon pricing policies. This creates economic incentives for businesses to reduce emissions while promoting clean energy adoption.", "response_B": "We should focus on renewable energy. Solar and wind power are good. People should drive electric cars. Companies need to pollute less."}
{"prompt": "Explain how a computer's CPU works", "response_A": "CPU is like brain of computer. It does math and makes computer work fast. Has lots of tiny parts inside.", "response_B": "A CPU (Central Processing Unit) functions through a fetch-execute cycle, where instructions are retrieved from memory, decoded, and executed through its arithmetic logic unit (ALU). It coordinates with cache memory and registers to process data efficiently using binary operations."}
{"prompt": "How does photosynthesis work?", "response_A": "Plants do photosynthesis to make food. They use sunlight and water. It happens in leaves.", "response_B": "Photosynthesis is a complex biochemical process where plants convert light energy into chemical energy. They utilize chlorophyll to absorb sunlight, combining CO2 and water to produce glucose and oxygen through a series of chemical reactions in chloroplasts."}
```

**Exigences relatives au format :**
+ Chaque entrée doit être un objet JSON d'une seule ligne
+ Séparez les entrées par de nouvelles lignes
+ Suivez le nom exact des champs comme indiqué dans les exemples

### Résultat de l'évaluation
<a name="nova-hp-evaluate-rubric-judge-output"></a>

**Structure de sortie**  
Rubric Judge produit des métriques d'évaluation améliorées par rapport au modèle de juge original :

```
{
  "config_general": {
    "lighteval_sha": "string",
    "num_fewshot_seeds": "int",
    "max_samples": "int | null",
    "job_id": "int",
    "start_time": "float",
    "end_time": "float",
    "total_evaluation_time_secondes": "string",
    "model_name": "string",
    "model_sha": "string",
    "model_dtype": "string | null",
    "model_size": "string"
  },
  "results": {
    "custom|rubric_llm_judge_judge|0": {
      "a_scores": "float",
      "a_scores_stderr": "float",
      "b_scores": "float",
      "b_scores_stderr": "float",
      "ties": "float",
      "ties_stderr": "float",
      "inference_error": "float",
      "inference_error_stderr": "float",
      "score": "float",
      "score_stderr": "float",
      "weighted_score_A": "float",
      "weighted_score_A_stderr": "float",
      "weighted_score_B": "float",
      "weighted_score_B_stderr": "float",
      "score_margin": "float",
      "score_margin_stderr": "float",
      "winrate": "float",
      "lower_rate": "float",
      "upper_rate": "float"
    }
  },
  "versions": {
    "custom|rubric_llm_judge_judge|0": "int"
  }
}
```

**Nouveaux indicateurs dans Rubric Judge**  
Les six indicateurs suivants sont propres à Rubric Judge et fournissent une évaluation précise de la qualité :


| Métrique | Description | 
| --- |--- |
| Score pondéré A | Note de qualité normalisée moyenne pour Response\$1A pour tous les critères d'évaluation générés par le modèle. Les scores sont pondérés en fonction de l'importance du critère et normalisés sur une échelle de 0 à 1 (plus haut = meilleure qualité) | 
| Score\$1pondéré\$1A\$1Stderr | Erreur type de la moyenne pour Weighted\$1Score\$1A, indiquant une incertitude statistique | 
| Score pondéré B | Score de qualité normalisé moyen pour Response\$1B pour tous les critères d'évaluation générés par le modèle. Les scores sont pondérés en fonction de l'importance du critère et normalisés sur une échelle de 0 à 1 (plus haut = meilleure qualité) | 
| Score\$1pondéré\$1B\$1Stderr | Erreur type de la moyenne pour Weighted\$1Score\$1B, indiquant une incertitude statistique | 
| score\$1margin | Différence entre les scores pondérés (calculée comme Weighted\$1Score\$1A - Weighted\$1Score\$1B). Plage : -1,0 à 1,0 Positif = Response\$1A est meilleur ; négatif = Response\$1B est meilleur ; proche de zéro = qualité similaire | 
| score\$1margin\$1stderr | Erreur type de la moyenne pour score\$1margin, indiquant une incertitude dans la mesure de la différence de qualité | 

**Comprendre les indicateurs de score pondérés**  
**Objectif** : Les scores pondérés fournissent des mesures de qualité continues qui complètent les verdicts de préférence binaires, permettant ainsi de mieux comprendre les performances du modèle.

**Principales différences par rapport au juge initial** :
+ **Juge d'origine** : affiche uniquement des préférences discrètes (A>B, B>A, A=B)
+ **Rubric Judge** : affiche à la fois les préférences ET les scores de qualité continus (échelle de 0 à 1) sur la base de critères personnalisés

**Interprétation de score\$1margin** :
+ `score_margin = -0.128`: Response\$1B a obtenu 12,8 points de pourcentage de plus que Response\$1A
+ `|score_margin| < 0.1`: faible différence de qualité (décision serrée)
+ `|score_margin| > 0.2`: différence de qualité claire (décision prise en toute confiance)

**Cas d'utilisation** :
+ **Amélioration du modèle** : identifiez les domaines spécifiques dans lesquels votre modèle est sous-performant
+ **Quantification de la qualité** : mesurez l'ampleur des écarts de performance, pas seulement win/loss les ratios
+ **Évaluation de la confiance** : faites la distinction entre des décisions serrées et des différences de qualité claires

**Important**  
Les verdicts finaux sont toujours basés sur les étiquettes de préférence explicites du modèle du juge afin de préserver le raisonnement holistique et de garantir une atténuation appropriée des biais de position grâce forward/backward à l'évaluation. Les scores pondérés servent d'outils d'observabilité et ne remplacent pas le verdict principal.

**Méthodologie de calcul**  
Les scores pondérés sont calculés selon le processus suivant :
+ **Extraire les données des critères** : analyse la sortie YAML du juge pour extraire les scores et les pondérations des critères
+ **Normaliser les scores** :
  + Critères de type échelle (1-5) : normaliser à 0-1 en calculant `(score - 1) / 4`
  + Critères binaires (vrai/faux) : Convertir en 1,0/0,0
+ **Appliquer des pondérations** : multipliez chaque score normalisé par son critère de pondération
+ **Agrégat** : additionnez tous les scores pondérés pour chaque réponse
+ **Calculer la marge** : Calculer `score_margin = weighted_score_A - weighted_score_B`

**Exemple** : si Response\$1A a une somme pondérée de 0,65 et Response\$1B a une somme pondérée de 0,78, ce `score_margin` serait -0,13, ce qui indique que Response\$1B est de 13 points de pourcentage plus élevée en termes de qualité pour tous les critères pondérés.

### Support du modèle de raisonnement
<a name="nova-hp-evaluate-rubric-judge-reasoning"></a>

La prise en charge des modèles de raisonnement permet une évaluation à l'aide de modèles Nova capables de raisonner qui effectuent un raisonnement interne explicite avant de générer des réponses finales. Cette fonctionnalité utilise le contrôle au niveau de l'API via le `reasoning_effort` paramètre pour activer ou désactiver de manière dynamique la fonctionnalité de raisonnement, ce qui peut améliorer la qualité des réponses pour les tâches analytiques complexes.

**Modèles pris en charge** :
+ amazon.nova-2-lite-v 1:0:256 k

**Configuration de la recette**  
Activez le raisonnement en ajoutant le `reasoning_effort` paramètre à la `inference` section de votre recette :

```
run:
  name: eval-job-name                                    # [MODIFIABLE] Unique identifier for your evaluation job
  model_type: amazon.nova-2-lite-v1:0:256k               # [FIXED] Must be a reasoning-supported model
  model_name_or_path: nova-lite-2/prod                   # [FIXED] Path to model checkpoint or identifier
  replicas: 1                                            # [MODIFIABLE] Number of replicas for SageMaker Training job
  data_s3_path: ""                                       # [MODIFIABLE] Leave empty for SageMaker Training job; optional for  job
  output_s3_path: ""                                     # [MODIFIABLE] Output path for  job (not compatible with SageMaker Training jobs)

evaluation:
  task: mmlu                                             # [MODIFIABLE] Evaluation task
  strategy: generate                                     # [MODIFIABLE] Evaluation strategy
  metric: all                                            # [MODIFIABLE] Metric calculation method

inference:
  reasoning_effort: high                                 # [MODIFIABLE] Enables reasoning mode; options: low/medium/high or null to disable
  max_new_tokens: 200                                    # [MODIFIABLE] Maximum tokens to generate
  top_k: 50                                              # [MODIFIABLE] Top-k sampling parameter
  top_p: 1.0                                             # [MODIFIABLE] Nucleus sampling parameter
  temperature: 0                                         # [MODIFIABLE] Sampling temperature (0 = deterministic)
```

**Utilisation du paramètre reasoning\$1effort**  
Le `reasoning_effort` paramètre contrôle le comportement de raisonnement des modèles capables de raisonner.

**Prérequis :**
+ **Compatibilité des modèles** : définie `reasoning_effort` uniquement lorsqu'`model_type`un modèle capable de raisonner est spécifié (actuellement) `amazon.nova-2-lite-v1:0:256k`
+ **Gestion des erreurs** : l'utilisation `reasoning_effort` avec des modèles non pris en charge échouera avec `ConfigValidationError: "Reasoning mode is enabled but model '{model_type}' does not support reasoning. Please use a reasoning-capable model or disable reasoning mode."`

**Options disponibles** :


| Option | Comportement | Limite de jetons | Cas d’utilisation | 
| --- |--- |--- |--- |
| null (par défaut) | Désactive le mode raisonnement | N/A | Évaluation standard sans frais de raisonnement | 
| bas | Permet de raisonner avec des contraintes | 4 000 jetons pour le raisonnement interne | Scénarios nécessitant un raisonnement concis ; optimisations en termes de rapidité et de coût | 
| haut | Permet de raisonner sans contraintes | Aucune limite symbolique au raisonnement interne | Problèmes complexes nécessitant une analyse et un step-by-step raisonnement approfondis | 

**Quand activer le raisonnement**  
**Utilisez le mode raisonnement (`low``medium`, ou`high`) pour** :
+ Tâches complexes de résolution de problèmes (mathématiques, énigmes logiques, codage)
+ Questions analytiques en plusieurs étapes nécessitant un raisonnement intermédiaire
+ Tâches pour lesquelles des explications ou des step-by-step réflexions détaillées améliorent la précision
+ Scénarios dans lesquels la qualité de réponse est privilégiée par rapport à la vitesse

**Utilisez le mode non raisonné (omettre le paramètre)** pour :
+ Questions et réponses simples ou questions factuelles
+ Tâches d'écriture créative
+ Lorsque des temps de réponse plus rapides sont essentiels
+ Analyse comparative des performances où les frais de raisonnement doivent être exclus
+ Optimisation des coûts lorsque le raisonnement n'améliore pas les performances des tâches

**Résolution des problèmes**  
**Erreur : « Le mode raisonnement est activé mais le modèle ne prend pas en charge le raisonnement »**

**Cause** : le `reasoning_effort` paramètre est défini sur une valeur non nulle, mais la valeur spécifiée `model_type` ne permet pas de raisonner.

**Résolution :**
+ Vérifiez que le type de votre modèle est `amazon.nova-2-lite-v1:0:256k`
+ Si vous utilisez un modèle différent, passez à un modèle capable de raisonner ou supprimez le `reasoning_effort` paramètre de votre recette