View a markdown version of this page

Utilizzo diretto di AgentCore Code Interpreter - Amazon Bedrock AgentCore

Utilizzo diretto di AgentCore Code Interpreter

Le seguenti sezioni mostrano come utilizzare Amazon Bedrock AgentCore Code Interpreter direttamente senza un framework di agenti. Ciò è particolarmente utile quando desideri eseguire frammenti di codice specifici a livello di codice a livello di codice. Prima di esaminare gli esempi in questa sezione, consultate Prerequisiti.

Passaggio 1: scegli il tuo approccio e installa le dipendenze

Amazon Bedrock AgentCore offre due modi per interagire con AgentCore Code Interpreter: utilizzando il client SDK di alto livello o utilizzando direttamente boto3.

  • Client SDK: l'bedrock_agentcoreSDK fornisce un'interfaccia semplificata che gestisce i dettagli della gestione delle sessioni. Utilizzate questo approccio per la maggior parte delle applicazioni.

  • Client Boto3: l' AWS SDK ti dà accesso diretto alle operazioni dell'API AgentCore Code Interpreter. Utilizzate questo approccio quando avete bisogno di un controllo preciso sulla configurazione della sessione o desiderate integrarvi con le applicazioni esistenti basate su boto3.

Crea una cartella di progetto (se non ne hai creata una prima) e installa i pacchetti richiesti:

mkdir agentcore-tools-quickstart cd agentcore-tools-quickstart python3 -m venv .venv source .venv/bin/activate

In Windows, usa: .venv\Scripts\activate

Installa i pacchetti richiesti:

pip install bedrock-agentcore boto3

Questi pacchetti forniscono:

  • bedrock-agentcore: L'SDK per gli AgentCore strumenti Amazon Bedrock, incluso AgentCore Code Interpreter

  • boto3: AWS SDK for Python (Boto3) per creare, configurare e gestire servizi AWS

Fase 2: Esecuzione del codice

Scegliete uno dei seguenti approcci per eseguire il AgentCore codice con Code Interpreter:

Nota

Sostituisci <Region> con la tua AWS regione attuale (ad esempio, us-east-1 ous-west-2).

Esempio
SDK Client
  1. Crea un file denominato direct_code_execution_sdk.py e aggiungi il codice seguente:

    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()

    Questo codice:

    • Crea un client AgentCore Code Interpreter per la tua regione

    • Avvia una sessione (richiesta prima di eseguire il codice)

    • Esegue il codice Python e trasmette i risultati con i dettagli completi dell'evento

    • Interrompe la sessione per ripulire le risorse

      Esegui lo script

      Eseguire il comando seguente:

      python direct_code_execution_sdk.py

      Output previsto

      Dovresti vedere una risposta JSON contenente il risultato dell'esecuzione Hello World!!! nel contenuto di output.

Boto3
  1. Crea un file denominato direct_code_execution_boto3.py e aggiungi il seguente codice:

    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}")

    Questo codice:

    • Crea un client boto3 per il servizio bedrock-agentcore

    • Avvia una sessione di Code Interpreter con un timeout di 900 secondi AgentCore

    • Esegue il codice Python utilizzando l'ID di sessione

    • Analizza la risposta in streaming per estrarre l'output di testo

    • Interrompe correttamente la sessione per rilasciare risorse

      L'approccio boto3 richiede una gestione esplicita della sessione. È necessario chiamare start_code_interpreter_session prima di eseguire il codice e stop_code_interpreter_session al termine.

      Esegui lo script

      Eseguire il comando seguente:

      python direct_code_execution_boto3.py

      Output previsto

      Dovresti vedere Hello World!!! stampato il risultato dell'esecuzione del codice, insieme alle informazioni sull'ID della sessione.