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 a través del AWS SDKpara Python (Boto3)
En esta sección se explica cómo probar algunas operaciones habituales en Amazon Bedrock con el AWS Python para comprobar que sus permisos y su autenticación 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.
-
Recibió las claves de acceso de su IAM usuario y configuró un perfil con ellas. De lo contrario, sigue los pasos aplicables a tu caso de uso enObtenga credenciales para conceder acceso programático a un usuario.
Compruebe que sus permisos y claves de acceso estén configurados correctamente para Amazon Bedrock, utilizando el rol de Amazon Bedrock que creó. En estos ejemplos se supone que ha configurado el entorno con sus claves de acceso. Tenga en cuenta lo siguiente:
-
Como mínimo, debe especificar su AWS identificador de clave de acceso y un AWS clave de acceso secreta.
-
Si utilizas credenciales temporales, también debes incluir una AWS token de sesión.
Si no especifica sus credenciales en su entorno, puede especificarlas al crear un clienteaws_session_token
argumentos aws_access_key_id
aws_secret_access_key
, y (si utiliza credenciales a corto plazo) al crear el cliente.
Temas
Enumere los modelos de base que ofrece Amazon Bedrock
En el siguiente ejemplo, se ejecuta la ListFoundationModelsoperación con un cliente Amazon Bedrock. ListFoundationModels
muestra 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 ®ion-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 base que están disponibles en Amazon Bedrock.
Envíe un mensaje de texto a un modelo y genere una respuesta de texto con InvokeModel
En el siguiente ejemplo, se ejecuta la InvokeModeloperación con un cliente Amazon Bedrock. InvokeModel
le permite enviar un mensaje para generar una respuesta modelo. Ejecute el siguiente script de Python SDK para crear un cliente de tiempo de ejecución de Amazon Bedrock y generar una respuesta de texto con la operación:
# 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)
Si el comando se ejecuta correctamente, la respuesta devuelve el texto generado por el modelo en respuesta a la solicitud.
Envía una solicitud de texto a un modelo y genera una respuesta de texto con Converse
En el siguiente ejemplo, se ejecuta la operación de Converse con un cliente de Amazon Bedrock. Recomendamos utilizar Converse
Operation Over InvokeModel
cuando sea compatible, ya que unifica la solicitud de inferencia en todos los modelos de Amazon Bedrock y simplifica la administración de las conversaciones en varios turnos. Ejecute el siguiente script de Python SDK para crear un cliente de tiempo de ejecución de Amazon Bedrock y generar una respuesta de texto con la Converse
operación:
# 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.