Ejecute API solicitudes de Amazon Bedrock de ejemplo con un bloc de notas de Amazon SageMaker - Amazon Bedrock

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.

Ejecute API solicitudes de Amazon Bedrock de ejemplo con un bloc de notas de Amazon SageMaker

En esta sección, se explica cómo probar algunas operaciones habituales en Amazon Bedrock con un SageMaker bloc de notas de Amazon para comprobar que los permisos de su rol de Amazon Bedrock están configurados correctamente. Antes de ejecutar los siguientes ejemplos, debe comprobar que ha cumplido los siguientes requisitos previos:

Requisitos previos 

  • Tiene un Cuenta de AWS y tener permisos para acceder a un rol con los permisos necesarios para Amazon Bedrock. De lo contrario, siga los pasos que se indican enYa tengo un Cuenta de AWS.

  • Has solicitado acceso al Amazon Titan Text G1 - Express modelo. De lo contrario, siga los pasos que se indican enSolicita acceso a un modelo de base Amazon Bedrock.

  • Realice los siguientes pasos para configurar IAM los permisos SageMaker y crear un bloc de notas:

    1. Modifique la política de confianza del rol de Amazon Bedrock que configuró Ya tengo un Cuenta de AWS a través de la consola CLI, o API. Adjunta la siguiente política de confianza al rol para permitir que tanto Amazon Bedrock como SageMaker los servicios asuman el rol de 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" } ] }
    2. Inicia sesión en el rol de Amazon Bedrock cuya política de confianza acabas de modificar.

    3. Siga los pasos descritos en Crear una instancia de Amazon SageMaker Notebook para ver el tutorial y especifique el rol ARN de Amazon Bedrock que creó para crear una instancia de SageMaker bloc de notas.

    4. Cuando el estado de la instancia del bloc de notas sea InService, elija la instancia y, a continuación, elija Abrir JupyterLab.

Después de abrir el SageMaker bloc de notas, puede probar los siguientes ejemplos:

Enumere los modelos de base que ofrece Amazon Bedrock

En el siguiente ejemplo, se ejecuta la ListFoundationModelsoperación con un cliente de Amazon Bedrock. ListFoundationModelsmuestra los modelos de base (FMs) que están disponibles en Amazon Bedrock en su región. Ejecute el siguiente script de Python SDK para crear un cliente Amazon Bedrock y probar la ListFoundationModelsoperación:

# 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()

Si el guion se ejecuta correctamente, la respuesta devuelve una lista de modelos de bases que están disponibles en Amazon Bedrock.

Envíe un mensaje de texto a un modelo y genere una respuesta

En el siguiente ejemplo, se ejecuta la operación de Converse con un cliente de Amazon Bedrock. Conversele permite enviar un mensaje para generar una respuesta modelo. Ejecute lo siguiente SDK para el script de Python para crear un cliente de tiempo de ejecución de Amazon Bedrock y probar la operación de 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)

Si el comando se ejecuta correctamente, la respuesta devuelve el texto generado por el modelo en respuesta a la solicitud.