You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently components in AgentChat dont have a built-in declarative loading or serialization.
This issue is meant to help discuss and architect a setup where all components can be easily serialized to some declarative spec and runtime objects loaded/instantiated from a declarative spec.
Consistency across all applications using the component spec
Responsibility for correctly instantiating and serializing a component is solely held by the developer of the component. As it rightfully should be (apps like AGS should do the bare minimum )
The process for creating component specifications is not both consistent and simplified for all applications.
The developer experience is greatly improved - easy switching between declarative and python code (a common ask).
Create your agentchat team in python code, prototype,
Team.dict() .. save to team.yaml or team.json for distribution/deployment/debugging in AGS (with a single command)
How to run team_a in AutoGen studio?
autogenstudioui--config-dir=configs
Note that this is only focused on serialization - how to return a runtime instance of a component from a declaritive spec and how to obtain that declarative spec from an instance. Now the ability to load/save runtime state is a separate task tracked in #4100 .
<!-- Thank you for your contribution! Please review
https://microsoft.github.io/autogen/docs/Contribute before opening a
pull request. -->
<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->
## Why are these changes needed?
This PR updates AGS to use the declarative config serialization native
to AgentChat.
The effect? You can build your teams/artifacts directly in python, run
`team.dump_component()` and immediately run it in AGS.
Some change details:
- Removes ComponentFactory. Instead TeamManager just loads team specs
directly using `Team.load_component`.
- Some fixes to the UI to simplify drag and drop experience.
- Improve layout of nodes...
<!-- Please give a short summary of the change and the problem this
solves. -->
## Related issue number
<!-- For example: "Closes#1234" -->
Closes#4439Closes#5172
## Checks
- [ ] I've included any doc changes needed for
https://microsoft.github.io/autogen/. See
https://microsoft.github.io/autogen/docs/Contribute#documentation to
build and test documentation locally.
- [ ] I've added tests (if relevant) corresponding to the changes
introduced in this PR.
- [ ] I've made sure all auto checks have passed.
cc @EItanya@nour-bouzid
What
Currently components in AgentChat dont have a built-in declarative loading or serialization.
This issue is meant to help discuss and architect a setup where all components can be easily serialized to some declarative spec and runtime objects loaded/instantiated from a declarative spec.
Tasks
Benefits
How to run team_a in AutoGen studio?
Note that this is only focused on serialization - how to return a runtime instance of a component from a declaritive spec and how to obtain that declarative spec from an instance. Now the ability to load/save runtime state is a separate task tracked in #4100 .
Update: Implementation with Component Config
This effort will now build on the collaboratively designed ComponentConfig introduced in core
Related to #3624, #4388
Thoughts welcome @husseinmozannar @ekzhu @afourney @gagb @jackgerrits
The text was updated successfully, but these errors were encountered: