Usando o AgentCore Code Interpreter diretamente
As seções a seguir mostram como usar o Amazon Bedrock AgentCore Code Interpreter diretamente sem uma estrutura de agente. Isso é especialmente útil quando você deseja executar trechos de código específicos programaticamente. Antes de examinar os exemplos desta seção, consulte Pré-requisitos.
Etapa 1: escolha sua abordagem e instale dependências
O Amazon Bedrock AgentCore fornece duas maneiras de interagir com o AgentCore Code Interpreter: usando o cliente SDK de alto nível ou usando o boto3 diretamente.
-
Cliente SDK: O bedrock_agentcore SDK fornece uma interface simplificada que lida com os detalhes do gerenciamento da sessão. Use essa abordagem para a maioria dos aplicativos.
-
Cliente Boto3: o AWS SDK fornece acesso direto às operações da API do AgentCore Code Interpreter. Use essa abordagem quando precisar de um controle refinado sobre a configuração da sessão ou quiser se integrar aos aplicativos existentes baseados em boto3.
Crie uma pasta de projeto (se você não criou uma antes) e instale os pacotes necessários:
mkdir agentcore-tools-quickstart
cd agentcore-tools-quickstart
python3 -m venv .venv
source .venv/bin/activate
No Windows, use: .venv\Scripts\activate
Instale os pacotes obrigatórios:
pip install bedrock-agentcore boto3
Esses pacotes fornecem:
-
bedrock-agentcore: O SDK para as AgentCore ferramentas Amazon Bedrock, incluindo AgentCore o Code Interpreter
-
boto3: AWS SDK para Python (Boto3) para criar, configurar e gerenciar serviços AWS
Etapa 2: Executar código
Escolha uma das seguintes abordagens para executar AgentCore código com o Code Interpreter:
<Region>Substitua pela sua AWS região real (por exemplo, us-east-1 ouus-west-2).
exemplo
- SDK Client
-
-
Crie um arquivo chamado direct_code_execution_sdk.py e adicione o seguinte código:
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()
Esse código:
-
Cria um cliente AgentCore Code Interpreter para sua região
-
Inicia uma sessão (necessária antes da execução do código)
-
Executa o código Python e transmite os resultados com detalhes completos do evento
-
Interrompe a sessão para limpar recursos
Execute o script
Execute o seguinte comando:
python direct_code_execution_sdk.py
Saída esperada
Você deve ver uma resposta JSON contendo o resultado da execução Hello World!!! no conteúdo de saída.
- Boto3
-
-
Crie um arquivo chamado direct_code_execution_boto3.py e adicione o seguinte código:
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}")
Esse código:
-
Cria um cliente boto3 para o serviço bedrock-agentcore
-
Inicia uma sessão AgentCore do Code Interpreter com um tempo limite de 900 segundos
-
Executa o código Python usando o ID da sessão
-
Analisa a resposta de streaming para extrair a saída de texto
-
Interrompe adequadamente a sessão para liberar recursos
A abordagem boto3 requer gerenciamento explícito da sessão. Você deve ligar start_code_interpreter_session antes de executar o código e stop_code_interpreter_session quando terminar.
Execute o script
Execute o seguinte comando:
python direct_code_execution_boto3.py
Saída esperada
Você deve ver Hello World!!! impresso como resultado da execução do código, junto com as informações do ID da sessão.