| import os |
| import autogen |
| from autogen.agentchat.contrib.agent_builder import AgentBuilder |
| from finrobot.utils import get_current_date |
|
|
|
|
| config_file_or_env = "OAI_CONFIG_LIST" |
| llm_config = {"temperature": 0} |
|
|
| builder = AgentBuilder( |
| config_file_or_env=config_file_or_env, |
| builder_model="gpt-4-0125-preview", |
| agent_model="gpt-4-0125-preview", |
| ) |
|
|
| config_list = autogen.config_list_from_json( |
| config_file_or_env, filter_dict={"model": ["gpt-4-0125-preview"]} |
| ) |
|
|
| building_task = "Gather information like company profile, recent stock price fluctuations, market news, and financial basics of a specified company (e.g. AAPL) by programming and analyze its current positive developments and potential concerns. Based on all the information, come up with a rough estimate (e.g. up by 2-3%) and give a summary of the reasons for next week's stock price. Each python program should execute on its own, and avoid plotting any chart." |
| config_path = "configs/save_config_forecaster.json" |
|
|
| if os.path.exists(config_path): |
| agent_list, agent_config = builder.load(config_path) |
| else: |
| agent_list, agent_configs = builder.build( |
| building_task, |
| llm_config, |
| coding=True, |
| code_execution_config={ |
| "work_dir": "coding", |
| "use_docker": False, |
| }, |
| ) |
| builder.save(config_path) |
|
|
| group_chat = autogen.GroupChat(agents=agent_list, messages=[], max_round=20) |
| manager = autogen.GroupChatManager( |
| groupchat=group_chat, llm_config={"config_list": config_list, **llm_config} |
| ) |
| agent_list[0].initiate_chat( |
| manager, |
| message=f"Today is {get_current_date()}, predict next week's stock price for Nvidia with its recent market news and stock price movements.", |
| ) |
|
|