Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Batch-Inferenz – Codebeispiel
Das Codebeispiel in diesem Kapitel zeigt, wie Sie einen Batch-Inferenzauftrag erstellen, Informationen dazu anzeigen und ihn beenden. In diesem Beispiel wird das InvokeModel API-Format verwendet. Hinweise zur Verwendung des Converse API-Formats finden Sie unterFormatieren und Hochladen Ihrer Batch-Inferenzdaten.
Wählen Sie eine Sprache aus, um ein Codebeispiel für diese anzuzeigen:
- Python
-
Erstellen Sie eine JSONL-Datei mit dem Namen
abc.jsonlund fügen Sie für jeden Datensatz, der mindestens die Mindestanzahl an Datensätzen enthält, ein JSON-Objekt hinzu (siehe Mindestanzahl von Datensätzen pro Batch-Inferenzjob für).{Model}Kontingente für Amazon Bedrock In diesem Beispiel verwenden Sie das Modell Anthropic Claude 3 Haiku. Das folgende Beispiel zeigt die erste JSON-Eingabe in der Datei:{ "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 minimumErstellen Sie einen S3-Bucket namens
amzn-s3-demo-bucket-inputund laden Sie die Datei in ihn hoch. Erstellen Sie dann einen S3-Bucketamzn-s3-demo-bucket-output, in den Sie Ihre Ausgabedateien schreiben sollen. Führen Sie den folgenden Codeausschnitt aus, um einen Job einzureichen und dasjobArnaus der Antwort abzurufen: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')Gibt den Namen
statusdes Auftrags zurück.bedrock.get_model_invocation_job(jobIdentifier=jobArn)['status']Listet Batch-Inferenzjobs auf, die.
Failedbedrock.list_model_invocation_jobs( maxResults=10, statusEquals="Failed", sortOrder="Descending" )Beenden Sie den Auftrag, den Sie gestartet haben.
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")); } }