翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
バッチ推論のコード例
この章のコード例では、バッチ推論ジョブを作成し、その情報を表示して停止する方法を説明しています。この例では、 InvokeModel API 形式を使用します。Converse API 形式の使用については、「」を参照してくださいバッチ推論データをフォーマットしてアップロードする。
言語を選択すると、コードの例が表示されます。
- Python
-
abc.jsonlという名前の JSONL ファイルを作成し、各レコードに少なくとも最小レコード数 (「Amazon Bedrock のクォータ」で{Model}のバッチ推論ジョブあたりの最小レコード数を参照) がある JSON オブジェクトを含めます。この例では、Anthropic Claude 3 Haiku モデルを使用します。次の例は、ファイル内の最初の入力 JSON を示しています。{ "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 minimumamzn-s3-demo-bucket-inputという名前の S3 バケットを作成し、そのバケットにファイルをアップロードします。次に、amzn-s3-demo-bucket-outputという名前の S3 バケットを作成して、出力ファイルを書き込みます。次のコードスニペットを実行してジョブを送信し、レスポンスからjobArnを取得します。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')ジョブの
statusを返します。bedrock.get_model_invocation_job(jobIdentifier=jobArn)['status']失敗したバッチ推論ジョブを一覧表示します。bedrock.list_model_invocation_jobs( maxResults=10, statusEquals="Failed", sortOrder="Descending" )開始したジョブを停止します。
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")); } }
ジョブの結果を表示する
OpenAI バッチ API を使用する