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
-
Sie verfügen über eine AWS-Konto und haben die erforderlichen Berechtigungen für den Zugriff auf eine Rolle mit den erforderlichen Berechtigungen für Amazon Bedrock. Andernfalls folgen Sie den Schritten unterIch habe bereits eine AWS-Konto.
-
Sie haben Zugriff auf das Amazon Titan Text G1 - Express Modell angefordert. Andernfalls folgen Sie den Schritten unterZugriff auf ein Amazon Bedrock Foundation-Modell anfordern.
-
Sie haben Zugangsschlüssel für Ihren IAM-Benutzer erhalten und damit ein Profil konfiguriert. Folgen Sie andernfalls den für Ihren Anwendungsfall geltenden Schritten unterHolen Sie sich Anmeldeinformationen, um einem Benutzer programmatischen Zugriff zu gewähren.
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 erstellenaws_session_token
Argumente aws_access_key_id
aws_secret_access_key
, und (falls Sie kurzfristige Anmeldeinformationen verwenden) an.
Themen
Listen Sie die Fundamentmodelle auf, die Amazon Bedrock zu bieten hat
Im folgenden Beispiel wird der ListFoundationModelsVorgang mit einem Amazon Bedrock-Client ausgeführt. ListFoundationModels
listet 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 ®ion-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. InvokeModel
ermö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.