mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
.NET Port Agent Orchestration (#107)
* Checkpoint * Checkpoint * Namespaces * Namespace * Cleanup * Namespace order * Fix sync * Formatting * Formatting * Namespace * Namespace order * Code convention * Naming * Naming * Text handling * Text handling * Namespace * Namespace order * Namespace ordering * Test * ValueTask * net472 * Test fix * Fix namespace (net472) * Namespace * Fix conditional namespace * Fix type expression * Compatibility and cleanup * Sample compatibility * Sample compat * Test compat * modifier order * Simply http-stub * Formating fix for unit-test * Fix test * Real fix * Test clean-up * Update dotnet/src/Microsoft.Agents.Orchestration/Handoff/HandoffOrchestration.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix build errors after merging --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Stephen Toub <stoub@microsoft.com>
This commit is contained in:
co-authored by
Copilot
Stephen Toub
parent
35c938fb5b
commit
7c8ec5ec19
@@ -80,7 +80,7 @@ public abstract class BaseSample : TextWriter
|
||||
/// <param name="message">The text of the message to be sent. Cannot be null or empty.</param>
|
||||
protected void WriteUserMessage(string message)
|
||||
{
|
||||
this.WriteResponseOutput(new ChatResponse(new ChatMessage(ChatRole.User, message)), printUsage: false);
|
||||
this.WriteMessageOutput(new ChatMessage(ChatRole.User, message));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -101,8 +101,28 @@ public abstract class BaseSample : TextWriter
|
||||
}
|
||||
|
||||
var message = chatResponse.Messages.Last();
|
||||
this.WriteMessageOutput(message);
|
||||
|
||||
WriteUsage();
|
||||
|
||||
void WriteUsage()
|
||||
{
|
||||
if (!(printUsage ?? true) || chatResponse.Usage is null) { return; }
|
||||
|
||||
UsageDetails usageDetails = chatResponse.Usage;
|
||||
|
||||
Console.WriteLine($" [Usage] Tokens: {usageDetails.TotalTokenCount}, Input: {usageDetails.InputTokenCount}, Output: {usageDetails.OutputTokenCount}");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Writes the given chat message to the console.
|
||||
/// </summary>
|
||||
/// <param name="message">The specified message</param>
|
||||
protected void WriteMessageOutput(ChatMessage message)
|
||||
{
|
||||
string authorExpression = message.Role == ChatRole.User ? string.Empty : FormatAuthor();
|
||||
string contentExpression = string.IsNullOrWhiteSpace(chatResponse.Text) ? string.Empty : chatResponse.Text;
|
||||
string contentExpression = message.Text.Trim();
|
||||
bool isCode = false; //message.AdditionalProperties?.ContainsKey(OpenAIAssistantAgent.CodeInterpreterMetadataKey) ?? false;
|
||||
string codeMarker = isCode ? "\n [CODE]\n" : " ";
|
||||
Console.WriteLine($"\n# {message.Role}{authorExpression}:{codeMarker}{contentExpression}");
|
||||
@@ -124,16 +144,7 @@ public abstract class BaseSample : TextWriter
|
||||
}
|
||||
}
|
||||
|
||||
WriteUsage(chatResponse.Usage);
|
||||
|
||||
string FormatAuthor() => message.AuthorName is not null ? $" - {message.AuthorName ?? " * "}" : string.Empty;
|
||||
|
||||
void WriteUsage(UsageDetails? usageDetails)
|
||||
{
|
||||
if (!(printUsage ?? true) || usageDetails is null) { return; }
|
||||
|
||||
Console.WriteLine($" [Usage] Tokens: {usageDetails.TotalTokenCount}, Input: {usageDetails.InputTokenCount}, Output: {usageDetails.OutputTokenCount}");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user