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

Feature: Composable Actor Platform for AutoGen #1655

Merged
merged 101 commits into from
Mar 13, 2024

Conversation

rajan-chari
Copy link
Contributor

@rajan-chari rajan-chari commented Feb 13, 2024

Why are these changes needed?

There have been many requests from the Autogen community for features that deal with "The space between Agents".

  1. Agents living in different VMs
  2. Dynamically adding and removing agents when solving problems
  3. An Agent registry with static or even dynamic catalog of Agents
  4. Agents that are fully autonomous
  5. Ability to stream events to Agents

With Composable Actor Platform (CAP) Autogen agents can:

  1. Dynamically join other Agents
  2. Find each other through an Agent registry (dynamic catalog of Agents)
  3. Establish communication channels with arbitrary topology. i.e. hierarchy of hierarchies
  4. Be fully autonomous
  5. Allow events to be streamed to them
  6. Live in different VMs
  7. Dynamically join and leave the network
  8. Allow all messages between Agents to be recorded

Checks

@rajan-chari rajan-chari changed the title Rajan/cap Composable Actor Platform for Autogen Feb 13, 2024
@rajan-chari rajan-chari changed the title Composable Actor Platform for Autogen (WIP) Composable Actor Platform for Autogen Feb 13, 2024
@codecov-commenter
Copy link

codecov-commenter commented Feb 13, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 35.22%. Comparing base (f42021f) to head (d7bbbf1).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1655      +/-   ##
==========================================
- Coverage   37.38%   35.22%   -2.17%     
==========================================
  Files          64       64              
  Lines        6879     6879              
  Branches     1518     1518              
==========================================
- Hits         2572     2423     -149     
- Misses       4085     4246     +161     
+ Partials      222      210      -12     
Flag Coverage Δ
unittests 35.22% <ø> (-2.17%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@rajan-chari rajan-chari changed the title (WIP) Composable Actor Platform for Autogen (WIP) Feature: Composable Actor Platform for Autogen Feb 13, 2024
@rajan-chari rajan-chari marked this pull request as draft February 13, 2024 02:55
@rajan-chari rajan-chari changed the title (WIP) Feature: Composable Actor Platform for Autogen Feature: Composable Actor Platform for Autogen Feb 13, 2024
samples/apps/cap/py/src/DebugLog.py Outdated Show resolved Hide resolved
samples/apps/cap/py/requirements.txt Outdated Show resolved Hide resolved
samples/apps/cap/README.md Outdated Show resolved Hide resolved
samples/apps/cap/py/src/ActorConnector.py Outdated Show resolved Hide resolved
samples/apps/cap/py/src/CAPActor.py Outdated Show resolved Hide resolved
samples/apps/cap/py/src/demo/app.py Outdated Show resolved Hide resolved
samples/apps/cap/py/src/ag_adapter/AG2CAP.py Outdated Show resolved Hide resolved
samples/apps/cap/py/src/ag_adapter/AG2CAP.py Outdated Show resolved Hide resolved
@rajan-chari rajan-chari requested a review from gagb March 7, 2024 22:52
Copy link
Collaborator

@gagb gagb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Great PR!

@sonichi sonichi requested a review from kinnym March 10, 2024 17:30
@sonichi sonichi added the ui/deploy user interface & deployment label Mar 11, 2024
@sonichi sonichi requested a review from rajib76 March 11, 2024 17:54
Copy link
Collaborator

@ekzhu ekzhu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Rajan! I think we can continue to improve this on things like composible conversation patterns.

@sonichi sonichi added this pull request to the merge queue Mar 13, 2024
Merged via the queue into microsoft:main with commit 8f6590e Mar 13, 2024
20 checks passed
whiskyboy pushed a commit to whiskyboy/autogen that referenced this pull request Apr 17, 2024
* Core CAP components + Autogen adapter + Demo

* Cleanup Readme

* C# folder

* Cleanup readme

* summary_method bug fix

* CAN -> CAP

* pre-commit fixes

* pre-commit fixes

* modification of sys path should ignore E402

* fix pre-commit check issues

* Updated docs

* Clean up docs

* more refactoring

* better packaging refactor

* Refactoring for package changes

* Run demo app without autogencap installed or in the path

* Remove debug related sleep()

* removed CAP in some class names

* Investigate a logging framework that supports color in windows

* added type hints

* remove circular dependency

* fixed pre-commit issues

* pre-commit ruff issues

* removed circular definition

* pre-commit fixes

* Fix pre-commit issues

* pre-commit fixes

* updated for _prepare_chat signature changes

* Better instructions for demo and some minor refactoring

* Added details that explain CAP

* Reformat Readme

* More ReadMe Formatting

* Readme edits

* Agent -> Actor

* Broker can startup on it's own

* Remote AutoGen Agents

* Updated docs

* 1) StandaloneBroker in demo
2) Removed Autogen only demo options

* 1) Agent -> Actor refactor
2) init broker as early

* rename user_proxy -> user_proxy_conn

* Add DirectorySvc

* Standalone demo refactor

* Get ActorInfo from DirectorySvc when searching for Actor

* Broker cleanup

* Proper cleanup and remove debug sleep()

* Run one directory service only.

* fix paths to run demo apps from command line

* Handle keyboard interrupt

* Wait for Broker and Directory to start up

* Move Terminate AGActor

* Accept input from the user in UserProxy

* Move sleeps close to operations that bind or connect

* Comments

* Created an encapsulated CAP Pair for AutoGen pair communication

* pre-commit checks

* fix pre-commit

* Pair should not make assumptions about who is first and who is second

* Use task passed into InitiateChat

* Standalone directory svc

* Fix broken LFS files

* Long running DirectorySvc

* DirectorySvc does not have a status

* Exit DirectorySvc Loop

* Debugging Remoting

* Reduce frequency of status messages

* Debugging remote Actor

* roll back git-lfs updates

* rollback git-lfs changes

* Debug network connectivity

* pre-commit fixes

* Create a group chat interface familiar to AutoGen GroupChat users

* pre-commit fixes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ui/deploy user interface & deployment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants