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 API demandes Amazon Bedrock via le AWS SDKpour Python (Boto3)
Cette section vous explique comment tester certaines opérations courantes dans Amazon Bedrock avec le AWS Python pour vérifier que vos autorisations et votre authentification 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 un Compte AWS et disposez des autorisations nécessaires pour accéder à un rôle disposant des autorisations nécessaires pour Amazon Bedrock. Dans le cas contraire, suivez les étapes indiquées àJ'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 àDemandez l'accès à un modèle de fondation Amazon Bedrock.
-
Vous avez reçu des clés d'accès pour votre IAM utilisateur et configuré un profil avec celles-ci. Sinon, suivez les étapes applicables à votre cas d'utilisation surObtenir des informations d'identification pour accorder un accès programmatique à un utilisateur.
Vérifiez que vos autorisations et clés d'accès sont correctement configurées pour Amazon Bedrock, en utilisant le rôle Amazon Bedrock que vous avez créé. Ces exemples supposent que vous avez configuré votre environnement avec vos clés d'accès. Notez ce qui suit :
-
Au minimum, vous devez spécifier votre AWS ID de clé d'accès et un AWS clé d'accès secrète.
-
Si vous utilisez des informations d'identification temporaires, vous devez également inclure un AWS jeton de session.
Si vous ne spécifiez pas vos informations d'identification dans votre environnement, vous pouvez les spécifier lors de la création d'un clientaws_session_token
arguments aws_access_key_id
aws_secret_access_key
, et (si vous utilisez des informations d'identification à court terme) lorsque vous créez le client.
Rubriques
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. ListFoundationModels
répertorie les modèles de fondation (FMs) disponibles sur Amazon Bedrock dans votre région. Exécutez le script Python suivant SDK pour créer un client Amazon Bedrock et tester le ListFoundationModelsfonctionnement :
# 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 le script aboutit, la réponse renvoie une liste des modèles de base disponibles sur Amazon Bedrock.
Envoyez une demande de texte à un modèle et générez une réponse textuelle avec InvokeModel
L'exemple suivant exécute l'InvokeModelopération à l'aide d'un client Amazon Bedrock. InvokeModel
vous permet d'envoyer une invite pour générer un modèle de réponse. Exécutez le script suivant SDK pour Python afin de créer un client d'exécution Amazon Bedrock et de générer une réponse textuelle avec l'opération :
# 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 la commande aboutit, la réponse renvoie le texte généré par le modèle en réponse à l'invite.
Envoyer une demande de texte à un modèle et générer une réponse textuelle avec Converse
L'exemple suivant exécute l'opération Converse à l'aide d'un client Amazon Bedrock. Nous recommandons d'utiliser Converse
Operation Over InvokeModel
lorsqu'il est pris en charge, car cela unifie la demande d'inférence entre les modèles Amazon Bedrock et simplifie la gestion des conversations à plusieurs tours. Exécutez le script suivant SDK pour Python afin de créer un client d'exécution Amazon Bedrock et de générer une réponse textuelle avec l'Converse
opération :
# 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.