#Question about human input mode in Groupchat

8 messages · Page 1 of 1 (latest)

covert pebble
#

If I have a groupchat with:
User Proxy

  • LLM config = True
  • Human Input = Never
  • Code Execution = False

Assistant Agent

  • LLM config = True
  • Human Input = Always

Does this lead to autonomous dialog? Like the Assistant Agent will always ask for feedback from the User Proxy, but since the User Proxy has LLM config, it will respond back with the LLM?

CC @rain plank

rain plank
#

Yes that should work, but give the user proxy a system prompt. Better yet, just instantiate ConversableAgent directly. User proxy is just a thin wrapper around it

#

UserProxy’s entire implementation is just: def init(
self,
name: str,
is_termination_msg: Optional[Callable[[Dict], bool]] = None,
max_consecutive_auto_reply: Optional[int] = None,
human_input_mode: Optional[str] = "ALWAYS",
function_map: Optional[Dict[str, Callable]] = None,
code_execution_config: Optional[Union[Dict, Literal[False]]] = None,
default_auto_reply: Optional[Union[str, Dict, None]] = "",
llm_config: Optional[Union[Dict, Literal[False]]] = False,
system_message: Optional[Union[str, List]] = "",
description: Optional[str] = None,
):

#

Oh I noticed that the assistant is set to human_input_mode always too… make it NEVER for fully autonomous conversations

covert pebble
rain plank
#

The assistant will stop and ask you for input every time it receives a message in case 2

#

Both the AssistantAgent and the UserProxyAgent are extremely thin wrappers around ConversableAgent… basically just changing some defaults on the constructor

#

So if you tell your assistant to always require user input, it’s going to behave more like a userproxy and vice versa