Esegui esempi di richieste API Amazon Bedrock utilizzando un notebook Amazon SageMaker AI - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esegui esempi di richieste API Amazon Bedrock utilizzando un notebook Amazon SageMaker AI

Questa sezione ti guida a provare alcune operazioni comuni in Amazon Bedrock con un notebook Amazon SageMaker AI per verificare che le autorizzazioni dei ruoli Amazon Bedrock siano configurate correttamente. Prima di eseguire i seguenti esempi, dovresti verificare di aver soddisfatto i seguenti prerequisiti:

Prerequisiti

  • Disponi Account AWS e disponi delle autorizzazioni per accedere a un ruolo con le autorizzazioni necessarie per Amazon Bedrock. Altrimenti, segui i passaggi indicati in. Ho già un Account AWS

  • Hai richiesto l'accesso al Amazon Titan Text G1 - Express modello. Altrimenti, segui i passaggi indicati inRichiedi l'accesso a un modello di base Amazon Bedrock.

  • Esegui i seguenti passaggi per configurare le autorizzazioni IAM per l' SageMaker IA e creare un notebook:

    1. Modifica la politica di attendibilità del ruolo Amazon Bedrock che configuri Ho già un Account AWS tramite console, CLI o API. Allega la seguente politica di fiducia al ruolo per consentire ai servizi Amazon Bedrock e SageMaker AI di assumere il ruolo di 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. Accedi al ruolo di Amazon Bedrock di cui hai appena modificato la politica di fiducia.

    3. Segui i passaggi in Crea un'istanza Amazon SageMaker AI Notebook per il tutorial e specifica l'ARN del ruolo Amazon Bedrock che hai creato per creare un'istanza di notebook SageMaker AI.

    4. Quando lo stato dell'istanza del notebook è impostato su InService, scegli l'istanza, quindi scegli Apri. JupyterLab

Dopo aver aperto il notebook SageMaker AI, puoi provare i seguenti esempi:

Elenca i modelli base che Amazon Bedrock ha da offrire

L'esempio seguente esegue l'ListFoundationModelsoperazione utilizzando un client Amazon Bedrock. ListFoundationModelselenca i modelli base (FMs) disponibili in Amazon Bedrock nella tua regione. Esegui il seguente script SDK for Python per creare un client Amazon Bedrock e testarne il funzionamento: 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 lo script ha esito positivo, la risposta restituisce un elenco di modelli base disponibili in Amazon Bedrock.

Invia un messaggio di testo a un modello e genera una risposta

L'esempio seguente esegue l'operazione Converse utilizzando un client Amazon Bedrock. Converseconsente di inviare un prompt per generare una risposta modello. Esegui il seguente script SDK for Python per creare un client di runtime Amazon Bedrock e testare il funzionamento di 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 il comando ha esito positivo, la risposta restituisce il testo generato dal modello in risposta al prompt.