

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.

# Vérification préalable de la demande et de la réponse du point de terminaison pour des données tabulaires
<a name="clarify-processing-job-data-format-tabular-precheck"></a>

Nous vous recommandons de déployer votre modèle sur un point de terminaison d'inférence en temps réel basé sur l' SageMaker IA et d'envoyer des demandes à ce point de terminaison. Examinez manuellement les demandes et les réponses pour vous assurer qu’elles sont toutes conformes aux exigences spécifiées dans la section [Demandes du point de terminaison pour des données tabulaires](clarify-processing-job-data-format-tabular-request.md) et dans la section [Réponse du point de terminaison pour des données tabulaires](clarify-processing-job-data-format-tabular-response.md). Si votre conteneur de modèle prend en charge les demandes par lots, vous pouvez commencer par une seule demande d’enregistrement, puis essayer avec deux enregistrements ou plus.

Les commandes suivantes montrent comment demander une réponse à l’aide de l’ AWS CLI. AWS CLI Il est préinstallé dans les instances SageMaker Studio et SageMaker Notebook. Pour l'installer AWS CLI, suivez ce [guide d'installation](https://aws.amazon.com/cli/).

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name $ENDPOINT_NAME \
  --content-type $CONTENT_TYPE \
  --accept $ACCEPT_TYPE \
  --body $REQUEST_DATA \
  $CLI_BINARY_FORMAT \
  /dev/stderr 1>/dev/null
```

Les paramètres sont définis, comme suit :
+ `$ENDPOINT NAME` : nom du point de terminaison.
+ `$CONTENT_TYPE` : type MIME de la demande (entrée du conteneur de modèle).
+ `$ACCEPT_TYPE` : type MIME de la réponse (sortie du conteneur de modèle).
+ `$REQUEST_DATA` : chaîne de données utiles demandée.
+ `$CLI_BINARY_FORMAT` : format du paramètre de l'interface de ligne de commande (CLI). Pour AWS CLI la version 1, ce paramètre doit rester vide. Pour la version 2, ce paramètre doit être défini sur `--cli-binary-format raw-in-base64-out`.

**Note**  
AWS CLI v2 transmet les paramètres binaires sous forme de chaînes codées en base64 [par](https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration.html#cliv2-migration-binaryparam) défaut.

# AWS CLI exemples v1
<a name="clarify-processing-job-data-format-tabular-precheck-cli-v1-examples"></a>

L'exemple de la section précédente concernait la AWS CLI version 2. Les exemples de demande et de réponse suivants à destination et en provenance du point de terminaison utilisent la version 1 d' AWS CLI .

## Demande et réponse du point de terminaison au format CSV
<a name="clarify-processing-job-data-format-tabular-precheck-csv"></a>

Dans l'exemple de code suivant, la demande se compose d'un seul enregistrement et la réponse est sa valeur de probabilité.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-sagemaker-xgboost-model \
  --content-type text/csv \
  --accept text/csv \
  --body '1,2,3,4' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
0.6
```

Dans l'exemple de code suivant, la demande se compose de deux enregistrements et la réponse inclut leurs probabilités, séparées par une virgule.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-sagemaker-xgboost-model \
  --content-type text/csv \
  --accept text/csv \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, l'expression `$'content'` contenue dans `--body` indique à la commande d'interpréter `'\n'` dans le contenu comme un saut de ligne. La sortie de la réponse est la suivante.

```
0.6,0.3
```

Dans l'exemple de code suivant, la demande se compose de deux enregistrements et la réponse inclut leurs probabilités, séparées par un saut de ligne.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-1 \
  --content-type text/csv \
  --accept text/csv \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
0.6
0.3
```

Dans l'exemple de code suivant, la demande se compose d'un seul enregistrement et la réponse est constituée des valeurs de probabilité issues d'un modèle multiclasse contenant trois classes.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-1 \
  --content-type text/csv \
  --accept text/csv \
  --body '1,2,3,4' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
0.1,0.6,0.3
```

Dans l'exemple de code suivant, la demande se compose de deux enregistrements et la réponse inclut leurs valeurs de probabilité issues d'un modèle multiclasse contenant trois classes.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-1 \
  --content-type text/csv \
  --accept text/csv \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
0.1,0.6,0.3
0.2,0.5,0.3
```

Dans l'exemple de code suivant, la demande se compose de deux enregistrements et la réponse inclut l'étiquette prédite et la probabilité.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-2 \
  --content-type text/csv \
  --accept text/csv \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
1,0.6
0,0.3
```

Dans l'exemple de code suivant, la demande se compose de deux enregistrements et la réponse inclut les en-têtes d'étiquettes et les probabilités.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-3 \
  --content-type text/csv \
  --accept text/csv \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
"['cat','dog','fish']","[0.1,0.6,0.3]"
"['cat','dog','fish']","[0.2,0.5,0.3]"
```

## Demande et réponse du point de terminaison au format JSON Lines
<a name="clarify-processing-job-data-format-tabular-precheck-jsonlines"></a>

Dans l'exemple de code suivant, la demande se compose d'un seul enregistrement et la réponse est sa valeur de probabilité.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-jsonlines \
  --content-type application/jsonlines \
  --accept application/jsonlines \
  --body '{"features":["This is a good product",5]}' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
{"score":0.6}
```

Dans l'exemple de code suivant, la demande contient deux enregistrements et la réponse inclut l'étiquette prédite et la probabilité.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-jsonlines-2 \
  --content-type application/jsonlines \
  --accept application/jsonlines \
  --body $'{"features":[1,2,3,4]}\n{"features":[5,6,7,8]}' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
{"predicted_label":1,"probability":0.6}
{"predicted_label":0,"probability":0.3}
```

Dans l'exemple de code suivant, la demande contient deux enregistrements et la réponse inclut les en-têtes d'étiquettes et les probabilités.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-jsonlines-3 \
  --content-type application/jsonlines \
  --accept application/jsonlines \
  --body $'{"data":{"features":[1,2,3,4]}}\n{"data":{"features":[5,6,7,8]}}' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
{"predicted_labels":["cat","dog","fish"],"probabilities":[0.1,0.6,0.3]}
{"predicted_labels":["cat","dog","fish"],"probabilities":[0.2,0.5,0.3]}
```

## Demande et réponse du point de terminaison dans des formats mixtes
<a name="clarify-processing-job-data-format-tabular-precheck-diff"></a>

Dans l'exemple de code suivant, la demande est au format CSV et la réponse au format JSON Lines.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-in-jsonlines-out \
  --content-type text/csv \
  --accept application/jsonlines \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
{"probability":0.6}
{"probability":0.3}
```

Dans l'exemple de code suivant, la demande est au format JSON Lines et la réponse au format CSV.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-jsonlines-in-csv-out \
  --content-type application/jsonlines \
  --accept text/csv \
  --body $'{"features":[1,2,3,4]}\n{"features":[5,6,7,8]}' \
  /dev/stderr 1>/dev/null
```

Dans l'exemple de code précédent, la sortie de la réponse est la suivante.

```
0.6
0.3
```

Dans l'exemple de code suivant, la demande est au format CSV et la réponse au format JSON.

```
aws sagemaker-runtime invoke-endpoint \
  --endpoint-name test-endpoint-csv-in-jsonlines-out \
  --content-type text/csv \
  --accept application/jsonlines \
  --body $'1,2,3,4\n5,6,7,8' \
  /dev/stderr 1>/dev/null
```

Dans l’exemple de code précédent, la sortie de la réponse est la suivante.

```
{"predictions":[{"label":1,"score":0.6},{"label":0,"score":0.3}]}
```