Exemple de code pour l'inférence par lots - Amazon Bedrock

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.

Exemple de code pour l'inférence par lots

L'exemple de code présenté dans ce chapitre montre comment créer une tâche d'inférence par lots, afficher les informations la concernant et l'arrêter.

Sélectionnez une langue pour voir un exemple de code correspondant :

Python

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 la section 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 Anthropic Claude 3 Haiku modèle. L'exemple suivant montre le premier 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 pour y écrire vos fichiers de sortie. Exécutez l'extrait de code suivant pour soumettre une tâche et obtenir le résultat jobArn 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 statut (status) de la tâche.

bedrock.get_model_invocation_job(jobIdentifier=jobArn)['status']

Répertoriez les tâches d'inférence par lots quiFailed.

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)