# GroupChat

## autogen.GroupChat dataclass

```python
GroupChat(agents, messages=list(), max_round=10, admin_name='Admin', func_call_filter=True, speaker_selection_method='auto', max_retries_for_selecting_speaker=2, allow_repeat_speaker=None, allowed_or_disallowed_speaker_transitions=None, speaker_transitions_type=None, enable_clear_history=False, send_introductions=False, select_speaker_message_template='You are in a role play game. The following roles are available:\n                {roles}.\n                Read the following conversation.\n                Then select the next role from {agentlist} to play. Only return the role.', select_speaker_prompt_template=SELECT_SPEAKER_PROMPT_TEMPLATE, select_speaker_auto_multiple_template='You provided more than one name in your text, please return just the name of the next speaker. To determine the speaker use these prioritised rules:\n    1. If the context refers to themselves as a speaker e.g. "As the..." , choose that speaker's name\n    2. If it refers to the "next" speaker name, choose that name\n    3. Otherwise, choose the first provided speaker's name in the context\n    The names are case-sensitive and should not be abbreviated or changed.\n    Respond with ONLY the name of the speaker and DO NOT provide a reason.', select_speaker_auto_none_template='You didn\'t choose a speaker. As a reminder, to determine the speaker use these prioritised rules:\n    1. If the context refers to themselves as a speaker e.g. "As the..." , choose that speaker's name\n    2. If it refers to the "next" speaker name, choose that name\n    3. Otherwise, choose the first provided speaker's name in the context\n    The names are case-sensitive and should not be abbreviated or changed.\n    The only names that are accepted are {agentlist}.\n    Respond with ONLY the name of the speaker and DO NOT provide a reason.', select_speaker_transform_messages=None, select_speaker_auto_verbose=False, select_speaker_auto_model_client_cls=None, select_speaker_auto_llm_config=None, role_for_select_speaker_messages='system')
```

### agents instance-attribute

```python
agents
```

### messages class-attribute instance-attribute

```python
messages = field(default_factory=list)
```

### max_round class-attribute instance-attribute

```python
max_round = 10
```

### admin_name class-attribute instance-attribute

```python
admin_name = 'Admin'
```

### func_call_filter class-attribute instance-attribute

```python
func_call_filter = True
```

### speaker_selection_method class-attribute instance-attribute

```python
speaker_selection_method = 'auto'
```

### max_retries_for_selecting_speaker class-attribute instance-attribute

```python
max_retries_for_selecting_speaker = 2
```

### allow_repeat_speaker class-attribute instance-attribute

```python
allow_repeat_speaker = None
```

### allowed_or_disallowed_speaker_transitions class-attribute instance-attribute

```python
allowed_or_disallowed_speaker_transitions = None
```

### speaker_transitions_type class-attribute instance-attribute

```python
speaker_transitions_type = None
```

### enable_clear_history class-attribute instance-attribute

```python
enable_clear_history = False
```

### send_introductions class-attribute instance-attribute

```python
send_introductions = False
```

### select_speaker_message_template class-attribute instance-attribute

```python
select_speaker_message_template = 'You are in a role play game. The following roles are available:\n                {roles}.\n                Read the following conversation.\n                Then select the next role from {agentlist} to play. Only return the role.'
```

### select_speaker_prompt_template class-attribute instance-attribute

```python
select_speaker_prompt_template = SELECT_SPEAKER_PROMPT_TEMPLATE
```

### select_speaker_auto_multiple_template class-attribute instance-attribute

```python
select_speaker_auto_multiple_template = 'You provided more than one name in your text, please return just the name of the next speaker. To determine the speaker use these prioritised rules:\n    1. If the context refers to themselves as a speaker e.g. "As the..." , choose that speaker's name\n    2. If it refers to the "next" speaker name, choose that name\n    3. Otherwise, choose the first provided speaker's name in the context\n    The names are case-sensitive and should not be abbreviated or changed.\n    Respond with ONLY the name of the speaker and DO NOT provide a reason.'
```

### select_speaker_auto_none_template class-attribute instance-attribute

```python
select_speaker_auto_none_template = 'You didn\'t choose a speaker. As a reminder, to determine the speaker use these prioritised rules:\n    1. If the context refers to themselves as a speaker e.g. "As the..." , choose that speaker's name\n    2. If it refers to the "next" speaker name, choose that name\n    3. Otherwise, choose the first provided speaker's name in the context\n    The names are case-sensitive and should not be abbreviated or changed.\n    The only names that are accepted are {agentlist}.\n    Respond with ONLY the name of the speaker and DO NOT provide a reason.'
```

### select_speaker_transform_messages class-attribute instance-attribute

```python
select_speaker_transform_messages = None
```

### select_speaker_auto_verbose class-attribute instance-attribute

```python
select_speaker_auto_verbose = False
```

### select_speaker_auto_model_client_cls class-attribute instance-attribute

```python
select_speaker_auto_model_client_cls = None
```

### select_speaker_auto_llm_config class-attribute instance-attribute

```python
select_speaker_auto_llm_config = None
```

### role_for_select_speaker_messages class-attribute instance-attribute

```python
role_for_select_speaker_messages = 'system'
```

### DEFAULT_INTRO_MSG class-attribute instance-attribute

```python
DEFAULT_INTRO_MSG = 'Hello everyone. We have assembled a great team today to answer questions and solve tasks. In attendance are:'
```

### allowed_speaker_transitions_dict class-attribute instance-attribute

```python
allowed_speaker_transitions_dict = field(init=False)
```

### agent_names property
  
```python
agent_names
```

### reset

```python
reset()
```

### append

```python
append(message, speaker)
```

### agent_by_name

```python
agent_by_name(name, recursive=False, raise_on_name_conflict=False)
```

### nested_agents

```python
nested_agents()
```

### next_agent

```python
next_agent(agent, agents=None)
```

### select_speaker_msg

```python
select_speaker_msg(agents=None)
```

### select_speaker_prompt

```python
select_speaker_prompt(agents=None)
```

### introductions_msg

```python
introductions_msg(agents=None)
```

### manual_select_speaker

```python
manual_select_speaker(agents=None)
```

### random_select_speaker

```python
random_select_speaker(agents=None)
```

### select_speaker

```python
select_speaker(last_speaker, selector)
```

### a_select_speaker async

```python
a_select_speaker(last_speaker, selector)
```

### a_auto_select_speaker async

```python
 a_auto_select_speaker(last_speaker, selector, messages, agents)
```
