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:
<Region>Sustitúyala por tu AWS región actual (por ejemplo, us-east-1 ous-west-2).
ejemplo
- SDK Client
-
-
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
-
-
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.