Griffin Bassman 850377c74a
fix: Various fixes and cleanups to dotnet autogen core (#5242)
Co-authored-by: Jack Gerrits <jack@jackgerrits.com>
Co-authored-by: Ryan Sweet <rysweet@microsoft.com>
2025-01-28 17:13:36 -05:00

43 lines
1.4 KiB
C#

// Copyright (c) Microsoft Corporation. All rights reserved.
// BuildInMessageCodeSnippet.cs
using AutoGen.Core;
namespace AutoGen.Basic.Sample.CodeSnippet;
internal class BuildInMessageCodeSnippet
{
public async Task StreamingCallCodeSnippetAsync()
{
IStreamingAgent agent = default;
#region StreamingCallCodeSnippet
var helloTextMessage = new TextMessage(Role.User, "Hello");
var reply = agent.GenerateStreamingReplyAsync([helloTextMessage]);
var finalTextMessage = new TextMessage(Role.Assistant, string.Empty, from: agent.Name);
await foreach (var message in reply)
{
if (message is TextMessageUpdate textMessage)
{
Console.Write(textMessage.Content);
finalTextMessage.Update(textMessage);
}
}
#endregion StreamingCallCodeSnippet
#region StreamingCallWithFinalMessage
reply = agent.GenerateStreamingReplyAsync([helloTextMessage]);
TextMessage finalMessage = null;
await foreach (var message in reply)
{
if (message is TextMessageUpdate textMessage)
{
Console.Write(textMessage.Content);
}
else if (message is TextMessage txtMessage)
{
finalMessage = txtMessage;
}
}
#endregion StreamingCallWithFinalMessage
}
}