

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.

# Référence d’API
<a name="nova-sagemaker-inference-api-reference"></a>

Les modèles Amazon Nova SageMaker utilisent l'API SageMaker Runtime standard à des fins d'inférence. Pour consulter la documentation complète de l'API, voir [Tester un modèle déployé](https://docs.aws.amazon.com//sagemaker/latest/dg/realtime-endpoints-test-endpoints.html).

## Invocation du terminal
<a name="nova-sagemaker-inference-api-invocation"></a>

Les modèles Amazon Nova SageMaker prennent en charge deux méthodes d'invocation :
+ **Invocation synchrone** : utilisez l'[InvokeEndpoint](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html)API pour les demandes d'inférence en temps réel, sans diffusion en continu.
+ **Invocation en streaming** : utilisez l'[InvokeEndpointWithResponseStream](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_runtime_InvokeEndpointWithResponseStream.html)API pour les demandes d'inférence en streaming en temps réel.

## Format des demandes
<a name="nova-sagemaker-inference-api-request"></a>

Les modèles Amazon Nova prennent en charge deux formats de demande :

**Format d'achèvement du chat**

Utilisez ce format pour les interactions conversationnelles :

```
{
  "messages": [
    {"role": "user", "content": "string"}
  ],
  "max_tokens": integer,
  "max_completion_tokens": integer,
  "stream": boolean,
  "temperature": float,
  "top_p": float,
  "top_k": integer,
  "logprobs": boolean,
  "top_logprobs": integer,
  "reasoning_effort": "low" | "high",
  "allowed_token_ids": [integer],
  "truncate_prompt_tokens": integer,
  "stream_options": {
    "include_usage": boolean
  }
}
```

**Format de complétion du texte**

Utilisez ce format pour générer du texte en toute simplicité :

```
{
  "prompt": "string",
  "max_tokens": integer,
  "stream": boolean,
  "temperature": float,
  "top_p": float,
  "top_k": integer,
  "logprobs": integer,
  "allowed_token_ids": [integer],
  "truncate_prompt_tokens": integer,
  "stream_options": {
    "include_usage": boolean
  }
}
```

**Format de complétion de chat multimodal**

Utilisez ce format pour les saisies d'images et de texte :

```
{
  "messages": [
    {
      "role": "user",
      "content": [
        {"type": "text", "text": "What's in this image?"},
        {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}}
      ]
    }
  ],
  "max_tokens": integer,
  "temperature": float,
  "top_p": float,
  "stream": boolean
}
```

**Paramètres de requête**
+ `messages`(array) : Pour le format de fin du chat. Tableau d'objets de message avec `role` et `content` champs. Le contenu peut être une chaîne pour le texte uniquement ou un tableau pour les entrées multimodales.
+ `prompt`(chaîne) : Pour le format de complétion du texte. Le texte d'entrée à partir duquel générer.
+ `max_tokens`(entier) : nombre maximum de jetons à générer dans la réponse. Plage : 1 ou plus.
+ `max_completion_tokens`(entier) : alternative à max\$1tokens pour terminer le chat. Nombre maximum de jetons de complétion à générer.
+ `temperature`(float) : contrôle le caractère aléatoire de la génération. Plage : 0,0 à 2,0 (0,0 = déterministe, 2,0 = caractère aléatoire maximal).
+ `top_p`(float) : seuil d'échantillonnage du noyau. Plage : 1e-10 à 1,0.
+ `top_k`(entier) : limite la sélection des jetons aux K jetons les plus probables. Plage : -1 ou plus (-1 = aucune limite).
+ `stream`(booléen) : s'il faut diffuser la réponse. Réglez sur `true` pour le streaming, `false` pour le non-streaming.
+ `logprobs`(booléen/entier) : pour terminer le chat, utilisez le booléen. Pour les complétions de texte, utilisez un entier pour le nombre de probabilités logarithmiques à renvoyer. Gamme : 1 à 20.
+ `top_logprobs`(entier) : nombre de jetons les plus susceptibles de renvoyer des probabilités de journalisation (discussions terminées uniquement).
+ `reasoning_effort`(string) : niveau d'effort de raisonnement. Options : « faible », « élevé » (achèvement du chat pour les modèles personnalisés de Nova 2 Lite uniquement).
+ `allowed_token_ids`(array) : liste des jetons IDs dont la génération est autorisée. Limite la sortie aux jetons spécifiés.
+ `truncate_prompt_tokens`(entier) : tronquez l'invite à ce nombre de jetons s'il dépasse la limite.
+ `stream_options`(objet) : options pour le streaming des réponses. Contient un `include_usage` booléen pour inclure l'utilisation des jetons dans les réponses de streaming.

## Format de la réponse
<a name="nova-sagemaker-inference-api-response"></a>

Le format de réponse dépend de la méthode d'appel et du type de demande :

**Réponse à la fin du chat (hors diffusion)**

Pour les demandes de fin de chat synchrone :

```
{
  "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! I'm doing well, thank you for asking. How can I help you today?",
        "refusal": null,
        "reasoning": null,
        "reasoning_content": null
      },
      "logprobs": {
        "content": [
          {
            "token": "Hello",
            "logprob": -0.31725305,
            "bytes": [72, 101, 108, 108, 111],
            "top_logprobs": [
              {
                "token": "Hello",
                "logprob": -0.31725305,
                "bytes": [72, 101, 108, 108, 111]
              },
              {
                "token": "Hi",
                "logprob": -1.3190403,
                "bytes": [72, 105]
              }
            ]
          }
        ]
      },
      "finish_reason": "stop",
      "stop_reason": null,
      "token_ids": [9906, 0, 358, 2157, 1049, 11, 1309, 345, 369, 6464, 13]
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21,
    "prompt_tokens_details": {
      "cached_tokens": 0
    }
  },
  "prompt_token_ids": [9906, 0, 358]
}
```

**Réponse de fin de texte (hors diffusion en continu)**

Pour les demandes de saisie synchrone de texte :

```
{
  "id": "cmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "text_completion",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "text": "Paris, the capital and most populous city of France.",
      "logprobs": {
        "tokens": ["Paris", ",", " the", " capital"],
        "token_logprobs": [-0.31725305, -0.07918124, -0.12345678, -0.23456789],
        "top_logprobs": [
          {
            "Paris": -0.31725305,
            "London": -1.3190403,
            "Rome": -2.1234567
          },
          {
            ",": -0.07918124,
            " is": -1.2345678
          }
        ]
      },
      "finish_reason": "stop",
      "stop_reason": null,
      "prompt_token_ids": [464, 6864, 315, 4881, 374],
      "token_ids": [3915, 11, 279, 6864, 323, 1455, 95551, 3363, 315, 4881, 13]
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 11,
    "total_tokens": 16,
    "prompt_tokens_details": {
      "cached_tokens": 0
    }
  }
}
```

**Réponse en streaming à la fin du chat**

Pour les demandes de fin de chat en streaming, les réponses sont envoyées sous forme d'événements envoyés par le serveur (SSE) :

```
data: {
  "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "chat.completion.chunk",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "delta": {
        "role": "assistant",
        "content": "Hello",
        "refusal": null,
        "reasoning": null,
        "reasoning_content": null
      },
      "logprobs": {
        "content": [
          {
            "token": "Hello",
            "logprob": -0.31725305,
            "bytes": [72, 101, 108, 108, 111],
            "top_logprobs": [
              {
                "token": "Hello",
                "logprob": -0.31725305,
                "bytes": [72, 101, 108, 108, 111]
              }
            ]
          }
        ]
      },
      "finish_reason": null,
      "stop_reason": null
    }
  ],
  "usage": null,
  "prompt_token_ids": null
}

data: {
  "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "chat.completion.chunk",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "delta": {
        "content": "! I'm"
      },
      "logprobs": null,
      "finish_reason": null,
      "stop_reason": null
    }
  ],
  "usage": null
}

data: {
  "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "chat.completion.chunk",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "delta": {},
      "finish_reason": "stop",
      "stop_reason": null
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21,
    "prompt_tokens_details": {
      "cached_tokens": 0
    }
  }
}

data: [DONE]
```

**Réponse en streaming à la fin du texte**

Pour les demandes de complétion de texte en streaming :

```
data: {
  "id": "cmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "text_completion",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "text": "Paris",
      "logprobs": {
        "tokens": ["Paris"],
        "token_logprobs": [-0.31725305],
        "top_logprobs": [
          {
            "Paris": -0.31725305,
            "London": -1.3190403
          }
        ]
      },
      "finish_reason": null,
      "stop_reason": null
    }
  ],
  "usage": null
}

data: {
  "id": "cmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "text_completion",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "text": ", the capital",
      "logprobs": null,
      "finish_reason": null,
      "stop_reason": null
    }
  ],
  "usage": null
}

data: {
  "id": "cmpl-123e4567-e89b-12d3-a456-426614174000",
  "object": "text_completion",
  "created": 1677652288,
  "model": "nova-micro-custom",
  "choices": [
    {
      "index": 0,
      "text": "",
      "finish_reason": "stop",
      "stop_reason": null
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 11,
    "total_tokens": 16
  }
}

data: [DONE]
```

**Explication des champs de réponse**
+ `id`: identifiant unique pour la réalisation
+ `object`: Type d'objet renvoyé (« chat.completion », « text\$1completion », « chat.completion.chunk »)
+ `created`: horodatage Unix indiquant le moment où la complétion a été créée
+ `model`: Modèle utilisé pour la réalisation
+ `choices`: éventail de choix de complétion
+ `usage`: informations sur l'utilisation des jetons, y compris l'invite, l'achèvement et le nombre total de jetons
+ `logprobs`: enregistrez les informations de probabilité pour les jetons (sur demande)
+ `finish_reason`: Raison pour laquelle le modèle a cessé de générer (« stop », « length », « content\$1filter »)
+ `delta`: contenu incrémental dans les réponses au streaming
+ `reasoning`: contenu de raisonnement lorsque reasoning\$1effort est utilisé
+ `token_ids`: tableau de jetons IDs pour le texte généré

Pour une documentation complète sur les API, consultez les [InvokeEndpoint sections Référence](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html) d'[InvokeEndpointWithResponseStream API et Référence d'API](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_runtime_InvokeEndpointWithResponseStream.html).