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.
AnthropicClaudeAPI de complétion de textes
Cette section fournit des paramètres d'inférence et des exemples de code pour l'utilisation de Anthropic Claude modèles avec l'API Text Completions.
AnthropicClaudePrésentation de l'API Text Completions
Utilisez l'API de complétion de texte 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 Completion 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'instructions pour les Anthropic Claude modèles, voir Présentation de la conception d'invite. Si vous souhaitez utiliser vos instructions de complétion de texte existantes avec leAnthropicClaudeAPI de messages, voir Migration à partir de complétions de texte.
Modèles pris en charge
Vous pouvez utiliser l'API Text Completions avec les Anthropic Claude modèles suivants.
Demande et réponse
Le corps de la demande est transmis dans le body
champ d'une demande à InvokeModelou InvokeModelWithResponseStream.
Pour plus d'informations, consultez https://docs.anthropic.com/claude/reference/complete_post dans la Anthropic Claude documentation.
- Request
-
AnthropicClaudepossède 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 Claude doit remplir. Pour générer correctement les réponses, vous devez formater votre message en utilisant des virages alternés \n\nHuman:
et \n\nAssistant:
conversationnels. Par exemple :
"\n\nHuman: {userQuestion}\n\nAssistant:"
Pour plus d'informations, consultez la section Validation rapide dans la Anthropic Claude documentation.
-
max_tokens_to_sample — (Obligatoire) Le 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 Anthropic Claude modèles peuvent arrêter de générer des jetons avant d'atteindre la valeur demax_tokens_to_sample
. AnthropicClaudeLes différents modèles ont des valeurs maximales différentes pour ce paramètre. Pour plus d'informations, consultez la section Comparaison des modèles dans la Anthropic Claude documentation.
Par défaut |
Minimum |
Maximum |
200
|
0
|
4096
|
Les paramètres suivants sont facultatifs.
-
stop_sequences — (Facultatif) Séquences qui empêcheront la génération du modèle.
AnthropicClaudeles modèles s'"\n\nHuman:"
arrêtent et peuvent inclure des séquences d'arrêt intégrées supplémentaires à l'avenir. Utilisez le paramètre stop_sequences
d'inférence pour inclure des chaînes supplémentaires qui signaleront au modèle d'arrêter de générer du texte.
-
température — (Facultatif) La quantité de caractère aléatoire injectée dans la réponse.
La valeur par défaut est 1. Va de 0 à 1. Utilisez une température plus proche de 0 pour les tâches analytiques/à choix multiples, et plus proche de 1 pour les tâches créatives et génératives.
Par défaut |
Minimum |
Maximum |
0.5
|
0
|
1
|
-
top_p — (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 partop_p
. Vous devez modifier l'un temperature
ou l'autretop_p
, mais pas les deux.
Par défaut |
Minimum |
Maximum |
1
|
0
|
1
|
-
top_k — (Facultatif) Échantillonnez uniquement les K meilleures options pour chaque jeton suivant.
top_k
À utiliser pour supprimer les réponses à faible probabilité à longue queue.
Par défaut |
Minimum |
Maximum |
250
|
0
|
500
|
- Response
-
Le Anthropic Claude modèle renvoie les champs suivants pour un appel d'inférence de complétion de texte.
{
"completion": string,
"stop_reason": string,
"stop": string
}
-
complétion — La complétion résultante jusqu'aux séquences d'arrêt et à l'exclusion de celles-ci.
-
stop_reason — La raison pour laquelle le modèle a cessé de générer la réponse.
-
« stop_sequence » — Le modèle a atteint une séquence d'arrêt, soit fournie par vous avec le paramètre d'stop_sequences
inférence, soit une séquence d'arrêt intégrée au modèle.
-
« max_tokens » — Le modèle a dépassé max_tokens_to_sample
le nombre maximum de jetons du modèle.
-
stop — Si vous spécifiez le paramètre stop_sequences
d'inférence, il 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 le spécifiez passtop_sequences
, la valeur pour stop
est vide.
Exemple de code
Ces exemples montrent comment appeler le modèle AnthropicClaudeV2 avec un débit à la demande. Pour utiliser Anthropic Claude la version 2.1, modifiez la valeur de modelId
enanthropic.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()))