

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 une documentation complète sur l'API, voir [ Tester un modèle déployé](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints-test-endpoints.html).

## Invocation des terminaux
<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 et sans diffusion.
+ **Invocation de streaming ** : utilisez l'[InvokeEndpointWithResponseStream](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpointWithResponseStream.html)API pour les demandes d'inférence de 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 de complétion 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 simple :

```
{
  "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 entrées 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`(tableau) : pour le format de complétion du chat. Tableau d'objets de message avec `content` champs `role` et. 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. Texte d'entrée à partir duquel générer.
+ `max_tokens`(entier) : nombre maximum de jetons à générer dans la réponse. Portée : 1 ou plus.
+ `max_completion_tokens`(entier) : alternative à max\_tokens pour terminer les discussions. Nombre maximum de jetons d'achèvement à générer.
+ `temperature`(flottant) : 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`(flottant) : 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`(boolean/integer) : Pour compléter le chat, utilisez une valeur booléenne. Pour compléter le texte, utilisez un entier pour le nombre de probabilités de log à renvoyer. Gamme : 1 à 20.
+ `top_logprobs`(entier) : nombre de jetons les plus susceptibles de renvoyer des probabilités de log (complétion des discussions uniquement).
+ `reasoning_effort`(chaîne) : niveau d'effort de raisonnement. Options : « faible », « élevée » (fin des discussions pour les modèles personnalisés de Nova 2 Lite uniquement).
+ `allowed_token_ids`(tableau) : liste des identifiants de jetons 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 si elle dépasse la limite.
+ `stream_options`(objet) : options de diffusion des réponses. Contient une valeur `include_usage` booléenne pour inclure l'utilisation de jetons dans les réponses en 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'invocation 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 complétion de texte (sans diffusion en continu) **

Pour les demandes de complétion de texte synchrones :

```
{
  "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' Server-Sent événements (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 par complétion de texte **

Pour les demandes de saisie de texte en continu :

```
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 complétion
+ `object`: Type d'objet renvoyé (« chat.completion », « text\_completion », « chat.completion.chunk »)
+ `created`: horodatage Unix de la date de création de la complétion
+ `model`: Modèle utilisé pour la réalisation
+ `choices`: Tableau de choix de complétion
+ `usage`: informations sur l'utilisation des jetons, y compris l'invite, l'achèvement et le total des 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\_filter »)
+ `delta`: contenu incrémentiel dans les réponses en streaming
+ `reasoning`: raisonner le contenu lorsque reasoning\_effort est utilisé
+ `token_ids`: Tableau d'identifiants de jetons pour le texte généré

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