View a markdown version of this page

세션에 파일 쓰기 - Amazon Bedrock AgentCore

세션에 파일 쓰기

Code Interpreter를 사용하여 샌드박스 환경에서 파일을 읽고 쓸 수 있습니다. 이렇게 하면 데이터 파일을 업로드하고, 코드로 처리하고, 결과를 검색할 수 있습니다.

종속성 설치

다음 명령을 실행하여 필요한 패키지를 설치합니다.

pip install bedrock-agentcore

파일 도구를 사용하여 코드 및 데이터 업로드

다음 Python 코드는 Code Interpreter 세션에 파일을 업로드하고 해당 파일을 처리하는 코드를 실행하는 방법을 보여줍니다. 필요한 파일은 data.csv 이며 이 패키지에서 stats.py 사용할 수 있습니다.

# file_mgmt_ci_agent.py from bedrock_agentcore.tools.code_interpreter_client import CodeInterpreter import json from typing import Dict, Any, List #Configure and Start the code interpreter session code_client = CodeInterpreter('<Region>') code_client.start() #read the content of the sample data file data_file = "data.csv" try: with open(data_file, 'r', encoding='utf-8') as data_file_content: data_file_content = data_file_content.read() #print(data_file_content) except FileNotFoundError: print(f"Error: The file '{data_file}' was not found.") except Exception as e: print(f"An error occurred: {e}") #read the content of the python script to analyze the sample file code_file = "stats.py" try: with open(code_file, 'r', encoding='utf-8') as code_file_content: code_file_content = code_file_content.read() #print(code_file_content) except FileNotFoundError: print(f"Error: The file '{code_file}' was not found.") except Exception as e: print(f"An error occurred: {e}") files_to_create = [ { "path": "data.csv", "text": data_file_content }, { "path": "stats.py", "text": code_file_content }] #define the method to call the invoke API def call_tool(tool_name: str, arguments: Dict[str, Any]) -> Dict[str, Any]: response = code_client.invoke(tool_name, arguments) for event in response["stream"]: return json.dumps(event["result"], indent=2) #write the sample data and analysis script into the code interpreter session writing_files = call_tool("writeFiles", {"content": files_to_create}) print(f"writing files: {writing_files}") #List and validate that the files were written successfully listing_files = call_tool("listFiles", {"path": ""}) print(f"listing files: {listing_files}") #Run the python script to analyze the sample data file execute_code = call_tool("executeCode", { "code": files_to_create[1]['text'], "language": "python", "clearContext": True}) print(f"code execution result: {execute_code}") #Clean up and stop the code interpreter session code_client.stop()