Führen Sie Amazon Bedrock API-Beispielanfragen über das AWS SDK for Python (Boto3) - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Führen Sie Amazon Bedrock API-Beispielanfragen über das AWS SDK for Python (Boto3)

Dieser Abschnitt führt Sie durch das Ausprobieren einiger gängiger Vorgänge in Amazon Bedrock, um zu testen, ob Ihre Berechtigungen und Authentifizierung ordnungsgemäß eingerichtet sind. Bevor Sie die folgenden Beispiele ausführen, sollten Sie überprüfen, ob Sie die folgenden Voraussetzungen erfüllt haben:

Voraussetzungen

Testen Sie mithilfe der von Ihnen erstellten Amazon Bedrock-Rolle, ob Ihre Berechtigungen und Zugriffsschlüssel für Amazon Bedrock ordnungsgemäß eingerichtet sind. Bei diesen Beispielen wird davon ausgegangen, dass Sie Ihre Umgebung mit Ihren Zugriffsschlüsseln konfiguriert haben. Beachten Sie Folgendes:

  • Sie müssen mindestens Ihre AWS Zugriffsschlüssel-ID und einen AWS geheimen Zugriffsschlüssel angeben.

  • Wenn Sie temporäre Anmeldeinformationen verwenden, müssen Sie auch ein AWS Sitzungstoken angeben.

Wenn Sie Ihre Anmeldeinformationen in Ihrer Umgebung nicht angeben, können Sie sie angeben, wenn Sie einen Client für Amazon Bedrock-Operationen erstellen. Geben Sie dazu bei der Erstellung des Clients die aws_session_token Argumente aws_access_key_idaws_secret_access_key, und (falls Sie kurzfristige Anmeldeinformationen verwenden) an.

Listen Sie die Fundamentmodelle auf, die Amazon Bedrock zu bieten hat

Im folgenden Beispiel wird der ListFoundationModelsVorgang mit einem Amazon Bedrock-Client ausgeführt. ListFoundationModelslistet die Foundation Models (FMs) auf, die in Amazon Bedrock in Ihrer Region verfügbar sind. Führen Sie das folgende SDK für Python-Skript aus, um einen Amazon Bedrock-Client zu erstellen und den ListFoundationModelsVorgang zu testen:

# Use the ListFoundationModels API to show the models that are available in &BR; in a given region. import boto3 # Create an &BR; client in the &region-us-east-1; Region. bedrock = boto3.client( service_name="bedrock", region_name="us-east-1" ) bedrock.list_foundation_models()

Wenn das Skript erfolgreich ist, gibt die Antwort eine Liste der Foundation-Modelle zurück, die in Amazon Bedrock verfügbar sind.

Senden Sie eine Textaufforderung an ein Modell und generieren Sie eine Textantwort mit InvokeModel

Im folgenden Beispiel wird der InvokeModelVorgang mit einem Amazon Bedrock-Client ausgeführt. InvokeModelermöglicht es Ihnen, eine Aufforderung zur Generierung einer Modellantwort einzureichen. Führen Sie das folgende SDK für Python-Skript aus, um einen Amazon Bedrock Runtime-Client zu erstellen und eine Textantwort mit dem Vorgang zu generieren:

# 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 in the AWS Region of your choice. brt = boto3.client("bedrock-runtime", region_name="us-east-1") # 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)

Wenn der Befehl erfolgreich ist, gibt die Antwort den Text zurück, der vom Modell als Antwort auf die Aufforderung generiert wurde.

Senden Sie eine Textaufforderung an ein Modell und generieren Sie mit Converse eine Textantwort

Im folgenden Beispiel wird der Converse-Vorgang mit einem Amazon Bedrock-Client ausgeführt. Wir empfehlen, Converse Operation Over zu verwenden, InvokeModel sofern dies unterstützt wird, da es die Inferenzanforderung für alle Amazon Bedrock-Modelle vereinheitlicht und die Verwaltung von Multi-Turn-Konversationen vereinfacht. Führen Sie das folgende SDK für Python-Skript aus, um einen Amazon Bedrock Runtime-Client zu erstellen und eine Textantwort mit dem Converse Vorgang zu generieren:

# 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 in the AWS Region you want to use. brt = boto3.client("bedrock-runtime", region_name="us-east-1") # 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)

Wenn der Befehl erfolgreich ist, gibt die Antwort den Text zurück, der vom Modell als Antwort auf die Aufforderung generiert wurde.