For more context I have
def handle_messages(recipient, messages, sender, config):
if "callback" in config and config["callback"] is not None:
callback = config["callback"]
asyncio.create_task(callback(recipient, messages[-1], sender, config["queue"]))
return False, None
async def message_parser(recipient, message, sender, queue):
logger.info(f"RECIPIENT: {recipient.name} : SENDER:{sender.name} : DATA:{message}")
await queue.put(f"event: TOOL\ndata: {recipient.name}\n\n")
group_chat = GroupChat(
agents=[
user_proxy,
general_assistant,
software_assistant,
],
messages=message_history,
)
manager = GroupChatManager(groupchat=group_chat, llm_config=llm_config)
return {
"user": user_proxy,
"chat_manager": manager,
"assistants": [
general_assistant,
software_assistant,
],
}
manager.register_reply(
[Agent, None],
reply_func=reply_func,
config={"callback": message_parser, "queue": queue},
)