Ejecución de ejemplos de código de administración de peticiones - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejecución de ejemplos de código de administración de peticiones

Para probar algunos ejemplos de código de Administración de peticiones, seleccione la pestaña correspondiente al método que prefiera y siga los pasos: en los siguientes ejemplos de código se parte de la base de que ha configurado las credenciales para usar la API de AWS. Si no lo ha hecho, consulte Introducción a la API.

Python
  1. Ejecute el siguiente fragmento de código para cargar el AWS SDK para Python (Boto3), cree un cliente y una petición que genere una lista de reproducción de música con dos variables (genre y number) con una solicitud CreatePrompt de punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock:

    # 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. Ejecute el siguiente fragmento de código para ver la petición que acaba de crear (junto con cualquier otra petición de su cuenta) para realizar una solicitud ListPrompts al punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock:

    # List prompts that you've created client.list_prompts()
  3. Debería ver el ID de la petición que ha creado en el campo id del objeto en el campo promptSummaries. Ejecute el siguiente fragmento de código para mostrar la información de la solicitud que ha creado al realizar una solicitud GetPrompt del punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock:

    # Get information about the prompt that you created client.get_prompt(promptIdentifier=prompt_id)
  4. Cree una versión de la petición y obtenga su ID ejecutando el siguiente fragmento de código para realizar una solicitud CreatePromptVersion de punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock:

    # 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. Para ver la información sobre la versión de la petición que acaba de crear, junto con la información sobre la versión de borrador, ejecute el siguiente fragmento de código para crear una solicitud ListPrompts de punto de conexión en tiempo de compilación para Agentes para Amazon Bedrock:

    # List versions of the prompt that you just created client.list_prompts(promptIdentifier=prompt_id)
  6. Para ver la información de la versión de la petición que acaba de crear, ejecute el siguiente fragmento de código para realizar una solicitud GetPrompt del punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock:

    # Get information about the prompt version that you created client.get_prompt( promptIdentifier=prompt_id, promptVersion=prompt_version )
  7. Para probar la petición, añádala a un flujo siguiendo los pasos que se indican en Ejecución de ejemplos de código de Flujos de Amazon Bedrock. En el primer paso al crear el flujo, ejecute el siguiente fragmento de código para utilizar la petición que ha creado en lugar de definir una petición en línea en el flujo (sustituya el ARN de la versión de la petición en el campo promptARN por el ARN de la versión de la petición que ha creado):

    # 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 } )
  8. Para eliminar la versión de la petición que acaba de crear, ejecute el siguiente fragmento de código para realizar una solicitud DeletePrompt del punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock:

    # Delete the prompt version that you created client.delete_prompt( promptIdentifier=prompt_id, promptVersion=prompt_version )
  9. Para eliminar por completo la petición que acaba de crear, ejecute el siguiente fragmento de código para realizar una solicitud DeletePrompt al punto de conexión en tiempo de compilación de Agentes para Amazon Bedrock:

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