翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
コードサンプル
注記
バッチ推論は現在プレビューにつき、今後変更される可能性があります。バッチ推論は現在 API を通じてのみ利用できます。バッチ API には次の SDK からアクセスします。
SDK を使用する仮想環境を作成することをお勧めします。バッチ推論 API は最新の SDK では使用できないため、バッチ推論 API を含むバージョンをインストールする前に、仮想環境から最新バージョンの SDK をアンインストールすることをお勧めします。ガイド付きの例については、を参照してください。コードサンプル
言語を選択すると、バッチ推論 API オペレーションを呼び出すコードサンプルが表示されます。
- Python
-
バッチ推論 API 操作を含む Python SDK ファイルと CLI ファイルをダウンロードしたら、ファイルが含まれているフォルダーに移動し、
ls
ターミナルで実行します。少なくとも、次の 2 つのファイルが表示されるはずです。botocore-1.32.4-py3-none-any.whl boto3-1.29.4-py3-none-any.whl
ターミナルで以下のコマンドを実行して、バッチ推論 API 用の仮想環境を作成して有効にします。
bedrock-batch
は環境に適した名前に置き換えることができます。python3 -m venv
bedrock-batch
sourcebedrock-batch
/bin/activateboto3
およびの新しいバージョンからのアーティファクトがないことを確認するにはbotocore
、ターミナルで以下のコマンドを実行して既存のバージョンをアンインストールします。python3 -m pip uninstall botocore python3 -m pip uninstall boto3
ターミナルで以下のコマンドを実行して、Amazon Bedrock コントロールプレーン API を含む Python SDK をインストールします。
python3 -m pip install botocore-1.32.4-py3-none-any.whl python3 -m pip install boto3-1.29.4-py3-none-any.whl
作成した仮想環境で、次のコードをすべて実行します。
S3 にアップロードした
abc.jsonl
という名前のファイルを使用してバッチ推論ジョブを作成します。出力をs3://output-bucket/output/
のバケットに書き込みます。レスポンスからjobArn
を取得します。import boto3 bedrock = boto3.client(service_name="bedrock") inputDataConfig=({ "s3InputDataConfig": { "s3Uri": "s3://input-bucket/input/abc.jsonl" } }) outputDataConfig=({ "s3OutputDataConfig": { "s3Uri": "s3://output-bucket/output/" } }) response=bedrock.create_model_invocation_job( roleArn="arn:aws:iam::123456789012:role/MyBatchInferenceRole", modelId="amazon.titan-text-express-v1", 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 com.amazonaws.services.bedrock.AmazonBedrockAsync; import com.amazonaws.services.bedrock.AmazonBedrockAsyncClientBuilder; import com.amazonaws.services.bedrock.model.CreateModelInvocationJobRequest; import com.amazonaws.services.bedrock.model.CreateModelInvocationJobResult; import com.amazonaws.services.bedrock.model.GetModelInvocationJobRequest; import com.amazonaws.services.bedrock.model.GetModelInvocationJobResult; import com.amazonaws.services.bedrock.model.InvocationJobInputDataConfig; import com.amazonaws.services.bedrock.model.InvocationJobOutputDataConfig; import com.amazonaws.services.bedrock.model.InvocationJobS3InputDataConfig; import com.amazonaws.services.bedrock.model.InvocationJobS3OutputDataConfig; import com.amazonaws.services.bedrock.model.ListModelInvocationJobsRequest; import com.amazonaws.services.bedrock.model.ListModelInvocationJobsResult; import com.amazonaws.services.bedrock.model.StopModelInvocationJobRequest; import com.amazonaws.services.bedrock.model.StopModelInvocationJobResult; public class BedrockAsyncInference { private final AmazonBedrockAsync amazonBedrockAsyncClient = AmazonBedrockAsyncClientBuilder.defaultClient(); public void createModelInvokeJobSampleCode() { final InvocationJobS3InputDataConfig invocationJobS3InputDataConfig = new InvocationJobS3InputDataConfig() .withS3Uri("s3://Input-bucket-name/input/abc.jsonl") .withS3InputFormat("JSONL"); final InvocationJobInputDataConfig inputDataConfig = new InvocationJobInputDataConfig() .withS3InputDataConfig(invocationJobS3InputDataConfig); final InvocationJobS3OutputDataConfig invocationJobS3OutputDataConfig = new InvocationJobS3OutputDataConfig() .withS3Uri("s3://output-bucket-name/output/"); final InvocationJobOutputDataConfig invocationJobOutputDataConfig = new InvocationJobOutputDataConfig() .withS3OutputDataConfig(invocationJobS3OutputDataConfig); final CreateModelInvocationJobRequest createModelInvocationJobRequest = new CreateModelInvocationJobRequest() .withModelId("anthropic.claude-v2") .withJobName("unique-job-name") .withClientRequestToken("Client-token") .withInputDataConfig(inputDataConfig) .withOutputDataConfig(invocationJobOutputDataConfig); final CreateModelInvocationJobResult createModelInvocationJobResult = amazonBedrockAsyncClient .createModelInvocationJob(createModelInvocationJobRequest); System.out.println(createModelInvocationJobResult.getJobArn()); } public void getModelInvokeJobSampleCode() { final GetModelInvocationJobRequest getModelInvocationJobRequest = new GetModelInvocationJobRequest() .withJobIdentifier("jobArn"); final GetModelInvocationJobResult getModelInvocationJobResult = amazonBedrockAsyncClient .getModelInvocationJob(getModelInvocationJobRequest); } public void listModelInvokeJobSampleCode() { final ListModelInvocationJobsRequest listModelInvocationJobsRequest = new ListModelInvocationJobsRequest() .withMaxResults(10) .withNameContains("matchin-string"); final ListModelInvocationJobsResult listModelInvocationJobsResult = amazonBedrockAsyncClient .listModelInvocationJobs(listModelInvocationJobsRequest); } public void stopModelInvokeJobSampleCode() { final StopModelInvocationJobRequest stopModelInvocationJobRequest = new StopModelInvocationJobRequest() .withJobIdentifier("jobArn"); final StopModelInvocationJobResult stopModelInvocationJobResult = amazonBedrockAsyncClient .stopModelInvocationJob(stopModelInvocationJobRequest); } }