Codebeispiele für die Prompt-Verwaltung ausführen - 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.

Codebeispiele für die Prompt-Verwaltung ausführen

Anmerkung

Prompt Management befindet sich in der Vorschauphase und kann sich ändern.

Um einige Codebeispiele für die Prompt-Verwaltung auszuprobieren, wählen Sie die Registerkarte aus, die der Methode Ihrer Wahl entspricht, und folgen Sie den Schritten. Bei den folgenden Codebeispielen wird davon ausgegangen, dass Sie Ihre Anmeldeinformationen für die Verwendung von eingerichtet haben AWS API. Falls nicht, finden Sie weitere Informationen unterErste Schritte mit der AWS API.

Python
  1. Führen Sie den folgenden Codeausschnitt aus, um den zu laden AWS SDK for Python (Boto3), einen Client zu erstellen und eine Aufforderung zu erstellen, die mithilfe von zwei Variablen (genreundnumber) eine Musik-Playlist erstellt, indem Sie einen Build-Time-Endpunkt für CreatePromptAgents for Amazon Bedrock erstellen:

    # Create a prompt in Prompt management import boto3 # Create an Agents for Amazon Bedrock client client = boto3.client(service_name="bedrock-agent") # Create the prompt response = client.create_prompt( name="MakePlaylist", description="My first prompt.", variants=[ { "name": "Variant1", "modelId": "amazon.titan-text-express-v1", "templateType": "TEXT", "inferenceConfiguration": { "text": { "temperature": 0.8 } }, "templateConfiguration": { "text": { "text": "Make me a {{genre}} playlist consisting of the following number of songs: {{number}}." } } } ] ) prompt_id = response.get("id")
  2. Führen Sie den folgenden Codeausschnitt aus, um die Aufforderung zu sehen, die Sie gerade erstellt haben (zusammen mit allen anderen Eingabeaufforderungen in Ihrem Konto), um einen Build-Time-Endpunkt für ListPromptsAgents for Amazon Bedrock zu erstellen:

    # List prompts that you've created client.list_prompts()
  3. Sie sollten die ID der von Ihnen erstellten Aufforderung im Feld im Objekt im id Feld sehen. promptSummaries Führen Sie den folgenden Codeausschnitt aus, um Informationen zu der Aufforderung anzuzeigen, die Sie erstellt haben, indem Sie einen Build-Time-Endpunkt für GetPromptAgents for Amazon Bedrock erstellt haben:

    # Get information about the prompt that you created client.get_prompt(promptIdentifier=prompt_id)
  4. Erstellen Sie eine Version der Aufforderung und rufen Sie ihre ID ab, indem Sie den folgenden Codeausschnitt ausführen, um einen Build-Time-Endpunkt für CreatePromptVersionAgents for Amazon Bedrock zu erstellen:

    # Create a version of the prompt that you created response = client.create_prompt_version(promptIdentifier=prompt_id) prompt_version = response.get("version") prompt_version_arn = response.get("arn")
  5. Zeigen Sie Informationen über die Prompt-Version, die Sie gerade erstellt haben, zusammen mit Informationen zur Entwurfsversion an, indem Sie den folgenden Codeausschnitt ausführen, um einen Build-Time-Endpunkt für ListPromptsAgents for Amazon Bedrock zu erstellen:

    # List versions of the prompt that you just created client.list_prompts(promptIdentifier=prompt_id)
  6. Zeigen Sie Informationen für die Prompt-Version an, die Sie gerade erstellt haben, indem Sie den folgenden Codeausschnitt ausführen, um einen Build-Time-Endpunkt für GetPromptAgents for Amazon Bedrock zu erstellen:

    # Get information about the prompt version that you created client.get_prompt( promptIdentifier=prompt_id, promptVersion=prompt_version )
  7. Testen Sie die Aufforderung, indem Sie sie zu einem Eingabeaufforderungsablauf hinzufügen, indem Sie die Schritte unter befolgen. Codebeispiele für Prompt Flows ausführen Führen Sie im ersten Schritt, wenn Sie den Flow erstellen, stattdessen den folgenden Codeausschnitt aus, um die von Ihnen erstellte Aufforderung zu verwenden, anstatt eine Inline-Eingabeaufforderung im Flow zu definieren (ersetzen Sie die Version ARN der Eingabeaufforderung im promptARN Feld durch die Version ARN der Aufforderung, die Sie erstellt haben):

    # Import Python SDK and create client import boto3 client = boto3.client(service_name='bedrock-agent') FLOWS_SERVICE_ROLE = "arn:aws:iam::123456789012:role/MyPromptFlowsRole" # Prompt flows service role that you created. For more information, see https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html PROMPT_ARN = prompt_version_arn # ARN of the prompt that you created, retrieved programatically during creation. # Define each node # The input node validates that the content of the InvokeFlow request is a JSON object. input_node = { "type": "Input", "name": "FlowInput", "outputs": [ { "name": "document", "type": "Object" } ] } # This prompt node contains a prompt that you defined in Prompt management. # It validates that the input is a JSON object that minimally contains the fields "genre" and "number", which it will map to the prompt variables. # The output must be named "modelCompletion" and be of the type "String". prompt_node = { "type": "Prompt", "name": "MakePlaylist", "configuration": { "prompt": { "sourceConfiguration": { "resource": { "promptArn": "" } } } }, "inputs": [ { "name": "genre", "type": "String", "expression": "$.data.genre" }, { "name": "number", "type": "Number", "expression": "$.data.number" } ], "outputs": [ { "name": "modelCompletion", "type": "String" } ] } # The output node validates that the output from the last node is a string and returns it as is. The name must be "document". output_node = { "type": "Output", "name": "FlowOutput", "inputs": [ { "name": "document", "type": "String", "expression": "$.data" } ] } # Create connections between the nodes connections = [] # First, create connections between the output of the flow input node and each input of the prompt node for input in prompt_node["inputs"]: connections.append( { "name": "_".join([input_node["name"], prompt_node["name"], input["name"]]), "source": input_node["name"], "target": prompt_node["name"], "type": "Data", "configuration": { "data": { "sourceOutput": input_node["outputs"][0]["name"], "targetInput": input["name"] } } } ) # Then, create a connection between the output of the prompt node and the input of the flow output node connections.append( { "name": "_".join([prompt_node["name"], output_node["name"]]), "source": prompt_node["name"], "target": output_node["name"], "type": "Data", "configuration": { "data": { "sourceOutput": prompt_node["outputs"][0]["name"], "targetInput": output_node["inputs"][0]["name"] } } } ) # Create the flow from the nodes and connections client.create_flow( name="FlowCreatePlaylist", description="A flow that creates a playlist given a genre and number of songs to include in the playlist.", executionRoleArn=FLOWS_SERVICE_ROLE, definition={ "nodes": [input_node, prompt_node, output_node], "connections": connections } )
  8. Löschen Sie die Prompt-Version, die Sie gerade erstellt haben, indem Sie den folgenden Codeausschnitt ausführen, um einen Build-Time-Endpunkt für DeletePromptAgents for Amazon Bedrock zu erstellen:

    # Delete the prompt version that you created client.delete_prompt( promptIdentifier=prompt_id, promptVersion=prompt_version )
  9. Löschen Sie die Aufforderung, die Sie gerade erstellt haben, vollständig, indem Sie den folgenden Codeausschnitt ausführen, um einen Build-Time-Endpunkt für DeletePromptAgents for Amazon Bedrock zu erstellen:

    # Delete the prompt that you created client.delete_prompt( promptIdentifier=prompt_id )