autogen/python
Victor Dibia 2997c27d1b
Add Human Input Mode in AGS (#4210)
* 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
2024-11-15 14:51:57 -08:00
..
packages Add Human Input Mode in AGS (#4210) 2024-11-15 14:51:57 -08:00
templates/new-package Include license file in package (#3703) 2024-10-09 15:01:09 -04:00
.gitignore Add proto files (#378) 2024-08-19 20:32:34 +00:00
README.md Various Additions to the Documentation (#4139) 2024-11-11 15:23:25 -05:00
pyproject.toml Add agentchat to uv workspace (#4223) 2024-11-15 14:40:03 -05:00
run_task_in_pkgs_if_exist.py Move from tomllib to tomli (#3714) 2024-10-09 16:42:30 -04:00
shared_tasks.toml Remove static subscription restriction (#439) 2024-08-30 14:00:11 -04:00
uv.lock Add Human Input Mode in AGS (#4210) 2024-11-15 14:51:57 -08:00

README.md

AutoGen Python packages

See autogen-core package for main functionality.

Development

TL;DR, run all checks with:

uv sync --all-extras
source .venv/bin/activate
poe check

Setup

uv is a package manager that assists in creating the necessary environment and installing packages to run AutoGen.

Virtual Environment

During development, you may need to test changes made to any of the packages.
To do so, create a virtual environment where the AutoGen packages are installed based on the current state of the directory.
Run the following commands at the root level of the Python directory:

uv sync --all-extras
source .venv/bin/activate
  • uv sync --all-extras will create a .venv directory at the current level and install packages from the current directory along with any other dependencies. The all-extras flag adds optional dependencies.
  • source .venv/bin/activate activates the virtual environment.

Common Tasks

To create a pull request (PR), ensure the following checks are met. You can run each check individually:

  • Format: poe format
  • Lint: poe lint
  • Test: poe test
  • Mypy: poe mypy
  • Pyright: poe pyright
  • Build docs: poe --directory ./packages/autogen-core/ docs-build
  • Auto rebuild+serve docs: poe --directory ./packages/autogen-core/ docs-serve Alternatively, you can run all the checks with:
  • poe check

[!NOTE] These need to be run in the virtual environment.

Creating a New Package

To create a new package, similar to autogen-core or autogen-chat, use the following:

uv sync
source .venv/bin/activate
cookiecutter ./templates/new-package/