Créez un fichier JSONL nommé abc.jsonl et incluez un objet JSON pour chaque enregistrement contenant au moins le nombre minimum d’enregistrements (voir le nombre minimum d’enregistrements par tâche d’inférence par lots pour {Model} Quotas pour Amazon Bedrock). Dans cet exemple, vous allez utiliser le modèle Anthropic Claude 3 Haiku. L’exemple suivant présente le premier fichier JSON d’entrée dans le fichier :
{
"recordId": "CALL0000001",
"modelInput": {
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Summarize the following call transcript: ..."
}
]
}
]
}
}
...
# Add records until you hit the minimum
Créez un compartiment S3 appelé amzn-s3-demo-bucket-input et chargez-y le fichier. Créez ensuite un compartiment S3 appelé amzn-s3-demo-bucket-output dans lequel écrire vos fichiers de sortie. Exécutez l’extrait de code suivant pour soumettre une tâche et obtenir le jobArn à partir de la réponse :
import boto3
bedrock = boto3.client(service_name="bedrock")
inputDataConfig=({
"s3InputDataConfig": {
"s3Uri": "s3://amzn-s3-demo-bucket-input/abc.jsonl"
}
})
outputDataConfig=({
"s3OutputDataConfig": {
"s3Uri": "s3://amzn-s3-demo-bucket-output/"
}
})
response=bedrock.create_model_invocation_job(
roleArn="arn:aws:iam::123456789012:role/MyBatchInferenceRole",
modelId="anthropic.claude-3-haiku-20240307-v1:0",
jobName="my-batch-job",
inputDataConfig=inputDataConfig,
outputDataConfig=outputDataConfig
)
jobArn = response.get('jobArn')
Renvoyez le status de la tâche.
bedrock.get_model_invocation_job(jobIdentifier=jobArn)['status']
Affichez les tâches d’inférence par lots qui ont échoué.
bedrock.list_model_invocation_jobs(
maxResults=10,
statusEquals="Failed",
sortOrder="Descending"
)
Arrêtez la tâche que vous avez commencée.
bedrock.stop_model_invocation_job(jobIdentifier=jobArn)