-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Fixed speak order #500
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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 theConversableAgent
class and enhances therun_chat
method of theGroupChatManager
class to ensure a fixed order of speakers in custom procedures.Related issue number
"Close #485"
Checks