Utilizzo diretto di AgentCore Code Interpreter
Le seguenti sezioni mostrano come utilizzare Amazon Bedrock AgentCore Code Interpreter direttamente senza un framework di agenti. Ciò è particolarmente utile quando desideri eseguire frammenti di codice specifici a livello di codice a livello di codice. Prima di esaminare gli esempi in questa sezione, consultate Prerequisiti.
Passaggio 1: scegli il tuo approccio e installa le dipendenze
Amazon Bedrock AgentCore offre due modi per interagire con AgentCore Code Interpreter: utilizzando il client SDK di alto livello o utilizzando direttamente boto3.
-
Client SDK: l'bedrock_agentcoreSDK fornisce un'interfaccia semplificata che gestisce i dettagli della gestione delle sessioni. Utilizzate questo approccio per la maggior parte delle applicazioni.
-
Client Boto3: l' AWS SDK ti dà accesso diretto alle operazioni dell'API AgentCore Code Interpreter. Utilizzate questo approccio quando avete bisogno di un controllo preciso sulla configurazione della sessione o desiderate integrarvi con le applicazioni esistenti basate su boto3.
Crea una cartella di progetto (se non ne hai creata una prima) e installa i pacchetti richiesti:
mkdir agentcore-tools-quickstart
cd agentcore-tools-quickstart
python3 -m venv .venv
source .venv/bin/activate
In Windows, usa: .venv\Scripts\activate
Installa i pacchetti richiesti:
pip install bedrock-agentcore boto3
Questi pacchetti forniscono:
-
bedrock-agentcore: L'SDK per gli AgentCore strumenti Amazon Bedrock, incluso AgentCore Code Interpreter
-
boto3: AWS SDK for Python (Boto3) per creare, configurare e gestire servizi AWS
Fase 2: Esecuzione del codice
Scegliete uno dei seguenti approcci per eseguire il AgentCore codice con Code Interpreter:
Sostituisci <Region> con la tua AWS regione attuale (ad esempio, us-east-1 ous-west-2).
Esempio
- SDK Client
-
-
Crea un file denominato direct_code_execution_sdk.py e aggiungi il codice seguente:
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()
Questo codice:
-
Crea un client AgentCore Code Interpreter per la tua regione
-
Avvia una sessione (richiesta prima di eseguire il codice)
-
Esegue il codice Python e trasmette i risultati con i dettagli completi dell'evento
-
Interrompe la sessione per ripulire le risorse
Esegui lo script
Eseguire il comando seguente:
python direct_code_execution_sdk.py
Output previsto
Dovresti vedere una risposta JSON contenente il risultato dell'esecuzione Hello World!!! nel contenuto di output.
- Boto3
-
-
Crea un file denominato direct_code_execution_boto3.py e aggiungi il seguente codice:
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}")
Questo codice:
-
Crea un client boto3 per il servizio bedrock-agentcore
-
Avvia una sessione di Code Interpreter con un timeout di 900 secondi AgentCore
-
Esegue il codice Python utilizzando l'ID di sessione
-
Analizza la risposta in streaming per estrarre l'output di testo
-
Interrompe correttamente la sessione per rilasciare risorse
L'approccio boto3 richiede una gestione esplicita della sessione. È necessario chiamare start_code_interpreter_session prima di eseguire il codice e stop_code_interpreter_session al termine.
Esegui lo script
Eseguire il comando seguente:
python direct_code_execution_boto3.py
Output previsto
Dovresti vedere Hello World!!! stampato il risultato dell'esecuzione del codice, insieme alle informazioni sull'ID della sessione.