File size: 3,104 Bytes
840f3e9 cac4e7b 4d969ce 6141f1b 0e9c24d 9602a81 0e9c24d adc1afd 0e9c24d 1923ab6 722929d ed306c8 4d969ce ed306c8 cac4e7b 4d969ce d8a9c24 cac4e7b ed306c8 cac4e7b 4d969ce 722929d 4d969ce 722929d d56f6b1 cac4e7b 7ddfa83 05c2b03 b1c069d 6141f1b f0b8d9b 4e847ac b819993 2897070 d8f2386 adc1afd f017154 d8f2386 9602a81 adc1afd d8f2386 adc1afd 7e3ef74 f0b8d9b 9602a81 adc1afd 7e3ef74 88132c1 9049e22 9602a81 0e9c24d cac4e7b 9602a81 cac4e7b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
import base64, os
from autogen import ConversableAgent, AssistantAgent
from autogen.coding import LocalCommandLineCodeExecutor
def read_image_file(image_file_path: str) -> str:
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:
return f""
def read_python_file(file_path: str) -> str:
with open(file_path, 'r', encoding='utf-8') as file:
return file.read()
def read_py_file(folder_path: str, extension: str) -> str:
for filename in os.listdir(folder_path):
if filename.endswith(extension):
with open(os.path.join(folder_path, filename), "r", encoding="utf-8") as file:
return file.read()
def format_as_markdown(code: str) -> str:
"""
Formats a string of Python code as Markdown.
Args:
code (str): The Python code to format.
Returns:
str: The formatted Markdown string.
"""
markdown_code = '```\n'
markdown_code += code
markdown_code += '\n```'
return markdown_code
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'.",
)
print("### code_executor_agent.system_message = " + code_executor_agent.system_message)
code_writer_agent = AssistantAgent(
name="code_writer_agent",
llm_config=llm_config,
code_execution_config=False,
human_input_mode="NEVER",
)
print("### code_writer_agent.system_message = " + code_writer_agent.system_message)
chat_result = code_executor_agent.initiate_chat(
code_writer_agent,
message=message,
max_turns=10
)
image_data = read_image_file("/home/user/app/coding/ytd_stock_gains.png")
#markdown_code = generate_markdown_code(image_data)
#print("### markdown_code = " + markdown_code)
current_folder = os.getcwd()
#print(current_folder)
files_in_folder = os.listdir("coding")
print(f"Files in {current_folder}:")
for file in files_in_folder:
print(file)
file_name_py = read_py_file("coding", ".py")
file_name_sh = read_py_file("coding", ".sh")
print(file_name_py)
print(file_name_sh)
file_path_py = "coding/" + file_name_py
code = read_python_file(file_path_py)
markdown_code = format_as_markdown(code)
file_path_sh = "coding/" + file_name_sh
code = read_python_file(file_path_sh)
markdown_code += "<br />" + format_as_markdown(code)
print("### markdown_code = " + markdown_code)
print("###")
#print(chat_result)
print("###")
return markdown_code |