diff --git a/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/OpenTelemetryChatClient.cs b/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/OpenTelemetryChatClient.cs index 95358dd25a6..9935a7834fc 100644 --- a/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/OpenTelemetryChatClient.cs +++ b/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/OpenTelemetryChatClient.cs @@ -239,6 +239,7 @@ internal static string SerializeChatMessages( message.Role == ChatRole.Tool ? "tool" : message.Role == ChatRole.System || message.Role == new ChatRole("developer") ? "system" : "user", + Name = message.AuthorName, }; foreach (AIContent content in message.Contents) @@ -595,6 +596,7 @@ private void AddOutputMessagesTags(ChatResponse response, Activity? activity) private sealed class OtelMessage { public string? Role { get; set; } + public string? Name { get; set; } public List Parts { get; set; } = []; public string? FinishReason { get; set; } } diff --git a/test/Libraries/Microsoft.Extensions.AI.Tests/ChatCompletion/OpenTelemetryChatClientTests.cs b/test/Libraries/Microsoft.Extensions.AI.Tests/ChatCompletion/OpenTelemetryChatClientTests.cs index 88f02191163..f3236123969 100644 --- a/test/Libraries/Microsoft.Extensions.AI.Tests/ChatCompletion/OpenTelemetryChatClientTests.cs +++ b/test/Libraries/Microsoft.Extensions.AI.Tests/ChatCompletion/OpenTelemetryChatClientTests.cs @@ -105,10 +105,10 @@ async static IAsyncEnumerable CallbackAsync( List messages = [ new(ChatRole.System, "You are a close friend."), - new(ChatRole.User, "Hey!"), + new(ChatRole.User, "Hey!") { AuthorName = "Alice" }, new(ChatRole.Assistant, [new FunctionCallContent("12345", "GetPersonName")]), new(ChatRole.Tool, [new FunctionResultContent("12345", "John")]), - new(ChatRole.Assistant, "Hey John, what's up?"), + new(ChatRole.Assistant, "Hey John, what's up?") { AuthorName = "BotAssistant" }, new(ChatRole.User, "What's the biggest animal?") ]; @@ -201,6 +201,7 @@ async static IAsyncEnumerable CallbackAsync( }, { "role": "user", + "name": "Alice", "parts": [ { "type": "text", @@ -230,6 +231,7 @@ async static IAsyncEnumerable CallbackAsync( }, { "role": "assistant", + "name": "BotAssistant", "parts": [ { "type": "text",