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

Groupchat send introductions #961

Merged
merged 14 commits into from
Feb 24, 2024
Merged

Groupchat send introductions #961

merged 14 commits into from
Feb 24, 2024

Conversation

afourney
Copy link
Member

Why are these changes needed?

By default, only the GroupChatManager knows the full list of agents participating in a GroupChat discussion. This can be problematic, as an agent may make different choices if it knows who else is present. For example, an assistant my choose to write code to crawl a webpage if there is no web_surfer agent present, but may instead ask the web_surfer to fetch the website when they are present.

This PR adds an optional flag (False by default) for the GroupChatManager to send a round of introductions to agents before a conversation starts. These introductions do not require LLM calls and do not count toward max_round.

Related issue number

N/A

Checks

@codecov-commenter
Copy link

codecov-commenter commented Dec 12, 2023

Codecov Report

Attention: 4 lines in your changes are missing coverage. Please review.

Comparison is base (7ceee5d) 39.62% compared to head (19a8a40) 67.81%.

Files Patch % Lines
autogen/agentchat/groupchat.py 73.33% 3 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main     #961       +/-   ##
===========================================
+ Coverage   39.62%   67.81%   +28.18%     
===========================================
  Files          57       57               
  Lines        6006     6021       +15     
  Branches     1338     1461      +123     
===========================================
+ Hits         2380     4083     +1703     
+ Misses       3433     1569     -1864     
- Partials      193      369      +176     
Flag Coverage Δ
unittests 67.77% <73.33%> (+28.15%) ⬆️

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.

@gagb
Copy link
Collaborator

gagb commented Feb 23, 2024

@jackgerrits @ekzhu we should consider this PR for generalizing the issue that we also identified for executors + two agents.

@sonichi sonichi added this pull request to the merge queue Feb 24, 2024
Merged via the queue into main with commit 477598a Feb 24, 2024
59 of 60 checks passed
@afourney afourney deleted the groupchat_send_introductions branch February 25, 2024 05:40
@rlam3
Copy link
Collaborator

rlam3 commented Feb 28, 2024

@afourney how do you benchmark that improvements were made? was there a published article? and how are we able to get access to the introduction message?

thanks!

whiskyboy pushed a commit to whiskyboy/autogen that referenced this pull request Apr 17, 2024
* indentation space microsoft#884 changing indentation of python code blocks

* indentation space microsoft#884 changing indentation of python code blocks 2
whiskyboy pushed a commit to whiskyboy/autogen that referenced this pull request Apr 17, 2024
* Allow the GroupChatManager to send introductions.

* Fixed function name.

* Added test cases for sending introductions.

* Trying to sort out why remote pytest is failing.

* Fixed broken plugin behavior.

* Update autogen/agentchat/groupchat.py

Co-authored-by: Chi Wang <wang.chi@microsoft.com>

* Updated as per Chi's suggestions.

---------

Co-authored-by: Chi Wang <wang.chi@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gaia PRs or issues related to GAIA (enabling measurement, or improving performance) group chat group-chat-related issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.