Menggunakan AgentCore Code Interpreter secara langsung
Bagian berikut menunjukkan kepada Anda cara menggunakan Amazon Bedrock AgentCore Code Interpreter secara langsung tanpa kerangka kerja agen. Ini sangat berguna ketika Anda ingin mengeksekusi cuplikan kode tertentu secara terprogram. Sebelum Anda membaca contoh di bagian ini, lihat Prasyarat.
Langkah 1: Pilih pendekatan Anda dan instal dependensi
Amazon Bedrock AgentCore menyediakan dua cara untuk berinteraksi dengan AgentCore Code Interpreter: menggunakan klien SDK tingkat tinggi atau menggunakan boto3 secara langsung.
-
SDK Client: bedrock_agentcore SDK menyediakan antarmuka yang disederhanakan yang menangani detail manajemen sesi. Gunakan pendekatan ini untuk sebagian besar aplikasi.
-
Klien Boto3: AWS SDK memberi Anda akses langsung ke operasi API AgentCore Code Interpreter. Gunakan pendekatan ini ketika Anda memerlukan kontrol halus atas konfigurasi sesi atau ingin mengintegrasikan dengan aplikasi berbasis boto3 yang ada.
Buat folder proyek (jika Anda tidak membuatnya sebelumnya) dan instal paket yang diperlukan:
mkdir agentcore-tools-quickstart
cd agentcore-tools-quickstart
python3 -m venv .venv
source .venv/bin/activate
Di Windows, gunakan: .venv\Scripts\activate
Instal paket yang diperlukan:
pip install bedrock-agentcore boto3
Paket-paket ini menyediakan:
-
bedrock-agentcore: SDK untuk Amazon Bedrock AgentCore tools termasuk AgentCore Code Interpreter
-
boto3: AWS SDK untuk Python (Boto3) SDK for Python (Boto3) untuk membuat, mengkonfigurasi, dan mengelola layanan AWS
Langkah 2: Jalankan kode
Pilih salah satu pendekatan berikut untuk mengeksekusi kode dengan AgentCore Code Interpreter:
Ganti <Region> dengan AWS Region Anda yang sebenarnya (misalnya, us-east-1 atauus-west-2).
contoh
- SDK Client
-
-
Buat file bernama direct_code_execution_sdk.py dan tambahkan kode berikut:
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()
Kode ini:
-
Membuat klien AgentCore Code Interpreter untuk wilayah Anda
-
Memulai sesi (diperlukan sebelum mengeksekusi kode)
-
Menjalankan kode Python dan mengalirkan hasilnya dengan detail acara lengkap
-
Menghentikan sesi untuk membersihkan sumber daya
Jalankan skrip
Jalankan perintah berikut:
python direct_code_execution_sdk.py
Output yang diharapkan
Anda akan melihat respons JSON yang berisi hasil eksekusi Hello World!!! dengan konten output.
- Boto3
-
-
Buat file bernama direct_code_execution_boto3.py dan tambahkan kode berikut:
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}")
Kode ini:
-
Membuat klien boto3 untuk layanan bedrock-agentcore
-
Memulai sesi AgentCore Code Interpreter dengan timeout 900 detik
-
Mengeksekusi kode Python menggunakan ID sesi
-
Mem-parsing respon streaming untuk mengekstrak output teks
-
Menghentikan sesi dengan benar untuk melepaskan sumber daya
Pendekatan boto3 membutuhkan manajemen sesi eksplisit. Anda harus menelepon start_code_interpreter_session sebelum mengeksekusi kode dan setelah stop_code_interpreter_session selesai.
Jalankan skrip
Jalankan perintah berikut:
python direct_code_execution_boto3.py
Output yang diharapkan
Anda akan melihat Hello World!!! dicetak sebagai hasil dari eksekusi kode, bersama dengan informasi ID sesi.