Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make AgentChat Components Support Declarative Specifications. #4439

Open
2 of 5 tasks
Tracked by #4006
victordibia opened this issue Dec 1, 2024 · 0 comments
Open
2 of 5 tasks
Tracked by #4006

Make AgentChat Components Support Declarative Specifications. #4439

victordibia opened this issue Dec 1, 2024 · 0 comments
Labels
needs-design A design needs to be created and agreed upo proj-agentchat
Milestone

Comments

@victordibia
Copy link
Collaborator

victordibia commented Dec 1, 2024

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

  • Native serialization of component specs
  • 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?

autogenstudio ui --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 .

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-design A design needs to be created and agreed upo proj-agentchat
Projects
None yet
Development

No branches or pull requests

2 participants