View a markdown version of this page

Uso directo AgentCore de Code Interpreter - Amazon Bedrock AgentCore

Uso directo AgentCore de Code Interpreter

En las siguientes secciones, se muestra cómo utilizar el intérprete de AgentCore código Amazon Bedrock directamente sin un marco de agente. Esto resulta especialmente útil cuando desea ejecutar fragmentos de código específicos mediante programación. Antes de seguir los ejemplos de esta sección, consulte Requisitos previos.

Paso 1: Elija su enfoque e instale las dependencias

Amazon Bedrock AgentCore ofrece dos formas de interactuar con AgentCore Code Interpreter: mediante el cliente SDK de alto nivel o directamente con boto3.

  • Cliente del SDK: el bedrock_agentcore SDK proporciona una interfaz simplificada que gestiona los detalles de la administración de las sesiones. Utilice este enfoque para la mayoría de las aplicaciones.

  • Cliente Boto3: el AWS SDK le brinda acceso directo a las operaciones de la API AgentCore Code Interpreter. Utilice este enfoque cuando necesite un control detallado sobre la configuración de la sesión o desee integrarlo con las aplicaciones existentes basadas en boto3.

Cree una carpeta de proyecto (si no la ha creado antes) e instale los paquetes necesarios:

mkdir agentcore-tools-quickstart cd agentcore-tools-quickstart python3 -m venv .venv source .venv/bin/activate

En Windows, utilice: .venv\Scripts\activate

Instale los paquetes obligatorios:

pip install bedrock-agentcore boto3

Estos paquetes proporcionan:

  • bedrock-agentcore: El SDK para las AgentCore herramientas de Amazon Bedrock, incluido AgentCore Code Interpreter

  • boto3: AWS SDK para Python (Boto3) para crear, configurar y administrar servicios AWS

Paso 2: Ejecuta el código

Elija uno de los siguientes enfoques para ejecutar AgentCore código con Code Interpreter:

nota

<Region>Sustitúyala por tu AWS región actual (por ejemplo, us-east-1 ous-west-2).

ejemplo
SDK Client
  1. Cree un archivo con el nombre direct_code_execution_sdk.py y añada el siguiente código:

    from bedrock_agentcore.tools.code_interpreter_client import CodeInterpreter import json # Initialize the Code Interpreter client for your region code_client = CodeInterpreter('<Region>') # Start a Code Interpreter session code_client.start() try: # Execute Python code response = code_client.invoke("executeCode", { "language": "python", "code": 'print("Hello World!!!")' }) # Process and print the response for event in response["stream"]: print(json.dumps(event["result"], indent=2)) finally: # Always clean up the session code_client.stop()

    Este código:

    • Crea un cliente AgentCore de interpretación de código para su región

    • Inicia una sesión (necesaria antes de ejecutar el código)

    • Ejecuta el código Python y transmite los resultados con todos los detalles del evento

    • Detiene la sesión para limpiar los recursos

      Ejecute el script

      Ejecute el siguiente comando :

      python direct_code_execution_sdk.py

      Resultado esperado

      Debería ver una respuesta JSON que contenga el resultado de la ejecución Hello World!!! en el contenido de la salida.

Boto3
  1. Crea un archivo con el nombre direct_code_execution_boto3.py y añade el siguiente código:

    import boto3 import json # Code to execute code_to_execute = """ print("Hello World!!!") """ # Initialize the bedrock-agentcore client client = boto3.client( "bedrock-agentcore", region_name="<Region>" ) # Start a Code Interpreter session session_response = client.start_code_interpreter_session( codeInterpreterIdentifier="aws.codeinterpreter.v1", name="my-code-session", sessionTimeoutSeconds=900 ) session_id = session_response["sessionId"] print(f"Started session: {session_id}\n\n") try: # Execute code in the session execute_response = client.invoke_code_interpreter( codeInterpreterIdentifier="aws.codeinterpreter.v1", sessionId=session_id, name="executeCode", arguments={ "language": "python", "code": code_to_execute } ) # Extract and print the text output from the stream for event in execute_response['stream']: if 'result' in event: result = event['result'] if 'content' in result: for content_item in result['content']: if content_item['type'] == 'text': print(content_item['text']) finally: # Stop the session when done client.stop_code_interpreter_session( codeInterpreterIdentifier="aws.codeinterpreter.v1", sessionId=session_id ) print(f"\n\nStopped session: {session_id}")

    Este código:

    • Crea un cliente boto3 para el servicio bedrock-agentcore

    • Inicia una sesión de intérprete de código con un tiempo de espera de 900 segundos AgentCore

    • Ejecuta el código Python usando el ID de sesión

    • Analiza la respuesta de transmisión para extraer el texto resultante

    • Detiene correctamente la sesión para liberar recursos

      El enfoque boto3 requiere una gestión de sesiones explícita. Debe llamar start_code_interpreter_session antes de ejecutar el código y stop_code_interpreter_session cuando haya terminado.

      Ejecute el script

      Ejecute el siguiente comando :

      python direct_code_execution_boto3.py

      Resultado esperado

      Debería aparecer Hello World!!! impreso como resultado de la ejecución del código, junto con la información del identificador de sesión.