40 Commits

Author SHA1 Message Date
Eric Zhu
52790a8de7
o1 support for agent chat, and validate model capabilities (#4397) 2024-11-27 10:45:51 -08:00
Eric Zhu
bcd6e71e7f
Fix assistant agent doc (#4365) 2024-11-25 18:18:13 -08:00
Jack Gerrits
6c8b656588
Fix examples in docstrings (#4356)
* Fix examples in docstrings

* formatting

* Update python/packages/autogen-ext/src/autogen_ext/models/_reply_chat_completion_client.py

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* Update python/packages/autogen-ext/src/autogen_ext/models/_reply_chat_completion_client.py

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* Update python/packages/autogen-ext/src/autogen_ext/agents/_openai_assistant_agent.py

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* Update python/packages/autogen-ext/src/autogen_ext/agents/_openai_assistant_agent.py

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* Update python/packages/autogen-ext/src/autogen_ext/models/_reply_chat_completion_client.py

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* Update python/packages/autogen-ext/src/autogen_ext/models/_reply_chat_completion_client.py

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* Formattinggp

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-11-25 16:07:45 -05:00
Victor Dibia
0ff1687485
Add UserProxyAgent in AgentChat API (#4255)
* initial addition of a user proxy agent in agentchat, related to #3614

* fix typing/mypy errors

* format fixes

* format and pyright checks

* update, add support for returning handoff message, add tests

---------

Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
Co-authored-by: Hussein Mozannar <hmozannar@microsoft.com>
2024-11-23 19:24:24 -08:00
Gerardo Moreno
232068a245
Add system msg when calling inside the assistant tool loop (#4308) (#4309) 2024-11-22 06:05:52 -08:00
Eric Zhu
2b7658a9da
Move openai assistant agent to autogen-ext; add on_messages_stream (#4268) 2024-11-19 01:42:11 -05:00
Leonardo Pinheiro
df32d5e1d1
OpenAI Assistants Agent (#4131)
* initial assistant client draft

* expose assistants client

* initial openai assistant agentchat draft

* update file search

* add delete methods and fix typing

* add tool execution

* fix tool call and add docstring

* abstract tools and support thread management

* add tests

* removed unused typevars

* add unsaved test changes

* test typing fixes

---------

Co-authored-by: Leonardo Pinheiro <lpinheiro@microsoft.com>
2024-11-19 09:56:15 +10:00
Eric Zhu
f1daff1582
AgentChat task message type and group chat state validation for Swarm (#4230)
* 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
2024-11-18 11:46:20 -05:00
Eric Zhu
5da24e51e0
Console pretty print for on_messages_stream (#4239)
* Console pretty print for on_messages_stream

* Update doc

* Update docs
2024-11-16 14:03:58 -08:00
Eric Zhu
4aec53c36f
Improve agentchat tutorial (#4233) 2024-11-16 09:01:38 -08:00
Eric Zhu
d213c1c061
Remove quotes from TERMINATE in assistant agent's default system message (#4231) 2024-11-15 23:25:48 -08:00
Eric Zhu
5547a6716e
auto reset termination when a run stops (#4126) 2024-11-10 20:19:09 -08:00
Eric Zhu
8f7c717149
reset --> on_reset :D (#4121) 2024-11-10 18:28:20 -08:00
Eric Zhu
3f28aa8874
SocietyOfMind agent for nested teams (#4110)
* Initial implementation of SOM agent

* add tests

* edit prompt

* Update prompt

* lint
2024-11-08 16:41:34 -08:00
Eric Zhu
5fa38b0166
Add task type that are messages to enable multi-modal tasks. (#4091)
* Add task type that are messages to enable multi-modal tasks.

* fix test
2024-11-07 21:38:41 -08:00
Eric Zhu
2e3155be2a
AgentChat pause, resume, and reset (#4088)
* 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
2024-11-07 16:00:35 -08:00
Eric Zhu
5be7ac7b12
Move reset from a message to a command (#4073) 2024-11-05 21:40:46 -08:00
Eric Zhu
c3283c64a3
Agentchat refactor (#4062)
* 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
2024-11-05 08:07:49 -08:00
Eric Zhu
16e64c4c10
Rename model_usage to models_usage. (#4053) 2024-11-04 09:25:53 -08:00
Eric Zhu
ca7caa779d
Add token usage to messages (#4028)
* Add token usage to messages

* small test edit
2024-11-01 13:20:25 -07:00
Eric Zhu
c3b2597e12
AssistantAgent no longer sends out StopMessage. We use TextMentionTermination("TERMINATE") on the team instead for default setting. (#4030)
* AssistantAgent no longer sends out StopMessage. We use TextMentionTermination("TERMINATE") on the team instead for default setting.

* Fix test
2024-11-01 12:35:26 -07:00
Eric Zhu
173acc6638
Custom selector function for SelectorGroupChat (#4026)
* Custom selector function for SelectorGroupChat

* Update documentation
2024-11-01 09:08:29 -07:00
Eric Zhu
cff7d842a6
AgentChat streaming API (#4015) 2024-11-01 04:12:43 -07:00
Eric Zhu
3d51ab76ae
Formalize ChatAgent response as a dataclass with inner messages (#3990) 2024-10-30 10:27:57 -07:00
Eric Zhu
4a49844996
ChatAgent declares the types of messages it produces (#3991)
* `ChatAgent` declares the types of messages it produces
2024-10-30 05:32:11 -07:00
Eric Zhu
bd9c371605
Add ResetMessage to clear the agent state (#3988)
* Reset message to clear agent state

* format and lint
2024-10-29 09:45:57 -07:00
Eric Zhu
eb4b1f856e
Ability to generate handoff message from AssistantAgent (#3968)
* Ability to generate handoff message from AssistantAgent

* Fix mypy

* Validation

---------

Co-authored-by: Victor Dibia <victordibia@microsoft.com>
2024-10-29 08:04:14 -07:00
Eric Zhu
3fe0f9e97d
Add AssistantAgent, deprecate CodingAssistantAgent and ToolUseAssistantAgent (#3960)
* Add AssistantAgent, deprecate CodingAssistantAgent and ToolUseAssistantAgent

* Rename

* Add note

* Update uv

* uf lock

* Merge branch 'main' into assistant-agent

* Update uv
2024-10-25 23:17:06 -07:00
Eric Zhu
f31ff66368
Refactor agent chat to prepare for handoff/swarm (#3949)
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>
2024-10-25 10:57:04 -07:00
Eric Zhu
1812cc068d
Refactor agentchat +implement base chat agent run method (#3913) 2024-10-24 05:36:33 -07:00
Eric Zhu
c4492ca043
Allow callable to be used as registered_tools in ToolUseAssistantAgent. (#3891)
* Allow callable to be used as `registered_tools` in `ToolUseAssistantAgent`.

* fix
2024-10-22 13:27:06 -07:00
Eric Zhu
8a4930a9be
Refactor agentchat to separate base interfaces from implementations (#3877) 2024-10-22 19:23:02 +01:00
Eric Zhu
498854aed3
Use script-friendly example in README and quickstart (#3728)
* Use script-friendly example in README and quickstart

* Remove accidentally commited file

* Update instruction
2024-10-09 16:02:42 -07:00
Jack Gerrits
f326b36242
Documentation tweaks (#3705)
* Add extension to handle pydantic docs

* Docs tweaks

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2024-10-09 11:46:43 -07:00
Eric Zhu
64365b6835
Termination condition for agentchat teams (#3696)
* Update PR link in blog post (#3602)

* Update PR link in blog post

* Update index.mdx

* Create CI to tag issues with needs triage (#3605)

* Update issue templates (#3610)

* Update config.yml

* Delete .github/ISSUE_TEMPLATE.md

* Delete .github/ISSUE_TEMPLATE/general_issue.yml

* Update feature_request.yml

* Update feature_request.yml

* Update feature_request.yml

* Update feature_request.yml

* Update bug_report.yml

* Update .github/ISSUE_TEMPLATE/bug_report.yml

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* Update .github/ISSUE_TEMPLATE/config.yml

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* Update bug_report.yml

* Update config.yml

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

* termination condition

* Termination condition

* termination condition in group chat manager

* Update module import

* Fix logging

* Clean up

* Fix doc string

---------

Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
2024-10-09 09:26:13 -07:00
Eric Zhu
02ced7c6b3
Selector group chat that uses LLM to select the next speaker (#3680)
* 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
2024-10-08 13:37:31 -07:00
Eric Zhu
54eaa2bb4e
Move tools to agent in agentchat; refactored logging to support tool events (#3665)
* Move tool to agent; refactor logging in agentchat

* Update notebook
2024-10-07 09:38:24 -07:00
Eric Zhu
b2db45d673 Tool use in agentchat (#664)
* Tool use in agentchat

* Update link

* doc string
2024-09-30 10:58:02 -04:00
Eric Zhu
18efc2314a
Use agentchat message types rather than core's model client message types (#662)
* Use agentchat message types rather than core's model client message types

* Merge remote-tracking branch 'origin/main' into ekzhu-tool-use-assistant
2024-09-28 08:40:13 -07:00
Eric Zhu
7ba99186fb
Initial implementation of agentchat (#623)
* 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
2024-09-25 23:15:17 +00:00