-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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][Document] Add function comparison page between python AutoGen to website #3184
Comments
Should we add that the .NET version explicitly supports the graph concept (https://microsoft.github.io/autogen-for-net/articles/Use-graph-in-group-chat.html) while the Python version does not? |
Do we have a sample for sequential chat in .NET? |
@ChristianWeyer In .NET there is no apple2apple implementation of the sequential chat in python, which takes a json object task description and run that object in one pass. So you need to manually create the tasks to agents. Here is the sequential chat tasks in python and its equivalence in AutoGen.Net // Creating Tasks
// In python AutoGen, you can use initiate_chats to create and run a sequential of tasks in json object
// In dotnet AutoGen, however, that feature is not available, so you need to manually create these tasks using code.
// Task 1. Onboard customer by gathering name and location
// (onboard_personal_information_agent -> user .. (repeat less than two times)) -> summarizer
var greetingMessage = new TextMessage(Role.Assistant, """
Hello, I'm here to help you get started with our product.
Could you tell me your name and location?
""", from: onboardingPersonalInformationAgent.Name);
var conversation = await onboardingPersonalInformationAgent.SendAsync(
receiver: user,
[greetingMessage],
maxRound: 2);
var summarizePrompt = """
Return the customer information into as JSON object only: {'name': '', 'location': ''}
""";
var summary = await summarizer.SendAsync(summarizePrompt, conversation);
// Task 2. Gapther customer's preferences on news topics
// (onboarding_topic_preference_agent -> user .. (repeat one time)) -> summarizer
var topicPreferenceMessage = new TextMessage(Role.Assistant, """
Great! Could you tell me what topics you are interested in reading about?
""", from: onboardingTopicPreferenceAgent.Name);
conversation = await onboardingTopicPreferenceAgent.SendAsync(
receiver: user,
[topicPreferenceMessage],
maxRound: 1);
// Keep summarizing
summary = await summarizer.SendAsync(chatHistory: new[] { summary }.Concat(conversation));
// Task 3. Engage the customer with fun facts, jokes, or interesting stories based on the user's personal information and topic preferences
// (user(find fun thing to read) -> customerEngagementAgent .. (repeat 1 time)) -> summarizer
var funFactMessage = new TextMessage(Role.User, """
Let's find something fun to read.
""", from: user.Name);
conversation = await user.SendAsync(
receiver: customerEngagementAgent,
chatHistory: conversation.Concat([funFactMessage]), // this time, we keep the previous conversation history
maxRound: 1); |
Hey @olaoluwasalami , any updates on this issue |
Working on it now. Would create a PR now |
@LittleLittleCloud I have created a PR. Please take a look #3367 especially the location of the article and the title |
Agentic pattern
LLM platform support
Note
Other than the platforms list below, AutoGen.Net also supports all the platforms that semantic kernel supports via
AutoGen.SemanticKernel
as a bridgePopular Contrib Agent support
@sonichi @qingyun-wu please suggest any features I forget to add to this list.
Originally posted by @ChristianWeyer in #2787 (reply in thread)
The text was updated successfully, but these errors were encountered: