View a markdown version of this page

Utilisation directe de l'interpréteur de AgentCore code - Amazon Bedrock AgentCore

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 :

Note

Remplacez <Region> par votre AWS région actuelle (par exemple, us-east-1 ouus-west-2).

Exemple
SDK Client
  1. 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
  1. 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.