from autogen import ConversableAgent, AssistantAgent from autogen.coding import LocalCommandLineCodeExecutor import base64, markdown, os #from IPython.display import Image def read_image_file(image_file_path: str) -> str: """ Read a PNG image file from the local filesystem and encode it as a base64 string. Args: image_file_path (str): The local file path of the image. Returns: str: The base64-encoded image data. """ with open(image_file_path, "rb") as image_file: image_data = image_file.read() return base64.b64encode(image_data).decode("utf-8") def generate_markdown_code(image_data: str) -> str: """ Generate the markdown code to render an image. Args: image_data (str): The base64-encoded image data. Returns: str: The markdown code to render the image. """ return f"![Image](data:image/png;base64,{image_data})" def run_multi_agent(llm, message): llm_config = {"model": llm} executor = LocalCommandLineCodeExecutor( timeout=60, work_dir="coding", ) code_executor_agent = ConversableAgent( name="code_executor_agent", llm_config=False, code_execution_config={"executor": executor}, human_input_mode="NEVER", default_auto_reply= "Please continue. If everything is done, reply 'TERMINATE'.", ) code_writer_agent = AssistantAgent( name="code_writer_agent", llm_config=llm_config, code_execution_config=False, human_input_mode="NEVER", ) code_writer_agent_system_message = code_writer_agent.system_message print(code_writer_agent_system_message) chat_result = code_executor_agent.initiate_chat( code_writer_agent, message=message, max_turns=10 ) ### #for root, dirs, files in os.walk("."): # for file in files: # print(os.path.join(root, file)) ### #png_file = os.path.join("coding", "ytd_stock_gains.png") #print("### "+png_file) #current_folder = os.getcwd() #files_in_folder = os.listdir(current_folder) #print(f"Files in {current_folder}:") #for file in files_in_folder: # print(file) #image_path = "/home/user/app/coding/ytd_stock_gains.png" #image_path_2 = "/coding/ytd_stock_gains.png" #image_path_5 = "coding/ytd_stock_gains.png" #image_path_3 = "/app/coding/ytd_stock_gains.png" #image_path_4 = "/user/app/coding/ytd_stock_gains.png" image_data = read_image_file("/home/user/app/coding/ytd_stock_gains.png") markdown_code = generate_markdown_code(image_data) return markdown_code #image_path = os.path.join('coding', 'ytd_stock_gains.png') #image_markdown = f"![YTD Stock Gains]({image_path})" #markdown_text = "![YTD Stock Gains](coding/ytd_stock_gains.png)" #html = markdown.markdown(markdown_text) #print(html) #return html #f"![YTD Stock Gains]({image_path})
![YTD Stock Gains]({image_path_2})
![YTD Stock Gains]({image_path_3})
![YTD Stock Gains]({image_path_4})
![YTD Stock Gains]({image_path_5})
"