Utilisation directe de l'interpréteur de AgentCore code
Les sections suivantes expliquent comment utiliser l'interpréteur de AgentCore code Amazon Bedrock directement sans infrastructure d'agent. Cela est particulièrement utile lorsque vous souhaitez exécuter des extraits de code spécifiques par programmation. Avant de passer en revue les exemples de cette section, consultez la section Conditions préalables.
Étape 1 : Choisissez votre approche et installez les dépendances
Amazon Bedrock AgentCore propose deux manières d'interagir avec l'interpréteur de AgentCore code : en utilisant le client SDK de haut niveau ou en utilisant directement boto3.
-
Client SDK : le bedrock_agentcore SDK fournit une interface simplifiée qui gère les détails de gestion des sessions. Utilisez cette approche pour la plupart des applications.
-
Client Boto3 : le AWS SDK vous donne un accès direct aux opérations de l'API AgentCore Code Interpreter. Utilisez cette approche lorsque vous avez besoin d'un contrôle précis de la configuration des sessions ou que vous souhaitez intégrer des applications basées sur le boto3 existantes.
Créez un dossier de projet (si vous n'en avez pas créé un auparavant) et installez les packages requis :
mkdir agentcore-tools-quickstart
cd agentcore-tools-quickstart
python3 -m venv .venv
source .venv/bin/activate
Sous Windows, utilisez : .venv\Scripts\activate
Installez les packages requis :
pip install bedrock-agentcore boto3
Ces packages fournissent :
-
bedrock-agentcore: Le SDK pour les AgentCore outils Amazon Bedrock, y compris AgentCore l'interpréteur de code
-
boto3: AWS SDK pour Python (Boto3) pour créer, configurer et gérer des services AWS
Étape 2 : Exécuter le code
Choisissez l'une des approches suivantes pour exécuter du code avec l'interpréteur de AgentCore code :
Remplacez <Region> par votre AWS région actuelle (par exemple, us-east-1 ouus-west-2).
Exemple
- SDK Client
-
-
Créez un fichier nommé direct_code_execution_sdk.py et ajoutez le code suivant :
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()
Ce code :
-
Crée un client d'interprétation de AgentCore code pour votre région
-
Démarre une session (obligatoire avant d'exécuter le code)
-
Exécute le code Python et diffuse les résultats avec tous les détails de l'événement
-
Arrête la session pour nettoyer les ressources
Exécutez le script
Exécutez la commande suivante :
python direct_code_execution_sdk.py
Résultat attendu
Vous devriez voir une réponse JSON contenant le résultat de l'exécution Hello World!!! dans le contenu de sortie.
- Boto3
-
-
Créez un fichier nommé direct_code_execution_boto3.py et ajoutez le code suivant :
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}")
Ce code :
-
Crée un client boto3 pour le service bedrock-agentcore
-
Démarre une session d'interpréteur de AgentCore code avec un délai d'attente de 900 secondes
-
Exécute le code Python à l'aide de l'ID de session
-
Analyse la réponse de streaming pour extraire le texte de sortie
-
Arrête correctement la session pour libérer des ressources
L'approche boto3 nécessite une gestion de session explicite. Vous devez appeler start_code_interpreter_session avant d'exécuter le code et stop_code_interpreter_session lorsque vous avez terminé.
Exécutez le script
Exécutez la commande suivante :
python direct_code_execution_boto3.py
Résultat attendu
Vous devriez être Hello World!!! imprimé à la suite de l'exécution du code, avec les informations d'identification de session.