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 solicitações de API do Amazon Bedrock usando um notebook Amazon SageMaker AI
Esta seção orienta você a experimentar algumas operações comuns no Amazon Bedrock com um notebook Amazon SageMaker AI para testar se suas permissões de função no Amazon Bedrock estão configuradas corretamente. Antes de executar os exemplos abaixo, verifique se os seguintes pré-requisitos foram atendidos:
Pré-requisitos
-
Você tem Conta da AWS e tem permissões para acessar uma função com as permissões necessárias para o Amazon Bedrock. Caso contrário, siga as etapas em Já tenho uma Conta da AWS.
-
Você solicitou acesso ao Amazon Titan Text G1 - Express modelo. Caso contrário, siga as etapas em Solicitar acesso a um modelo de base do Amazon Bedrock.
-
Execute as etapas a seguir para configurar as permissões do IAM para SageMaker IA e criar um notebook:
-
Modifique a política de confiança da função do Amazon Bedrock que configurou em Já tenho uma Conta da AWS por meio do console, da CLI ou da API. Vincule a seguinte política de confiança à função para permitir que tanto o Amazon Bedrock quanto os serviços de SageMaker IA assumam a função Amazon Bedrock:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockTrust", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "SagemakerTrust", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Faça login na função do Amazon Bedrock cuja política de confiança você acabou de modificar.
-
Siga as etapas em Criar uma instância do Amazon SageMaker AI Notebook para ver o tutorial e especifique o ARN da função Amazon Bedrock que você criou para criar uma instância de notebook com SageMaker IA.
-
Quando o Status da instância do notebook for InService, escolha a instância e, em seguida, escolha Abrir JupyterLab.
-
Depois de abrir seu notebook de SageMaker IA, você pode experimentar os seguintes exemplos:
Tópicos
Listar os modelos de base que o Amazon Bedrock oferece
O exemplo a seguir executa a ListFoundationModelsoperação usando um cliente Amazon Bedrock. ListFoundationModels
lista 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
""" Lists the available Amazon Bedrock models in an AWS Region. """ import logging import json import boto3 from botocore.exceptions import ClientError logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def list_foundation_models(bedrock_client): """ Gets a list of available Amazon Bedrock foundation models. :return: The list of available bedrock foundation models. """ try: response = bedrock_client.list_foundation_models() models = response["modelSummaries"] logger.info("Got %s foundation models.", len(models)) return models except ClientError: logger.error("Couldn't list foundation models.") raise def main(): """Entry point for the example. Change aws_region to the AWS Region that you want to use.""" aws_region = "us-east-1" bedrock_client = boto3.client(service_name="bedrock", region_name=aws_region) fm_models = list_foundation_models(bedrock_client) for model in fm_models: print(f"Model: {model["modelName"]}") print(json.dumps(model, indent=2)) print("---------------------------\n") logger.info("Done.") if __name__ == "__main__": main()
Se o script for bem-sucedido, a resposta retornará uma lista de modelos de base que estão disponíveis no Amazon Bedrock.
Enviar um prompt de texto a um modelo e gerar uma resposta
O exemplo a seguir executa a operação Converse usando um cliente do Amazon Bedrock. Converse
permite enviar um prompt para gerar uma resposta do modelo. Execute o seguinte script do SDK para Python para criar um cliente de runtime do Amazon Bedrock e testar 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.