18 writes to Role
Microsoft.Extensions.AI (1)
ChatCompletion\FunctionInvokingChatClient.cs (1)
1512ChatMessage functionCallMessage = resultWithRequestMessage.RequestMessage?.Clone() ?? new() { Role = ChatRole.Assistant };
Microsoft.Extensions.AI.Abstractions (3)
ChatCompletion\ChatMessage.cs (2)
40Role = role; 58Role = Role,
ChatCompletion\ChatResponseExtensions.cs (1)
529message.Role = role;
Microsoft.Extensions.AI.Evaluation.Integration.Tests (6)
SafetyEvaluatorTests.cs (6)
338Role = ChatRole.User, 376Role = ChatRole.Assistant, 410Role = ChatRole.User, 423Role = ChatRole.Assistant, 459Role = ChatRole.User, 472Role = ChatRole.Assistant,
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (1)
SerializationChainingTests.cs (1)
30Role = ChatRole.User,
Microsoft.Extensions.AI.OpenAI (7)
MicrosoftExtensionsAIChatExtensions.cs (5)
188resultMessage.Role = ChatRole.Assistant; 201resultMessage.Role = ChatRole.User; 207resultMessage.Role = ChatRole.System; 213resultMessage.Role = ChatRole.System; 219resultMessage.Role = ChatRole.Tool;
OpenAIChatClient.cs (1)
471Role = FromOpenAIChatRole(openAICompletion.Role),
OpenAIResponsesChatClient.cs (1)
183message.Role = AsChatRole(messageItem.Role);
182 references to Role
Microsoft.Extensions.AI (8)
ChatCompletion\FunctionInvokingChatClient.cs (1)
641Role = message.Role,
ChatCompletion\OpenTelemetryChatClient.cs (4)
239message.Role == ChatRole.Assistant ? "assistant" : 240message.Role == ChatRole.Tool ? "tool" : 241message.Role == ChatRole.System || message.Role == new ChatRole("developer") ? "system" :
ChatReduction\MessageCountingChatReducer.cs (1)
52if (message.Role == ChatRole.System)
ChatReduction\SummarizingChatReducer.cs (2)
103if (message.Role == ChatRole.System) 172if (unsummarizedMessages[i].Role == ChatRole.User)
Microsoft.Extensions.AI.Abstractions (3)
ChatCompletion\ChatMessage.cs (1)
58Role = Role,
ChatCompletion\ChatResponse.cs (1)
154Role = message.Role,
ChatCompletion\ChatResponseExtensions.cs (1)
496NotNullOrEqual(update.Role, lastMessage.Role);
Microsoft.Extensions.AI.Abstractions.Tests (44)
AssertExtensions.cs (2)
26Assert.Equal(expectedMessage.Role, chatMessage.Role);
ChatCompletion\ChatClientExtensionsTests.cs (2)
112Assert.Equal(ChatRole.User, m.Role); 139Assert.Equal(ChatRole.User, m.Role);
ChatCompletion\ChatMessageTests.cs (4)
21Assert.Equal(ChatRole.User, message.Role); 38Assert.Equal(ChatRole.Assistant, message.Role); 95Assert.Equal(ChatRole.System, message.Role); 288Assert.Equal("user", deserializedMessage.Role.Value);
ChatCompletion\ChatResponseTests.cs (1)
103Assert.Equal(ChatRole.Assistant, result.Messages.Single().Role);
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (33)
57Assert.Equal(ChatRole.Assistant, message.Role); 98Assert.Equal(ChatRole.Assistant, response.Messages[0].Role); 101Assert.Equal(ChatRole.Assistant, response.Messages[1].Role); 104Assert.Equal(ChatRole.User, response.Messages[2].Role); 107Assert.Equal(ChatRole.Assistant, response.Messages[3].Role); 110Assert.Equal(ChatRole.Tool, response.Messages[4].Role); 113Assert.Equal(ChatRole.Tool, response.Messages[5].Role); 116Assert.Equal(new ChatRole("human"), response.Messages[6].Role); 119Assert.Equal(new ChatRole("human"), response.Messages[7].Role); 122Assert.Equal(ChatRole.Assistant, response.Messages[8].Role); 163Assert.Equal(ChatRole.Assistant, response.Messages[0].Role); 167Assert.Equal(ChatRole.Assistant, response.Messages[1].Role); 171Assert.Equal(ChatRole.Assistant, response.Messages[2].Role); 175Assert.Equal(ChatRole.Assistant, response.Messages[3].Role); 213Assert.Equal(ChatRole.Assistant, response.Messages[0].Role); 218Assert.Equal(ChatRole.Assistant, response.Messages[1].Role); 223Assert.Equal(ChatRole.Assistant, response.Messages[2].Role); 228Assert.Equal(ChatRole.User, response.Messages[3].Role); 233Assert.Equal(ChatRole.Tool, response.Messages[4].Role); 269Assert.Equal(ChatRole.Assistant, message.Role); 335Assert.Equal(ChatRole.Assistant, response.Messages[0].Role); 339Assert.Equal(ChatRole.Assistant, response.Messages[1].Role); 372Assert.Equal(ChatRole.Assistant, message.Role); 402Assert.Equal(ChatRole.Assistant, response.Messages[0].Role); 406Assert.Equal(ChatRole.User, response.Messages[1].Role); 439Assert.Equal(new ChatRole("agent1"), response.Messages[0].Role); 442Assert.Equal(new ChatRole("agent2"), response.Messages[1].Role); 445Assert.Equal(ChatRole.Assistant, response.Messages[2].Role); 488Assert.Equal(ChatRole.Assistant, message1.Role); 496Assert.Equal(ChatRole.Assistant, message2.Role); 504Assert.Equal(ChatRole.User, message3.Role); 512Assert.Equal(ChatRole.Assistant, message4.Role); 780Assert.Equal(ChatRole.Tool, response.Messages[0].Role);
Contents\AIContentTests.cs (2)
85Assert.Equal(message.Role, deserialized.Role);
Microsoft.Extensions.AI.Evaluation (10)
ChatMessageExtensions.cs (9)
26/// last <see cref="ChatMessage"/> has <see cref="ChatMessage.Role"/> set to <see cref="ChatRole.User"/>; 31/// <paramref name="messages"/> has <see cref="ChatMessage.Role"/> set to <see cref="ChatRole.User"/>; 39messages.LastOrDefault() is ChatMessage lastMessage && lastMessage.Role == ChatRole.User 56/// last <see cref="ChatMessage"/> has <see cref="ChatMessage.Role"/> set to <see cref="ChatRole.User"/>; 65/// <paramref name="messages"/> has <see cref="ChatMessage.Role"/> set to <see cref="ChatRole.User"/>; 78lastMessage.Role == ChatRole.User) 105/// The returned string is prefixed with the <see cref="ChatMessage.Role"/> and 123string role = message.Role.Value; 145/// The rendered <paramref name="messages"/> are each prefixed with the <see cref="ChatMessage.Role"/> and
ChatResponseExtensions.cs (1)
27/// The rendered <see cref="ChatResponse.Messages"/> are each prefixed with the <see cref="ChatMessage.Role"/> and
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (3)
ScenarioRunResultTests.cs (2)
298=> x?.AuthorName == y?.AuthorName && x?.Role == y?.Role && x?.Text == y?.Text;
SerializationChainingTests.cs (1)
46Assert.Equal(ChatRole.User, resp.ModelResponse.Messages[0].Role);
Microsoft.Extensions.AI.Evaluation.Safety (2)
ContentSafetyServicePayloadUtilities.cs (2)
420if (message.Role == ChatRole.User) 429else if (message.Role == ChatRole.Assistant)
Microsoft.Extensions.AI.Integration.Tests (8)
ChatClientIntegrationTests.cs (7)
177Assert.Equal(ChatRole.Assistant, history[1].Role); 1164Assert.Equal(ChatRole.Assistant, m.Role); // Indicates this is the assistant's summary 1207Assert.Equal(ChatRole.System, m.Role); 1210m => Assert.Equal(ChatRole.Assistant, m.Role), // Summary message 1305Assert.Equal(ChatRole.Assistant, m.Role); // Summary 1347Assert.Equal(ChatRole.Assistant, summaryMessage.Role); 1669var conversationText = string.Join("\n", messages.Select(m => $"{m.Role}: {m.Text}"));
ImageGeneratingChatClientIntegrationTests.cs (1)
392var userMessage = processedMessages.First(m => m.Role == ChatRole.User);
Microsoft.Extensions.AI.OpenAI (18)
MicrosoftExtensionsAIChatExtensions.cs (1)
60ChatMessageRole role = ToChatMessageRole(lastMessage?.Role);
OpenAIAssistantsChatClient.cs (4)
518if (chatMessage.Role == ChatRole.System || 519chatMessage.Role == OpenAIClientExtensions.ChatRoleDeveloper) 545case FunctionResultContent result when chatMessage.Role == ChatRole.Tool: 554chatMessage.Role == ChatRole.Assistant ? MessageRole.Assistant : MessageRole.User,
OpenAIChatClient.cs (7)
153if (input.Role == ChatRole.System || 154input.Role == ChatRole.User || 155input.Role == OpenAIClientExtensions.ChatRoleDeveloper) 160input.Role == ChatRole.System ? new SystemChatMessage(parts) { ParticipantName = name } : 161input.Role == OpenAIClientExtensions.ChatRoleDeveloper ? new DeveloperChatMessage(parts) { ParticipantName = name } : 164else if (input.Role == ChatRole.Tool) 187else if (input.Role == ChatRole.Assistant)
OpenAIResponsesChatClient.cs (6)
826if (input.Role == ChatRole.System || 827input.Role == OpenAIClientExtensions.ChatRoleDeveloper) 832yield return input.Role == ChatRole.System ? 840if (input.Role == ChatRole.User) 927if (input.Role == ChatRole.Tool) 1061if (input.Role == ChatRole.Assistant)
Microsoft.Extensions.AI.OpenAI.Tests (38)
OpenAIChatClientTests.cs (17)
164Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role); 838Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role); 936Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role); 1034Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role); 1147Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role); 1231Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role); 1487Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role); 1601Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role); 1750Assert.Equal(ChatRole.System, extMessages[0].Role); 1761Assert.Equal(ChatRole.User, extMessages[0].Role); 1772Assert.Equal(ChatRole.Assistant, extMessages[0].Role); 1783Assert.Equal(ChatRole.System, extMessages[0].Role); 1794Assert.Equal(ChatRole.Tool, extMessages[0].Role); 1814Assert.Equal(ChatRole.System, extMessages[0].Role); 1815Assert.Equal(ChatRole.User, extMessages[1].Role); 1816Assert.Equal(ChatRole.Assistant, extMessages[2].Role); 1817Assert.Equal(ChatRole.System, extMessages[3].Role);
OpenAIConversionTests.cs (4)
775Assert.Equal(ChatRole.User, message.Role); 806Assert.Equal(ChatRole.Assistant, message.Role); 891Assert.Equal(ChatRole.Assistant, message.Role); 920Assert.Equal(ChatRole.Assistant, message.Role);
OpenAIResponseClientTests.cs (15)
162Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role); 716Assert.Equal(ChatRole.Assistant, responseMessage.Role); 1175Assert.Equal(ChatRole.Assistant, response.Messages[0].Role); 1177Assert.Equal(ChatRole.Assistant, response.Messages[1].Role); 1428Assert.Equal(ChatRole.Assistant, response.Messages[0].Role); 1683Assert.Equal(ChatRole.Assistant, response.Messages[0].Role); 2096Assert.Equal(ChatRole.Assistant, response.Messages[0].Role); 2396Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role); 2788Assert.Equal(ChatRole.Assistant, message.Role); 3007Assert.Equal(ChatRole.Assistant, message.Role); 5250var userMessage = response.Messages.FirstOrDefault(m => m.Role == ChatRole.User); 5259var assistantMessage = response.Messages.LastOrDefault(m => m.Role == ChatRole.Assistant); 5313var userMessage = response.Messages.FirstOrDefault(m => m.Role == ChatRole.User); 5322var assistantMessage = response.Messages.LastOrDefault(m => m.Role == ChatRole.Assistant); 5398Assert.Equal(ChatRole.Assistant, response.Messages[0].Role);
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\AssertExtensions.cs (2)
26Assert.Equal(expectedMessage.Role, chatMessage.Role);
Microsoft.Extensions.AI.Tests (26)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (1)
123Assert.Equal(ChatRole.User, message.Role);
ChatCompletion\DistributedCachingChatClientTest.cs (2)
806Assert.Equal(expectedMessage.Role, actualMessage.Role);
ChatCompletion\FunctionInvokingChatClientTests.cs (2)
929var existingSearchResult = chatContents.SingleOrDefault(m => m.Role == ChatRole.Tool); 953Assert.Equal(ChatRole.Tool, lastMessage.Role);
ChatReduction\MessageCountingChatReducerTests.cs (13)
66Assert.Equal(ChatRole.System, m.Role); 71Assert.Equal(ChatRole.User, m.Role); 76Assert.Equal(ChatRole.Assistant, m.Role); 102Assert.Equal(ChatRole.System, m.Role); 107Assert.Equal(ChatRole.User, m.Role); 112Assert.Equal(ChatRole.Assistant, m.Role); 117Assert.Equal(1, resultList.Count(m => m.Role == ChatRole.System)); 141Assert.Equal(ChatRole.User, m.Role); 148Assert.Equal(ChatRole.Assistant, m.Role); 186Assert.Equal(expectedRole, m.Role); 211Assert.Equal(ChatRole.System, m.Role); 254Assert.Equal(ChatRole.System, m.Role); 259Assert.Equal(ChatRole.Assistant, m.Role);
ChatReduction\SummarizingChatReducerTests.cs (6)
82Assert.Equal(ChatRole.System, resultList[0].Role); 207Assert.Contains(msgList, m => m.Role == ChatRole.System); 315Assert.Equal(ChatRole.System, resultList[0].Role); 319Assert.Equal(1, resultList.Count(m => m.Role == ChatRole.System)); 344m => Assert.Equal(ChatRole.System, m.Role)); 371m => Assert.Equal(ChatRole.System, m.Role));
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\AssertExtensions.cs (2)
26Assert.Equal(expectedMessage.Role, chatMessage.Role);
Microsoft.Extensions.DataIngestion.Tests (12)
Processors\AlternativeTextEnricherTests.cs (4)
48Assert.Equal(ChatRole.System, materializedMessages[0].Role); 49Assert.Equal(ChatRole.User, materializedMessages[1].Role); 135Assert.Equal(ChatRole.System, materializedMessages[0].Role); 136Assert.Equal(ChatRole.User, materializedMessages[1].Role);
Processors\ClassificationEnricherTests.cs (2)
78Assert.Equal(ChatRole.System, materializedMessages[0].Role); 79Assert.Equal(ChatRole.User, materializedMessages[1].Role);
Processors\KeywordEnricherTests.cs (2)
78Assert.Equal(ChatRole.System, materializedMessages[0].Role); 79Assert.Equal(ChatRole.User, materializedMessages[1].Role);
Processors\SentimentEnricherTests.cs (2)
62Assert.Equal(ChatRole.System, materializedMessages[0].Role); 63Assert.Equal(ChatRole.User, materializedMessages[1].Role);
Processors\SummaryEnricherTests.cs (2)
62Assert.Equal(ChatRole.System, materializedMessages[0].Role); 63Assert.Equal(ChatRole.User, materializedMessages[1].Role);
Microsoft.ML.GenAI.LLaMA (5)
Llama3_1ChatTemplateBuilder.cs (5)
99if (messages.Any(m => availableRoles.Any(availableRole => availableRole == m.Role) == false)) 108var role = message.Role.Value; 112_ when message.Role == ChatRole.System => $"<|start_header_id|>system<|end_header_id|>{Newline}{content.Trim()}<|eot_id|>{Newline}", 113_ when message.Role == ChatRole.User => $"<|start_header_id|>user<|end_header_id|>{Newline}{content.Trim()}<|eot_id|>{Newline}", 114_ when message.Role == ChatRole.Assistant => $"<|start_header_id|>assistant<|end_header_id|>{Newline}{content.Trim()}<|eot_id|>{Newline}",
Microsoft.ML.GenAI.Phi (5)
Phi3\Phi3ChatTemplateBuilder.cs (5)
100if (messages.Any(m => availableRoles.Any(availableRole => availableRole == m.Role) == false)) 111var role = message.Role.Value; 115_ when message.Role == ChatRole.System => $"<|system|>{Newline}{content}<|end|>{Newline}", 116_ when message.Role == ChatRole.User => $"<|user|>{Newline}{content}<|end|>{Newline}", 117_ when message.Role == ChatRole.Assistant => $"<|assistant|>{Newline}{content}<|end|>{Newline}",