View a markdown version of this page

Usando o AgentCore Code Interpreter diretamente - Amazon Bedrock AgentCore

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:

nota

<Region>Substitua pela sua AWS região real (por exemplo, us-east-1 ouus-west-2).

exemplo
SDK Client
  1. 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
  1. 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.