Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplos de código
nota
La inferencia por lotes está en versión de vista previa y sujeta a cambios. Actualmente, la inferencia por lotes solo está disponible a través de la API. Puede acceder a las API por lotes a través de los siguientes SDK.
Le recomendamos que cree un entorno virtual para usar el SDK. Como las API de inferencia por lotes no están disponibles en los SDK más recientes, le recomendamos que desinstale la última versión del SDK del entorno virtual antes de instalar la versión con las API de inferencia por lotes. Para ver un ejemplo guiado, consulte. Ejemplos de código
Seleccione un idioma para ver un ejemplo de código para llamar a las operaciones de la API de inferencia por lotes.
- Python
-
Tras descargar los archivos CLI y del SDK de Python que contienen las operaciones de la API de inferencia por lotes, navegue hasta la carpeta que contiene los archivos y ejecútelo
ls
en una terminal. Deberías ver, como mínimo, los 2 archivos siguientes.botocore-1.32.4-py3-none-any.whl boto3-1.29.4-py3-none-any.whl
Cree y active un entorno virtual para las API de inferencia por lotes ejecutando los siguientes comandos en una terminal. Puede reemplazar
bedrock-batch por
el nombre que prefiera para el entorno.python3 -m venv
bedrock-batch
sourcebedrock-batch
/bin/activatePara asegurarse de que no haya artefactos de una versión posterior
boto3
ybotocore
, desinstale las versiones existentes ejecutando los siguientes comandos en una terminal.python3 -m pip uninstall botocore python3 -m pip uninstall boto3
Instale el SDK de Python que contiene las API del plano de control de Amazon Bedrock ejecutando los siguientes comandos en un 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
Ejecute todo el código siguiente en el entorno virtual que ha creado.
Cree un trabajo de inferencia por lotes con un archivo denominado
abc.jsonl
que haya subido a S3. Escriba el resultado en un bucket ens3://output-bucket/output/
. Obtenga eljobArn
de la respuesta.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')
Devuelva la parte
status
del trabajo.bedrock.get_model_invocation_job(jobIdentifier=jobArn)['status']
Enumere los trabajos de inferencia por lotes que hayan
fallado
.bedrock.list_model_invocation_jobs( maxResults=10, statusEquals="Failed", sortOrder="Descending" )
Detenga el trabajo que inició.
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); } }