Fix issue here in this discussion -
https://github.com/microsoft/autogen/discussions/4208#discussioncomment-12394408
<!-- 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?
Fix bug in AGS UI where frontend crashes because the default team config
is null
- update /teams endpoint to always return a default team if none is
found for the user
- update UI to check for team before rendering
- also update run_id type to be autoincrement int (similar to team id)
instead of uuid. This helps side step the migration failed errors
related to UUID type when using an sqlite backend
<!-- Please give a short summary of the change and the problem this
solves. -->
## Related issue number
<!-- For example: "Closes #1234" -->
## Checks
- [ ] I've included any doc changes needed for
<https://microsoft.github.io/autogen/>. See
<https://github.com/microsoft/autogen/blob/main/CONTRIBUTING.md> 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.
---------
Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
<!-- Thank you for your contribution! Please review
https://microsoft.github.io/autogen/docs/Contribute before opening a
pull request. -->
This PR has 3 main improvements.
- Token streaming
- Adds support for environment variables in the app settings
- Updates AGS to persist Gallery entry in db.
## Adds Token Streaming in AGS.
Agentchat now supports streaming of tokens via
`ModelClientStreamingChunkEvent `. This PR is to track progress on
supporting that in the AutoGen Studio UI.
If `model_client_stream` is enabled in an assitant agent, then token
will be streamed in UI.
```python
streaming_assistant = AssistantAgent(
name="assistant",
model_client=model_client,
system_message="You are a helpful assistant.",
model_client_stream=True, # Enable streaming tokens.
)
```
https://github.com/user-attachments/assets/74d43d78-6359-40c3-a78e-c84dcb5e02a1
## Env Variables
Also adds support for env variables in AGS Settings
You can set env variables that are loaded just before a team is run.
Handy to set variable to be used by tools etc.
<img width="1291" alt="image"
src="https://github.com/user-attachments/assets/437b9d90-ccee-42f7-be5d-94ab191afd67"
/>
> Note: the set variables are available to the server process.
<!-- 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?
<!-- Please give a short summary of the change and the problem this
solves. -->
## Related issue number
<!-- For example: "Closes #1234" -->
Closes#5627Closes#5662Closes#5619
## Checks
- [ ] I've included any doc changes needed for
<https://microsoft.github.io/autogen/>. See
<https://github.com/microsoft/autogen/blob/main/CONTRIBUTING.md> 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.
<!-- 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. -->
It is often helpful to inspect the raw request and response to/from an
LLM as agents act.
This PR, does the following:
- Updates TeamManager to yield LLMCallEvents from core library
- Run in an async background task to listen for LLMCallEvent JIT style
when a team is run
- Add events to an async queue and
- yield those events in addition to whatever actual agentchat
team.run_stream yields.
- Update the AGS UI to show those LLMCallEvents in the messages section
as a team runs
- Add settings panel to show/hide llm call events in messages.
- Minor updates to default team
<img width="1539" alt="image"
src="https://github.com/user-attachments/assets/bfbb19fe-3560-4faa-b600-7dd244e0e974"
/>
<img width="1554" alt="image"
src="https://github.com/user-attachments/assets/775624f5-ba83-46e8-81ff-512bfeed6bab"
/>
<img width="1538" alt="image"
src="https://github.com/user-attachments/assets/3becbf85-b75a-4506-adb7-e5575ebbaec4"
/>
## Why are these changes needed?
<!-- Please give a short summary of the change and the problem this
solves. -->
## Related issue number
<!-- For example: "Closes #1234" -->
Closes#5440
## 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.
<!-- 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
* fix message instance check error
* general refactor, enable 3rd party gallery
* format fixes
* update detail view
* improve detail view and test sync capabilities
* minor tweaks, version bump
* version bump
* update uv.lock
* update lockfile
* update uv.lock
* update uv lock
* pin uv version
* uv version
* revert
* revert
* minor side bar and drag drop layout fixes
* revert version numbering.
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* initial addition
* working without multimodal messages
* show images
* remove temp changes
* ui type websurfer
* fix issue with image width, enable text truncation, enable viewing images full screen
---------
Co-authored-by: Victor Dibia <victor.dibia@gmail.com>
* fix import issue related to agentchat update #4245
* update uv lock file
* fix db auto_upgrade logic issue.
* im prove msg rendering issue
* Support termination condition combination. Closes#4325
* fix db instantiation bug
* update yarn.lock, closes#4260#4262
* remove deps for now with vulnerabilities found by dependabot #4262
* update db tests
* add ability to load sessions from db ..
* format updates, add format checks to ags
* format check fixes
* linting and ruff check fixes
* make tests for ags non-parrallel to avoid db race conditions.
* format updates
* fix concurrency issue
* minor ui tweaks, move run start to websocket
* lint fixes
* update uv.lock
* Update python/packages/autogen-studio/autogenstudio/datamodel/types.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Update python/packages/autogen-studio/autogenstudio/teammanager.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* reuse user proxy from agentchat
* ui tweaks
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Hussein Mozannar <hmozannar@microsoft.com>
* add react-flow
* update tutorial, some ui improvement for agent thread layout
* v1 for interactive viz for agent state
* add Ui visualization of message based transitions
* minor updates
* fix node edges, support visualization of self loops
* improve edges and layout, add support for selector group chat prompt
* minor ui tweaks
* ui and layout updates
* ugrade dependencies to fix dependabot scan errors
* persist sidebar, enable contentbar title mechanism #4191
* add support for user proxy agent, support human in put mode. #4011
* add UI support for human input mode via a userproxy agent #4011
* version update
* fix db initialization bug
* support for human input mode in UI, fix backend api route minor bugs
* update pyproject toml and uv lock
* readme update, support full screen mode for agent visualiation
* update uv.lock
* add react-flow
* update tutorial, some ui improvement for agent thread layout
* v1 for interactive viz for agent state
* add Ui visualization of message based transitions
* minor updates
* fix node edges, support visualization of self loops
* improve edges and layout, add support for selector group chat prompt
* minor ui tweaks
* add skeleton worflow manager
* add test notebook
* update test nb
* add sample team spec
* refactor requirements to agentchat and ext
* add base provider to return agentchat agents from json spec
* initial api refactor, update dbmanager
* api refactor
* refactor tests
* ags api tutorial update
* ui refactor
* general refactor
* minor refactor updates
* backend api refaactor
* ui refactor and update
* implement v1 for streaming connection with ui updates
* backend refactor
* ui refactor
* minor ui tweak
* minor refactor and tweaks
* general refactor
* update tests
* sync uv.lock with main
* uv lock update