

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.

# API Text Completions Anthropic Claude
<a name="model-parameters-anthropic-claude-text-completion"></a>

Cette section fournit les paramètres d’inférence et des exemples de code pour l’utilisation des modèles Anthropic Claude avec l’API Text Completions.

**Topics**
+ [Présentation de l’API Text Completions Anthropic Claude](#model-parameters-anthropic-claude-text-completion-overview)
+ [Modèles pris en charge](#claude-messages-supported-models)
+ [Demande et réponse](#model-parameters-anthropic-claude-text-completion-request-response)
+ [Exemple de code](#api-inference-examples-claude-text-completion)

## Présentation de l’API Text Completions Anthropic Claude
<a name="model-parameters-anthropic-claude-text-completion-overview"></a>

Utilisez l’API Text Completions pour générer du texte en un tour à partir d’une invite fournie par l’utilisateur. Par exemple, vous pouvez utiliser l’API Text Completions pour générer du texte pour un article de blog ou pour résumer le texte saisi par un utilisateur.

Pour plus d’informations sur la création d’invites pour les modèles Anthropic Claude, consultez [Introduction to prompt design](https://docs.anthropic.com/claude/docs/introduction-to-prompt-design). Si vous souhaitez utiliser vos invites Text Completions existantes avec l’[API Anthropic Claude Message](model-parameters-anthropic-claude-messages.md), consultez [Migrating from Text Completions](https://docs.anthropic.com/claude/reference/migrating-from-text-completions-to-messages).

## Modèles pris en charge
<a name="claude-messages-supported-models"></a>

Vous pouvez utiliser l’API Text Completions avec les modèles Anthropic Claude suivants.
+ Anthropic Claude Instant v1.2
+ Anthropic Claude v2
+ Anthropic Claude v2.1 

## Demande et réponse
<a name="model-parameters-anthropic-claude-text-completion-request-response"></a>

Le corps de la demande est transmis dans le champ `body` d’une demande adressée à [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) ou [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html). 

Pour plus d’informations, consultez [https://docs.anthropic.com/claude/reference/complete\$1post](https://docs.anthropic.com/claude/reference/complete_post) dans la documentation Anthropic Claude.

------
#### [ Request ]

Anthropic Claude comporte les paramètres d’inférence suivants pour un appel d’inférence de complétion de texte. 

```
{
    "prompt": "\n\nHuman:<prompt>\n\nAssistant:",
    "temperature": float,
    "top_p": float,
    "top_k": int,
    "max_tokens_to_sample": int,
    "stop_sequences": [string]
}
```

Les paramètres suivants sont obligatoires.
+  **prompt** (obligatoire) : l’invite que vous souhaitez que Claude termine. Pour générer correctement les réponses, vous devez formater votre invite en alternant les tours conversationnels `\n\nHuman:` et `\n\nAssistant:`. Par exemple :

  ```
  "\n\nHuman: {userQuestion}\n\nAssistant:"
  ```

  Pour plus d’informations, consultez [Prompt validation](https://docs.anthropic.com/claude/reference/prompt-validation) dans la documentation Anthropic Claude. 
+  **max\$1tokens\$1to\$1sample** (obligatoire) : nombre maximum de jetons à générer avant l’arrêt. Nous recommandons une limite de 4 000 jetons pour des performances optimales.

  Notez que les modèles Anthropic Claude peuvent arrêter de générer des jetons avant d’atteindre la valeur `max_tokens_to_sample`. Les différents modèles Anthropic Claude ont des valeurs maximales différentes pour ce paramètre. Pour plus d’informations, consultez [Model comparison](https://docs.anthropic.com/claude/docs/models-overview#model-comparison) fournie dans la documentation Anthropic Claude.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)

Les paramètres suivants sont facultatifs.
+  **stop\$1sequences** (facultatif) : séquences qui empêcheront la génération du modèle.

  Les modèles Anthropic Claude s’arrêtent à `"\n\nHuman:"` et peuvent inclure ultérieurement des séquences d’arrêt intégrées supplémentaires. Utilisez le paramètre d’inférence `stop_sequences` pour inclure des chaînes supplémentaires qui signaleront au modèle d’arrêter de générer du texte.
+  **temperature** : (facultatif) quantité de randomisation injectée dans la réponse. Utilisez une valeur plus proche de 0 pour l’analytique/les choix multiples, et une valeur plus proche de 1 pour les tâches créatives et génératives.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)
+  **top\$1p** : (facultatif) utilisez l’échantillonnage du noyau.

  Lors de l’échantillonnage du noyau, Anthropic Claude calcule la distribution cumulée de toutes les options pour chaque jeton suivant par ordre de probabilité décroissant et la coupe une fois qu’elle atteint une probabilité particulière spécifiée par `top_p`. Vous devez modifier `temperature` ou `top_p`, mais pas les deux.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)
+  **top\$1k** : (facultatif) échantillonnez uniquement les premières options K pour chaque jeton suivant.

  Utilisez `top_k` pour supprimer les réponses à faible probabilité à longue queue.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/model-parameters-anthropic-claude-text-completion.html)

------
#### [ Response ]

Les modèles Anthropic Claude renvoient les champs suivants pour un appel d’inférence Text Completions. 

```
{
    "completion": string,
    "stop_reason": string,
    "stop": string
}
```
+ **completion** : la complétion résultante jusqu’aux séquences d’arrêt et à l’exclusion de celles-ci.
+ **stop\$1reason** : raison pour laquelle le modèle a cessé de générer la réponse.
  + **"stop\$1sequence"** : le modèle a atteint une séquence d’arrêt, soit fournie par vous avec le paramètre d’inférence `stop_sequences`, soit une séquence d’arrêt intégrée au modèle.
  + **"max\$1tokens"** : le modèle a dépassé `max_tokens_to_sample` ou le nombre maximum de jetons du modèle. 
+ **stop** : si vous spécifiez le paramètre d’inférence `stop_sequences`, `stop` contient la séquence d’arrêt qui a indiqué au modèle d’arrêter de générer du texte. Par exemple, `holes` dans la réponse suivante.

  ```
  {
      "completion": " Here is a simple explanation of black ",
      "stop_reason": "stop_sequence",
      "stop": "holes"
  }
  ```

  Si vous ne spécifiez pas le paramètre `stop_sequences`, la valeur `stop` est vide.

------

## Exemple de code
<a name="api-inference-examples-claude-text-completion"></a>

Ces exemples montrent comment appeler le modèle *Anthropic Claude V2* avec un débit à la demande. Pour utiliser Anthropic Claude version 2.1, remplacez la valeur de `modelId` par `anthropic.claude-v2:1`.

```
import boto3
import json
brt = boto3.client(service_name='bedrock-runtime')

body = json.dumps({
    "prompt": "\n\nHuman: explain black holes to 8th graders\n\nAssistant:",
    "max_tokens_to_sample": 300,
    "temperature": 0.1,
    "top_p": 0.9,
})

modelId = 'anthropic.claude-v2'
accept = 'application/json'
contentType = 'application/json'

response = brt.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType)

response_body = json.loads(response.get('body').read())

# text
print(response_body.get('completion'))
```

L’exemple suivant montre comment générer du texte en streaming avec Python à l’aide de l’invite *write an essay for living on Mars in 1000 words* (écris un essai sur la vie sur Mars en 1 000 mots) et du modèle Anthropic Claude V2 :

```
import boto3
import json

brt = boto3.client(service_name='bedrock-runtime')

body = json.dumps({
    'prompt': '\n\nHuman: write an essay for living on mars in 1000 words\n\nAssistant:',
    'max_tokens_to_sample': 4000
})
                   
response = brt.invoke_model_with_response_stream(
    modelId='anthropic.claude-v2', 
    body=body
)
    
stream = response.get('body')
if stream:
    for event in stream:
        chunk = event.get('chunk')
        if chunk:
            print(json.loads(chunk.get('bytes').decode()))
```