

# Direktes Verwenden des AgentCore Code Interpreters
<a name="code-interpreter-using-directly"></a>

In den folgenden Abschnitten erfahren Sie, wie Sie den Amazon Bedrock AgentCore Code Interpreter direkt ohne Agenten-Framework verwenden können. Dies ist besonders nützlich, wenn Sie bestimmte Codefragmente programmgesteuert ausführen möchten. [Bevor Sie die Beispiele in diesem Abschnitt durchgehen, finden Sie weitere Informationen unter Voraussetzungen.](code-interpreter-getting-started.md#code-interpreter-prerequisites)

**Topics**
+ [Schritt 1: Wählen Sie Ihren Ansatz und installieren Sie Abhängigkeiten](#code-interpreter-direct-install)
+ [Schritt 2: Code ausführen](#code-interpreter-direct-execute)

## Schritt 1: Wählen Sie Ihren Ansatz und installieren Sie Abhängigkeiten
<a name="code-interpreter-direct-install"></a>

Amazon Bedrock AgentCore bietet zwei Möglichkeiten, mit AgentCore Code Interpreter zu interagieren: über den High-Level-SDK-Client oder direkt über boto3.
+  **SDK-Client**: Das `bedrock_agentcore` SDK bietet eine vereinfachte Oberfläche, die Details zur Sitzungsverwaltung verwaltet. Verwenden Sie diesen Ansatz für die meisten Anwendungen.
+  **Boto3-Client**: Das AWS SDK bietet Ihnen direkten Zugriff auf die AgentCore Code-Interpreter-API-Operationen. Verwenden Sie diesen Ansatz, wenn Sie eine detaillierte Kontrolle über die Sitzungskonfiguration benötigen oder eine Integration in bestehende Boto3-basierte Anwendungen vornehmen möchten.

Erstellen Sie einen Projektordner (falls Sie noch keinen erstellt haben) und installieren Sie die erforderlichen Pakete:

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

Verwenden Sie unter Windows: `.venv\Scripts\activate` 

Installieren Sie die erforderlichen Pakete:

```
pip install bedrock-agentcore boto3
```

Diese Pakete bieten:
+  `bedrock-agentcore`: Das SDK für Amazon AgentCore Bedrock-Tools, einschließlich AgentCore Code Interpreter
+  `boto3`: AWS SDK for Python (Boto3) zum Erstellen, Konfigurieren und Verwalten von Diensten AWS 

## Schritt 2: Code ausführen
<a name="code-interpreter-direct-execute"></a>

Wählen Sie einen der folgenden Ansätze, um Code mit dem AgentCore Codeinterpreter auszuführen:

**Anmerkung**  
`<Region>`Ersetzen Sie es durch Ihre tatsächliche AWS Region (z. B. `us-east-1` oder`us-west-2`).

**Example**  

1. Erstellen Sie eine Datei mit dem Namen `direct_code_execution_sdk.py` und fügen Sie den folgenden Code hinzu:

   ```
   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()
   ```

   Dieser Code:
   + Erstellt einen AgentCore Code Interpreter-Client für Ihre Region
   + Startet eine Sitzung (erforderlich, bevor Code ausgeführt wird)
   + Führt Python-Code aus und streamt die Ergebnisse mit vollständigen Ereignisdetails
   + Stoppt die Sitzung, um Ressourcen zu bereinigen

      **Führen Sie das Skript aus** 

     Führen Sie den folgenden -Befehl aus:

     ```
     python direct_code_execution_sdk.py
     ```

      **Erwartete Ausgabe** 

     Sie sollten eine JSON-Antwort sehen, die das Ausführungsergebnis `Hello World!!!` im Ausgabeinhalt enthält.

1. Erstellen Sie eine Datei mit dem Namen `direct_code_execution_boto3.py` und fügen Sie den folgenden Code hinzu:

   ```
   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}")
   ```

   Dieser Code:
   + Erzeugt einen Boto3-Client für den Bedrock-AgentCore-Dienst
   + Startet eine AgentCore Code-Interpreter-Sitzung mit einem Timeout von 900 Sekunden
   + Führt Python-Code mit der Sitzungs-ID aus
   + Analysiert die Streaming-Antwort, um die Textausgabe zu extrahieren
   + Stoppt die Sitzung ordnungsgemäß, um Ressourcen freizugeben

     Der Boto3-Ansatz erfordert eine explizite Sitzungsverwaltung. Sie müssen aufrufen, `start_code_interpreter_session` bevor Sie den Code ausführen und `stop_code_interpreter_session` wenn der Vorgang abgeschlossen ist.

      **Führen Sie das Skript aus** 

     Führen Sie den folgenden -Befehl aus:

     ```
     python direct_code_execution_boto3.py
     ```

      **Erwartete Ausgabe** 

     Das Ergebnis der Codeausführung sollte zusammen mit den Informationen zur Sitzungs-ID `Hello World!!!` gedruckt werden.