62 lines
1.6 KiB
Python
Raw Normal View History

import os
import json
import autogen
import testbed_utils
testbed_utils.init()
##############################
Introduces AutoGenBench (#1048) * Initial commit of AutoGenBench * wording * typo * pre-commit reformulation * Updated README to point to contributor's guide earlier. * Simplified the description of the JSON format. * Added print statements to indicate when run.sh and scenario.py are starting. * Added SocietyOfMind scenario to GAIA. * Pointing autogenbench clone command to the latest branch. * Temporarily disable subsample option. * Updated the GAIA readme to specify how to define a BING API key. * Fixed and re-enabled the subsample option. * Added a draft of a blog post. * Updated authors. * Incorporating Gagan's feedback. * Fixed code formatting. * Updated the help string in the docs. * Light editing of the AutoGenBench blogpost. * Support filtering on model tags. * Added websurfer dependencies to Dockerfile. * Renamed testbed -> autogenbench * Attempting to fix formatting. * Added more gracefull handling of task timeouts (the script is allowed to terminate before Docker is stopped). * Updated the blogpost based on Saleema's and Julia's feedback. * Fixed formatting... again. * Added a main MANIFEST to list available scenarios. * Limit main manifest to directories. * Manifests now use relative paths. * All manifests are now relative. * Updated the contributing guide, and address windows path issues. * Updated the version. Fixed formatting. * Fixed formatting. * De-listing Examples, since it has no clear tabulate criteria. * Updated email in pyproject * typo in blogpost * wording --------- Co-authored-by: Qingyun Wu <qingyun.wu@psu.edu> Co-authored-by: Qingyun Wu <qingyun0327@gmail.com>
2024-01-25 16:46:58 -08:00
config_list = autogen.config_list_from_json("OAI_CONFIG_LIST")
assistant = autogen.AssistantAgent(
"assistant",
is_termination_msg=lambda x: x.get("content", "").find("TERMINATE") >= 0,
llm_config=testbed_utils.default_llm_config(config_list, timeout=180),
)
user_proxy = autogen.UserProxyAgent(
"user_proxy",
human_input_mode="NEVER",
system_message="A human who can run code at a terminal and report back the results.",
is_termination_msg=lambda x: x.get("content", "").find("TERMINATE") >= 0,
code_execution_config={
"work_dir": "coding",
"use_docker": False,
},
max_consecutive_auto_reply=10,
default_auto_reply="",
)
third_agent = autogen.AssistantAgent(
"__3RD_AGENT_NAME__",
system_message="""
__3RD_AGENT_PROMPT__
""".strip(),
is_termination_msg=lambda x: x.get("content", "").find("TERMINATE") >= 0,
llm_config=testbed_utils.default_llm_config(config_list, timeout=180),
)
groupchat = autogen.GroupChat(
agents=[user_proxy, assistant, third_agent],
messages=[],
speaker_selection_method="__SELECTION_METHOD__",
allow_repeat_speaker=False,
max_round=12,
)
manager = autogen.GroupChatManager(
groupchat=groupchat,
is_termination_msg=lambda x: x.get("content", "").find("TERMINATE") >= 0,
llm_config=testbed_utils.default_llm_config(config_list, timeout=180),
)
user_proxy.initiate_chat(
manager,
message="""
__PROMPT__
""".strip(),
)
##############################
testbed_utils.finalize(agents=[assistant, user_proxy, third_agent, manager])