Exemples de code de gestion Exécuter Prompt - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples de code de gestion Exécuter Prompt

Note

La gestion rapide est en cours de prévisualisation et est sujette à modification.

Pour tester quelques exemples de code pour la gestion rapide, sélectionnez l'onglet correspondant à la méthode de votre choix et suivez les étapes : Les exemples de code suivants supposent que vous avez configuré vos informations d'identification pour utiliser le AWS API. Si ce n'est pas le cas, reportez-vous àCommencer à utiliser l' AWS API.

Python
  1. Exécutez l'extrait de code suivant pour charger AWS SDK for Python (Boto3), créer un client et créer une invite qui crée une playlist musicale à l'aide de deux variables (genreetnumber) en créant un point de terminaison CreatePromptAgents for Amazon Bedrock au moment de la création :

    # 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")
  2. Exécutez l'extrait de code suivant pour voir l'invite que vous venez de créer (ainsi que toute autre invite de votre compte) pour créer un point de terminaison Agents ListPromptsfor Amazon Bedrock au moment de la création :

    # List prompts that you've created client.list_prompts()
  3. Vous devriez voir l'ID de l'invite que vous avez créée dans le id champ dans l'objet du promptSummaries champ. Exécutez l'extrait de code suivant pour afficher les informations relatives à l'invite que vous avez créée en créant un point de terminaison GetPromptAgents for Amazon Bedrock au moment de la création :

    # Get information about the prompt that you created client.get_prompt(promptIdentifier=prompt_id)
  4. Créez une version de l'invite et obtenez son identifiant en exécutant l'extrait de code suivant pour créer un point de terminaison CreatePromptVersionAgents for Amazon Bedrock au moment de la création :

    # 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. Consultez les informations relatives à la version instantanée que vous venez de créer, ainsi que les informations relatives à la version préliminaire, en exécutant l'extrait de code suivant pour créer un point de terminaison ListPromptsAgents for Amazon Bedrock au moment de la création :

    # List versions of the prompt that you just created client.list_prompts(promptIdentifier=prompt_id)
  6. Consultez les informations relatives à la version instantanée que vous venez de créer en exécutant l'extrait de code suivant pour créer un point de terminaison GetPromptAgents for Amazon Bedrock au moment de la création :

    # Get information about the prompt version that you created client.get_prompt( promptIdentifier=prompt_id, promptVersion=prompt_version )
  7. Testez l'invite en l'ajoutant à un flux d'invite en suivant les étapes décrites dansExécutez des exemples de code Amazon Bedrock Prompt Flows. Lors de la première étape, lorsque vous créez le flux, exécutez plutôt l'extrait de code suivant pour utiliser l'invite que vous avez créée au lieu de définir une invite intégrée dans le flux (remplacez la version ARN de l'invite dans le promptARN champ par la version ARN de l'invite que vous avez créée) :

    # 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. Supprimez la version d'invite que vous venez de créer en exécutant l'extrait de code suivant pour créer un point de terminaison DeletePromptAgents for Amazon Bedrock au moment de la création :

    # Delete the prompt version that you created client.delete_prompt( promptIdentifier=prompt_id, promptVersion=prompt_version )
  9. Supprimez complètement l'invite que vous venez de créer en exécutant l'extrait de code suivant pour créer un point de terminaison DeletePromptAgents for Amazon Bedrock au moment de la création :

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