

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.

# Ausführen von Codebeispielen für das Prompt-Management
<a name="prompt-management-code-ex"></a>

Um einige Codebeispiele für die Prompt-Verwaltung auszuprobieren, wählen Sie die Registerkarte für Ihre bevorzugte Methode und folgen Sie dann den Schritten: Bei den folgenden Codebeispielen wird davon ausgegangen, dass Sie Ihre Anmeldeinformationen für die Verwendung der AWS API eingerichtet haben. Falls noch nicht geschehen, finden Sie weitere Informationen unter [Erste Schritte mit der API](getting-started-api.md).

------
#### [ Python ]

1. Führen Sie den folgenden Codeausschnitt aus, um den zu laden AWS SDK für Python (Boto3), einen Client zu erstellen und eine Aufforderung zu erstellen, die mithilfe von zwei Variablen (`genre`und`number`) eine Musik-Playlist erstellt, indem Sie einen Build-Time-Endpunkt [für [CreatePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreatePrompt.html)Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) erstellen:

   ```
   # Create a prompt in Prompt management
   import boto3
   
   # Create an Amazon Bedrock Agents 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")
   ```

1. 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 [ListPrompts](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListPrompts.html)Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) zu erstellen:

   ```
   # List prompts that you've created
   client.list_prompts()
   ```

1. Sie sollten die ID des Prompts, den Sie im Feld `id` erstellt haben, im Objekt des Felds `promptSummaries` sehen. 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 [GetPrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetPrompt.html)Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) erstellt haben:

   ```
   # Get information about the prompt that you created
   client.get_prompt(promptIdentifier=prompt_id)
   ```

1. 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 [CreatePromptVersion](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreatePromptVersion.html)Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) 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")
   ```

1. 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 [ListPrompts](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListPrompts.html)Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) zu erstellen:

   ```
   # List versions of the prompt that you just created
   client.list_prompts(promptIdentifier=prompt_id)
   ```

1. 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 [GetPrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetPrompt.html)Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) zu erstellen:

   ```
   # Get information about the prompt version that you created
   client.get_prompt(
       promptIdentifier=prompt_id, 
       promptVersion=prompt_version
   )
   ```

1. Testen Sie den Prompt, indem Sie ihn einem Flow hinzufügen. Folgen Sie dazu den Schritten unter [Codebeispiele von Amazon Bedrock Flows ausführen](flows-code-ex.md). Führen Sie bei der Flow-Erstellung im ersten Schritt den folgenden Codeausschnitt aus, um den Prompt zu verwenden, den Sie erstellt haben, anstatt einen Inline-Prompt im Flow zu definieren (ersetzen Sie den ARN der Prompt-Version im Feld `promptARN` durch den ARN der Version des Prompts, 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" # 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
       }
   )
   ```

1. 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 [DeletePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeletePrompt.html)Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) zu erstellen:

   ```
   # Delete the prompt version that you created
   client.delete_prompt(
       promptIdentifier=prompt_id, 
       promptVersion=prompt_version
   )
   ```

1. 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 [DeletePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeletePrompt.html)Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) zu erstellen:

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

------

## Rufen Sie eine verwaltete Aufforderung auf
<a name="prompt-management-invoke-ex"></a>

[Nachdem Sie eine Aufforderung erstellt und versioniert haben, können Sie sie mithilfe der Converse-API aufrufen, um daraus Rückschlüsse zu ziehen.](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) Geben Sie den Prompt-ARN als an `modelId` und geben Sie Werte für alle Prompt-Variablen im `promptVariables` Feld an.

```
import boto3, json

bedrock_runtime = boto3.client(service_name="bedrock-runtime", region_name="us-east-1")

# Use the prompt ARN (with version) as the modelId
prompt_arn = "arn:aws:bedrock:us-east-1:123456789012:prompt/PROMPT_ID:VERSION"

response = bedrock_runtime.converse(
    modelId=prompt_arn,
    promptVariables={
        "genre": {"text": "jazz"},
        "number": {"text": "5"}
    }
)

# Print the response
print(response["output"]["message"]["content"][0]["text"])
```

**Anmerkung**  
Wenn Sie eine verwaltete Aufforderung aufrufen, müssen Sie keine `system` Felder angeben `messages` — diese sind in der Eingabeaufforderungsvorlage definiert. Sie müssen nur Werte für die in der Eingabeaufforderung definierten Variablen angeben.