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

.NET AgentChat Part 1: Abstractions, Base Classes, RoundRobin #5434

Merged
merged 6 commits into from
Feb 7, 2025

Conversation

lokitoth
Copy link
Member

@lokitoth lokitoth commented Feb 7, 2025

Stands up an initial implementation of the AgentChat project, including abstractions, base classes, and the RoundRobinGroupChat implementation.

@lokitoth lokitoth mentioned this pull request Feb 7, 2025
23 tasks
Copy link

codecov bot commented Feb 7, 2025

Codecov Report

Attention: Patch coverage is 0% with 2 lines in your changes missing coverage. Please review.

Project coverage is 76.49%. Comparing base (0008c9c) to head (ad643f1).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
.../src/Microsoft.AutoGen/Contracts/MessageContext.cs 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5434      +/-   ##
==========================================
- Coverage   78.10%   76.49%   -1.62%     
==========================================
  Files         158      192      +34     
  Lines        9585    10617    +1032     
  Branches        0      138     +138     
==========================================
+ Hits         7486     8121     +635     
- Misses       2099     2402     +303     
- Partials        0       94      +94     
Flag Coverage Δ
unittests 76.49% <0.00%> (-1.62%) ⬇️

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.

@lokitoth lokitoth force-pushed the dev/agentchat_dotnet branch from aa58e3d to 2406012 Compare February 7, 2025 19:10
@lokitoth lokitoth requested a review from Copilot February 7, 2025 19:15
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot reviewed 10 out of 25 changed files in this pull request and generated 3 comments.

Files not reviewed (15)
  • dotnet/AutoGen.sln: Language not supported
  • dotnet/src/Microsoft.AutoGen/AgentChat/Microsoft.AutoGen.AgentChat.csproj: Language not supported
  • dotnet/src/Microsoft.AutoGen/AgentChat/Abstractions/MessageHandling.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/Abstractions/Tasks.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/GroupChat/Events.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/GroupChat/HostableAgentAdapter.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/GroupChat/GroupChatHandlerRouter.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/GroupChat/ChatAgentRouter.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/Agents/ChatAgentBase.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/GroupChat/GroupChatManagerBase.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/GroupChat/OutputCollectorAgent.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/GroupChat/RoundRobinGroupChat.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/Abstractions/ChatAgent.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/GroupChat/GroupChatBase.cs: Evaluated as low risk
  • dotnet/src/Microsoft.AutoGen/AgentChat/Abstractions/Tools.cs: Evaluated as low risk
Comments suppressed due to low confidence (2)

dotnet/src/Microsoft.AutoGen/AgentChat/Abstractions/Termination.cs:7

  • The word 'deterines' should be 'determines'.
/// A stateful condition that deterines when a conversation should be terminated.

dotnet/src/Microsoft.AutoGen/AgentChat/GroupChat/GroupChatOptions.cs:16

  • Using a tuple for the Participants dictionary values can be ambiguous. Consider using a well-defined class or struct instead.
public Dictionary<string, (string TopicType, string Description)> Participants { get; } = new Dictionary<string, (string, string)>();

@lokitoth lokitoth force-pushed the dev/agentchat_dotnet branch 2 times, most recently from 3e071b5 to c5739eb Compare February 7, 2025 20:04
* Define all of the interfaces to match Python
* Define the message and event types, along with "union" equivalents
* Create mapping layer to M.E.AI, to enable interop with IChatCompletionClient
* Define internal message handling abstractions (IHandleXYZ)
* Fixes it to actually display data inside it
* Implement message handlers for GroupChatManagerBase
* Implement wrapping the runtime for GroupChatBase
* Define the adapter layer between Core and AgentChat
* Definte a basic StopMessage-based termination condition
* Implement de-minimis smoke test
* Creates a named type for the Participants dictionary in GroupChatOptions
@lokitoth lokitoth force-pushed the dev/agentchat_dotnet branch from c5739eb to ad643f1 Compare February 7, 2025 22:33
@lokitoth lokitoth merged commit 9f1c4c9 into main Feb 7, 2025
66 of 67 checks passed
@lokitoth lokitoth deleted the dev/agentchat_dotnet branch February 7, 2025 22:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants