Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempio di codice per inferenza in batch
L’esempio di codice fornito in questo capitolo mostra come creare un processo di inferenza in batch, visualizzare le relative informazioni e arrestarlo. Questo esempio utilizza il formato InvokeModel API. Per informazioni sull'utilizzo del formato Converse API, vedereFormattazione e caricamento dei propri dati di inferenza in batch.
Seleziona un linguaggio per visualizzarne un esempio di codice:
- Python
-
Crea un file JSONL denominato
abc.jsonle includi un oggetto JSON per ogni record che contiene almeno il numero minimo di record (vedi Numero minimo di record per processo di inferenza in batch per).{Model}Quote per Amazon Bedrock In questo esempio, utilizzerai il modello Anthropic Claude 3 Haiku. L’esempio seguente mostra il primo JSON di input nel file:{ "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 minimumCrea un bucket S3 chiamato
amzn-s3-demo-bucket-inpute carica il file su di esso. Quindi crea un bucket S3 chiamato su cuiamzn-s3-demo-bucket-outputscrivere i file di output. Esegui il seguente frammento di codice per inviare un lavoro e ottenere la risposta dallajobArnrisposta: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')Restituisci lo
statusdel processo.bedrock.get_model_invocation_job(jobIdentifier=jobArn)['status']Elenca i lavori di inferenza in batch che.
Failedbedrock.list_model_invocation_jobs( maxResults=10, statusEquals="Failed", sortOrder="Descending" )Arresta il processo che hai iniziato.
bedrock.stop_model_invocation_job(jobIdentifier=jobArn) - Java
-
package com.amazon.aws.sample.bedrock.inference; import software.amazon.awssdk.services.bedrock.BedrockClient; import software.amazon.awssdk.services.bedrock.model.*; public class BedrockBatchInference { private final BedrockClient bedrockClient = BedrockClient.create(); public void createModelInvokeJobSampleCode() { CreateModelInvocationJobResponse response = bedrockClient.createModelInvocationJob(request -> request .modelId("anthropic.claude-haiku-4-5-20251001-v1:0") .jobName("unique-job-name") .roleArn("arn:aws:iam::123456789:role/bedrock-role") .clientRequestToken("client-token") .inputDataConfig(input -> input .s3InputDataConfig(s3 -> s3 .s3Uri("s3://batch-input/abc.jsonl") .s3InputFormat(S3InputFormat.JSONL))) .outputDataConfig(output -> output .s3OutputDataConfig(s3 -> s3 .s3Uri("s3://batch-output/")))); System.out.println(response.jobArn()); } public void getModelInvokeJobSampleCode() { GetModelInvocationJobResponse response = bedrockClient.getModelInvocationJob(request -> request .jobIdentifier("jobArn")); System.out.println(response.status()); } public void listModelInvokeJobSampleCode() { ListModelInvocationJobsResponse response = bedrockClient.listModelInvocationJobs(request -> request .maxResults(10) .nameContains("matching-string")); response.invocationJobSummaries().forEach(job -> System.out.println(job.jobName() + ": " + job.status())); } public void stopModelInvokeJobSampleCode() { bedrockClient.stopModelInvocationJob(request -> request .jobIdentifier("jobArn")); } }