Sampel Kode - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Sampel Kode

catatan

Inferensi Batch dalam pratinjau dan dapat berubah sewaktu-waktu. Inferensi Batch saat ini hanya tersedia melalui API. Akses API batch melalui SDK berikut.

Kami menyarankan Anda membuat lingkungan virtual untuk menggunakan SDK. Karena API inferensi batch tidak tersedia di SDK terbaru, sebaiknya hapus instalan SDK versi terbaru dari lingkungan virtual sebelum menginstal versi dengan API inferensi batch. Untuk contoh yang dipandu, lihatSampel Kode.

Pilih bahasa untuk melihat contoh kode untuk memanggil operasi API inferensi batch.

Python

Setelah mengunduh file Python SDK dan CLI yang berisi operasi API inferensi batch, arahkan ke folder yang berisi file dan jalankan di terminal. ls Anda harus melihat 2 file berikut, setidaknya.

botocore-1.32.4-py3-none-any.whl boto3-1.29.4-py3-none-any.whl

Buat dan aktifkan lingkungan virtual untuk API inferensi batch dengan menjalankan perintah berikut di terminal. Anda dapat mengganti batuan dasar dengan nama pilihan Anda untuk lingkungan.

python3 -m venv bedrock-batch source bedrock-batch/bin/activate

Untuk memastikan bahwa tidak ada artefak dari versi yang lebih baru boto3 danbotocore, hapus instalan versi yang ada dengan menjalankan perintah berikut di terminal.

python3 -m pip uninstall botocore python3 -m pip uninstall boto3

Instal SDK Python yang berisi API bidang kontrol Amazon Bedrock dengan menjalankan perintah berikut di terminal.

python3 -m pip install botocore-1.32.4-py3-none-any.whl python3 -m pip install boto3-1.29.4-py3-none-any.whl

Jalankan semua kode berikut di lingkungan virtual yang Anda buat.

Buat pekerjaan inferensi batch dengan file bernama abc.jsonl yang Anda unggah ke S3. Tulis output ke ember di s3://output-bucket/output/. Dapatkan JoBarn dari jawabannya.

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')

Kembalikan pekerjaan. status

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

Buat daftar pekerjaan inferensi batch yang Gagal.

bedrock.list_model_invocation_jobs( maxResults=10, statusEquals="Failed", sortOrder="Descending" )

Hentikan pekerjaan yang Anda mulai.

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); } }