Exécutez des exemples de demandes d'API Amazon Bedrock à l'aide d'un bloc-notes Amazon SageMaker AI - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exécutez des exemples de demandes d'API Amazon Bedrock à l'aide d'un bloc-notes Amazon SageMaker AI

Cette section vous explique comment tester certaines opérations courantes dans Amazon Bedrock à l'aide d'un bloc-notes Amazon SageMaker AI pour vérifier que les autorisations de votre rôle Amazon Bedrock sont correctement configurées. Avant d'exécuter les exemples suivants, vous devez vérifier que vous avez rempli les conditions préalables suivantes :

Prérequis

  • Vous avez Compte AWS et êtes autorisé à accéder à un rôle avec les autorisations nécessaires pour Amazon Bedrock. Dans le cas contraire, suivez les étapes indiquées surJ'ai déjà un Compte AWS.

  • Vous avez demandé l'accès au Amazon Titan Text G1 - Express modèle. Dans le cas contraire, suivez les étapes indiquées surDemandez l'accès à un modèle de fondation Amazon Bedrock.

  • Procédez comme suit pour configurer les autorisations IAM pour l' SageMaker IA et créer un bloc-notes :

    1. Modifiez la politique de confiance du rôle Amazon Bedrock que vous avez configuré J'ai déjà un Compte AWS via la console, la CLI ou l'API. Associez la politique de confiance suivante au rôle afin de permettre aux services Amazon Bedrock et SageMaker AI d'assumer le rôle 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. Connectez-vous au rôle Amazon Bedrock dont vous venez de modifier la politique de confiance.

    3. Suivez les étapes décrites dans Créer une instance de bloc-notes Amazon SageMaker AI pour le didacticiel et spécifiez l'ARN du rôle Amazon Bedrock que vous avez créé pour créer une instance de bloc-notes SageMaker AI.

    4. Lorsque le statut de l'instance de bloc-notes est défini InService, choisissez l'instance, puis sélectionnez Ouvrir JupyterLab.

Après avoir ouvert votre bloc-notes SageMaker AI, vous pouvez essayer les exemples suivants :

Répertoriez les modèles de base proposés par Amazon Bedrock

L'exemple suivant exécute l'ListFoundationModelsopération à l'aide d'un client Amazon Bedrock. ListFoundationModelsrépertorie les modèles de fondation (FMs) disponibles sur Amazon Bedrock dans votre région. Exécutez le script SDK pour Python suivant pour créer un client Amazon Bedrock et tester le ListFoundationModelsfonctionnement :

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

Si le script aboutit, la réponse renvoie une liste des modèles de base disponibles sur Amazon Bedrock.

Envoyer une demande de texte à un modèle et générer une réponse

L'exemple suivant exécute l'opération Converse à l'aide d'un client Amazon Bedrock. Conversevous permet d'envoyer une invite pour générer un modèle de réponse. Exécutez le script SDK pour Python suivant pour créer un client d'exécution Amazon Bedrock et tester l'opération 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 la commande aboutit, la réponse renvoie le texte généré par le modèle en réponse à l'invite.