View a markdown version of this page

Direktes Verwenden des AgentCore Code Interpreters - Amazon Grundgestein AgentCore

Direktes Verwenden des AgentCore Code Interpreters

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.

Schritt 1: Wählen Sie Ihren Ansatz und installieren Sie Abhängigkeiten

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

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 oderus-west-2).

Beispiel
SDK Client
  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.

Boto3
  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.