a_initiate_group_chat - AG2
a_initiate_group_chat
autogen.agentchat.a_initiate_group_chat async #
a_initiate_group_chat(pattern, messages, max_rounds=20)
Initialize and run a group chat using a pattern for configuration, asynchronously.
| PARAMETER | DESCRIPTION |
|---|---|
pattern |
Pattern object that encapsulates the chat configuration. TYPE: Pattern |
messages |
Initial message(s). TYPE: Union[list[dict[str, Any]], str] |
max_rounds |
Maximum number of conversation rounds. TYPE: int DEFAULT: 20 |
| RETURNS | DESCRIPTION |
|---|---|
ChatResult |
Conversations chat history. TYPE: ChatResult |
ContextVariables |
Updated Context variables. TYPE: ContextVariables |
Agent |
"ConversableAgent": Last speaker. |
Source code in autogen/agentchat/group/multi_agent_chat.py
<br> 92<br> 93<br> 94<br> 95<br> 96<br> 97<br> 98<br> 99<br>100<br>101<br>102<br>103<br>104<br>105<br>106<br>107<br>108<br>109<br>110<br>111<br>112<br>113<br>114<br>115<br>116<br>117<br>118<br>119<br>120<br>121<br>122<br>123<br>124<br>125<br>126<br>127<br>128<br>129<br>130<br>131<br>132<br>133<br>134<br>135<br>136<br>137<br>138<br>139<br>140<br>141<br>142<br>143<br>144<br>145<br>146<br>147<br>148<br>149<br>150<br>151<br> |
<br>@export_module("autogen.agentchat")<br>async def a_initiate_group_chat(<br> pattern: "Pattern",<br> messages: Union[list[dict[str, Any]], str],<br> max_rounds: int = 20,<br>) -> tuple[ChatResult, ContextVariables, "Agent"]:<br> """Initialize and run a group chat using a pattern for configuration, asynchronously.<br> Args:<br> pattern: Pattern object that encapsulates the chat configuration.<br> messages: Initial message(s).<br> max_rounds: Maximum number of conversation rounds.<br> Returns:<br> ChatResult: Conversations chat history.<br> ContextVariables: Updated Context variables.<br> "ConversableAgent": Last speaker.<br> """<br> # Let the pattern prepare the group chat and all its components<br> # Only passing the necessary parameters that aren't already in the pattern<br> (<br> _, # agents,<br> _, # wrapped_agents,<br> _, # user_agent,<br> context_variables,<br> _, # initial_agent,<br> _, # group_after_work,<br> _, # tool_execution,<br> _, # groupchat,<br> manager,<br> processed_messages,<br> last_agent,<br> _, # group_agent_names,<br> _, # temp_user_list,<br> ) = pattern.prepare_group_chat(<br> max_rounds=max_rounds,<br> messages=messages,<br> )<br> # Start or resume the conversation<br> if len(processed_messages) > 1:<br> last_agent, last_message = await manager.a_resume(messages=processed_messages)<br> clear_history = False<br> else:<br> last_message = processed_messages[0]<br> clear_history = True<br> if last_agent is None:<br> raise ValueError("No agent selected to start the conversation")<br> chat_result = await last_agent.a_initiate_chat(<br> manager,<br> message=last_message, # type: ignore[arg-type]<br> clear_history=clear_history,<br> summary_method=pattern.summary_method,<br> )<br> cleanup_temp_user_messages(chat_result)<br> return chat_result, context_variables, manager.last_speaker<br> |