-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Use function_call to terminate a conversation #133
Comments
I think that is a reasonable approach. My understanding is that, in a Group Chat scenario, the fist agent to call terminate will stop the whole conversation. It's not always clear to me which agents in the chat should have that power. Maybe create an example where there is an agent dedicated to tracking progress and terminating the conversation at the appropriate time? |
Yep, having the caller to stop a group chat makes sense here. |
The trouble is that this agent will only act if called upon by the group chat manager -- there's no way to barge in. Maybe this functionality should roll up to the manager? |
The group chat, if group chat manager doesn’t call the caller agent, will last for ‘max_turn’ at max before it returns to the caller. So it won’t cause infinity loop unless caller agent send another message to the group after it’s get called . In the meantime, it’s still likely to have the same infinite loop if we escalate the termination permission to group chat manager, which falls back to the infinite loop between two agent. For example, the caller agent will still likely to send a new message to the group chat, after the manager terminating the last conversation session |
This issue is blocked by #152 |
* Move agents to a subdir * Add placeholder for example team * Move messages to a common file * Add rounrobin orchestrator + reflex agents * Fix import errors * Clean up commented code * Fix formatting errors * Fix a linting error * Fix formatting errors
We have a couple of users who are hitting an infinite loop(#108) when they start a chat between two agents or a group of chat.
The cause of the infinite loop is that we are using some hard-code rule to determine if a message contains terminate information, which is prone to bugs.
A more robust way is to use a
terminate_conversation
function call, which returns a hard-coded termination message instead of relying on LLM to generate thatTERMINATE
signal.This
terminate_conversation
solution has two advantagesAny suggestion/feedback on creating an example of doing that? I can create an example for groupchat, would be great if someone can create example for twoagent chat.
The text was updated successfully, but these errors were encountered: