Skip to content

Commit

Permalink
refactor: [conversable_agent] remove list of func pointers
Browse files Browse the repository at this point in the history
Ideally register_reply creates less state in multiple places and avoid having two copies of the same 'func pointer'.
  • Loading branch information
lalo authored Mar 13, 2024
1 parent 508d266 commit b2f04f8
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions autogen/agentchat/conversable_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,6 @@ def __init__(
)
self._default_auto_reply = default_auto_reply
self._reply_func_list = []
self._ignore_async_func_in_sync_chat_list = []
self._human_input = []
self.reply_at_receive = defaultdict(bool)
self.register_reply([Agent, None], ConversableAgent.generate_oai_reply)
Expand Down Expand Up @@ -339,10 +338,9 @@ def reply_func(
"config": copy.copy(config),
"init_config": config,
"reset_config": reset_config,
"ignore_async_in_sync_chat": ignore_async_in_sync_chat and inspect.iscoroutinefunction(reply_func),
},
)
if ignore_async_in_sync_chat and inspect.iscoroutinefunction(reply_func):
self._ignore_async_func_in_sync_chat_list.append(reply_func)

@staticmethod
def _summary_from_nested_chats(
Expand Down Expand Up @@ -838,9 +836,11 @@ def _raise_exception_on_async_reply_functions(self) -> None:
Raises:
RuntimeError: if any async reply functions are registered.
"""
reply_functions = {f["reply_func"] for f in self._reply_func_list}.difference(
self._ignore_async_func_in_sync_chat_list
)
reply_functions = {
f["reply_func"]
for f in self._reply_func_list
if not f.get("ignore_async_in_sync_chat", False)
}

async_reply_functions = [f for f in reply_functions if inspect.iscoroutinefunction(f)]
if async_reply_functions != []:
Expand Down

0 comments on commit b2f04f8

Please sign in to comment.