Fixed speak order#500
Conversation
|
Thanks. This is indeed an issue that needs addressing. I had a quick look at the changes. I have a couple of questions that you could perhaps answer before I start my review:
|
|
@g7xcy please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
|
|
@afourney |
|
@g7xcy there is increasing interest on this issue. I think it would be great if you could revise this PR to subclass the GroupChat to ensure a fixed order. I haven't delved too deeply into the code at this stage, but I think if you just assume a chat order that matches the order of agents provided in the GroupChat constructor, and override select_speaker to call next_agent, this should be enough. You could then pass an instance of this modified class to the GroupChatManager and get the behavior we want. The CustomGroupChat class in this notebook is a good example: https://github.com/microsoft/autogen/blob/4e0a8972958a955acda65336494f9e02a2fb681f/notebook/agentchat_hierarchy_flow_using_select_speaker.ipynb |
|
I believe this has been addressed via the new speaker_selection_method (round_robin). |
Why are these changes needed?
Complex Group Chat may face the problem that Group Chat Manager cannot reasonably select the Next Speaker. At the same time, the order of agents in some automated processes is relatively fixed.
This PR adds
agent_chat_chain: List[Agent]to theConversableAgentclass and enhances therun_chatmethod of theGroupChatManagerclass to ensure a fixed order of speakers in custom procedures.Related issue number
"Close #485"
Checks