Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempi di codice
Nota
L'inferenza in batch è disponibile nella versione di anteprima ed è soggetta a modifiche. L'inferenza in batch è attualmente disponibile solo tramite l'API. Accedi alle API in batch tramite i seguenti SDK.
Ti consigliamo di creare un ambiente virtuale per utilizzare l'SDK. Poiché le API di inferenza in batch non sono disponibili negli SDK più recenti, consigliamo di disinstallare l'ultima versione dell'SDK dall'ambiente virtuale prima di installare la versione con le API di inferenza in batch. Per un esempio guidato, consulta. Esempi di codice
Seleziona una lingua per visualizzare un esempio di codice per richiamare le operazioni API di inferenza in batch.
- Python
-
Dopo aver scaricato i file Python SDK e CLI contenenti le operazioni dell'API di inferenza in batch, vai alla cartella contenente i file ed esegui in un terminale.
ls
Dovreste vedere almeno i seguenti 2 file.botocore-1.32.4-py3-none-any.whl boto3-1.29.4-py3-none-any.whl
Crea e attiva un ambiente virtuale per le API di inferenza in batch eseguendo i seguenti comandi in un terminale. Puoi sostituire
bedrock-batch
con un nome a tua scelta per l'ambiente.python3 -m venv
bedrock-batch
sourcebedrock-batch
/bin/activatePer assicurarvi che non vi siano artefatti delle versioni successive di
boto3
andbotocore
, disinstallate tutte le versioni esistenti eseguendo i seguenti comandi in un terminale.python3 -m pip uninstall botocore python3 -m pip uninstall boto3
Installa l'SDK per Python contenente le API del piano di controllo (control-plane) di Amazon Bedrock eseguendo i seguenti comandi in un terminale.
python3 -m pip install botocore-1.32.4-py3-none-any.whl python3 -m pip install boto3-1.29.4-py3-none-any.whl
Esegui tutto il codice seguente nell'ambiente virtuale che hai creato.
Crea un processo di inferenza in batch con un file denominato
abc.jsonl
che hai caricato in S3. Scrivi l'output in un bucket ins3://output-bucket/output/
. Ottieni iljobArn
dalla risposta.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')
Restituisci lo
status
del processo.bedrock.get_model_invocation_job(jobIdentifier=jobArn)['status']
Elenca i lavori di inferenza in batch
non riusciti
.bedrock.list_model_invocation_jobs( maxResults=10, statusEquals="Failed", sortOrder="Descending" )
Arresta il processo che hai iniziato.
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); } }