* initial pass on making group chats declarative
* update group chat tests
* update impl to include participant serialization for all teams
* v1 making soc declarative
* update memory test
* update chatagent and team base classes
* update serialization doc notebook
* fomating updates
* Pass context between AssistantAgent for handoffs
* Add parallel tool call test
---------
Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
* Decouple model_context from AssistantAgent
* add UnboundedBufferedChatCompletionContext to mimic pervious model_context behaviour on AssistantAgent
* moving unbounded buffered chat to a different file
* fix model_context assertions in test_group_chat
* Refactor model context, introduce states
* fixes
* update
---------
Co-authored-by: aditya.kurniawan <aditya.kurniawan@core42.ai>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Victor Dibia <victordibia@microsoft.com>
* feat: add support for list of messages as team task input
* Update society of mind agent to use the list input task
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
1. convert dataclass types to pydantic basemodel
2. add save_state and load_state for ChatAgent
3. state types for AgentChat
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Console to return last processed (#4277)
* Preserve input generator type
* Add tests
* format
---------
Co-authored-by: Jack Gerrits <jack@jackgerrits.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* task can be ChatMessage; add group chat state validation step, and address swarm state valiation; change handling of start and reset to RPC to capture any error.
* Update tutorial note
* AgentChat pause and resume a task
Resolves#3859
* Add
* Update usage
* Update usage
* WIP to address stateful group chat
* Refactor group chat to add reset and flags for running
* documentation
* Agentchat refactor
* Move termination stop message to a separate field in task result
* Update quick start example
* Use string stop reason instead of stop message in task result for simpler API
* Use main function
Add handoff message type to chat message types
Add Swarm group chat that uses handoff message to select next speaker
Remove tool call and tool call result message types from chat message types
Remove BaseToolUseChatAgent, move tool call handling from group chat's chat agent container upward to the ToolUseAssistantAgent implementation, which subclasses BaseChatAgent directly.
Renaming for better clarity
---------
Co-authored-by: Victor Dibia <victordibia@microsoft.com>
* Selector group chat that uses LLM to select the next speaker
* Merge remote-tracking branch 'origin/staging' into selector-groupchat
* Add allow_repeated_speaker option
* Add test for allowed_repeated_speaker=True
* Example for selector group chat
* format
* Rename and index
* title for notebook
* Merge remote-tracking branch 'origin/staging' into selector-groupchat
* update TeamRunResult
* fix line ending in test
* lint
* update team result to list[chatmessage]
---------
Co-authored-by: Leonardo Pinheiro <lpinheiro@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* WIP implementation for agentchat
* WIP
* WIP
* wip
* WIP
* WIP
* WIP
* WIP
* fix types
* format
* fix build
* Fix build
* use a simpler implementation of thread -- list
* Select speaker to return speaker topic type
* add parent topic type to agent container
* Address comments
* Add check to make sure agent id is constant in a team run.
* Fix build