Esempi di codice - Amazon Bedrock

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 source bedrock-batch/bin/activate

Per 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 in s3://output-bucket/output/. Ottieni il jobArn 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); } }