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:
<Region>Ersetzen Sie es durch Ihre tatsächliche AWS Region (z. B. us-east-1 oderus-west-2).
Beispiel
- SDK Client
-
-
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
-
-
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.