Execute exemplos de API solicitações do Amazon Bedrock por meio do AWS SDK for Python (Boto3) - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Execute exemplos de API solicitações do Amazon Bedrock por meio do AWS SDK for Python (Boto3)

Esta seção orienta você a experimentar algumas operações comuns no Amazon Bedrock com o AWS Python para testar se suas permissões e autenticação estão configuradas corretamente. Antes de executar os exemplos abaixo, verifique se os seguintes pré-requisitos foram atendidos:

Pré-requisitos

Teste se suas permissões estão configuradas corretamente para o Amazon Bedrock, usando um usuário ou uma função que você configurou com as permissões adequadas.

Listar os modelos de base que o Amazon Bedrock oferece

O exemplo a seguir executa a ListFoundationModelsoperação usando um cliente Amazon Bedrock. ListFoundationModelslista os modelos de fundação (FMs) que estão disponíveis no Amazon Bedrock em sua região. Execute o seguinte script SDK para Python para criar um cliente Amazon Bedrock e testar a operação: ListFoundationModels

# Use the ListFoundationModels API to show the models that are available in your region. import boto3 # Create an &BR; client in the &region-us-east-1; Region. bedrock = boto3.client( service_name="bedrock" ) bedrock.list_foundation_models()

Se o script for bem-sucedido, a resposta retornará uma lista de modelos de base que estão disponíveis no Amazon Bedrock.

Envie uma solicitação de texto para um modelo e gere uma resposta de texto com InvokeModel

O exemplo a seguir executa a InvokeModeloperação usando um cliente Amazon Bedrock. InvokeModelpermite que você envie uma solicitação para gerar uma resposta do modelo. Execute o seguinte script SDK para Python para criar um cliente de tempo de execução do Amazon Bedrock e gerar uma resposta de texto com a operação:

# Use the native inference API to send a text message to Amazon Titan Text G1 - Express. import boto3 import json from botocore.exceptions import ClientError # Create an Amazon Bedrock Runtime client. brt = boto3.client("bedrock-runtime") # Set the model ID, e.g., Amazon Titan Text G1 - Express. model_id = "amazon.titan-text-express-v1" # Define the prompt for the model. prompt = "Describe the purpose of a 'hello world' program in one line." # Format the request payload using the model's native structure. native_request = { "inputText": prompt, "textGenerationConfig": { "maxTokenCount": 512, "temperature": 0.5, "topP": 0.9 }, } # Convert the native request to JSON. request = json.dumps(native_request) try: # Invoke the model with the request. response = brt.invoke_model(modelId=model_id, body=request) except (ClientError, Exception) as e: print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}") exit(1) # Decode the response body. model_response = json.loads(response["body"].read()) # Extract and print the response text. response_text = model_response["results"][0]["outputText"] print(response_text)

Se o comando for bem-sucedido, a resposta retornará o texto gerado pelo modelo em resposta ao prompt.

Enviar um prompt de texto a um modelo e gerar uma resposta de texto com Converse

O exemplo a seguir executa a operação Converse usando um cliente do Amazon Bedrock. É recomendável usar a operação Converse em vez de InvokeModel quando compatível, pois ela unifica a solicitação de inferência nos modelos do Amazon Bedrock e simplifica o gerenciamento de conversas em vários turnos. Execute o seguinte script SDK para Python para criar um cliente de tempo de execução do Amazon Bedrock e gerar uma resposta de texto com a operação: Converse

# Use the Conversation API to send a text message to Amazon Titan Text G1 - Express. import boto3 from botocore.exceptions import ClientError # Create an Amazon Bedrock Runtime client. brt = boto3.client("bedrock-runtime") # Set the model ID, e.g., Amazon Titan Text G1 - Express. model_id = "amazon.titan-text-express-v1" # Start a conversation with the user message. user_message = "Describe the purpose of a 'hello world' program in one line." conversation = [ { "role": "user", "content": [{"text": user_message}], } ] try: # Send the message to the model, using a basic inference configuration. response = brt.converse( modelId=model_id, messages=conversation, inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9}, ) # Extract and print the response text. response_text = response["output"]["message"]["content"][0]["text"] print(response_text) except (ClientError, Exception) as e: print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}") exit(1)

Se o comando for bem-sucedido, a resposta retornará o texto gerado pelo modelo em resposta ao prompt.