44 instantiations of ChatRole
Microsoft.Extensions.AI.Abstractions (5)
Microsoft.Extensions.AI.Abstractions.Tests (30)
Microsoft.Extensions.AI.AzureAIInference (2)
Microsoft.Extensions.AI.Ollama (1)
Microsoft.Extensions.AI.OpenAI (2)
Microsoft.Extensions.AI.Tests (4)
370 references to ChatRole
Aspire.Azure.AI.OpenAI.Tests (1)
Aspire.OpenAI.Tests (1)
Microsoft.Extensions.AI (9)
ChatCompletion\ChatClientStructuredOutputExtensions.cs (3)
68GetResponseAsync<T>(chatClient, new ChatMessage(ChatRole.User, chatMessage), options, useNativeJsonSchema, cancellationToken);
110GetResponseAsync<T>(chatClient, new ChatMessage(ChatRole.User, chatMessage), serializerOptions, options, useNativeJsonSchema, cancellationToken);
212promptAugmentation = new ChatMessage(ChatRole.User, $$"""
Microsoft.Extensions.AI.Abstractions (36)
Microsoft.Extensions.AI.Abstractions.Tests (30)
ChatCompletion\ChatMessageTests.cs (10)
21Assert.Equal(ChatRole.User, message.Role);
36ChatMessage message = new(ChatRole.Assistant, text);
38Assert.Equal(ChatRole.Assistant, message.Role);
67message = new(ChatRole.User, (string?)null);
71message = new(ChatRole.User, (IList<AIContent>?)null);
75message = new ChatMessage(ChatRole.User, Array.Empty<AIContent>());
92ChatMessage message = new(ChatRole.System, content);
94Assert.Equal(ChatRole.System, message.Role);
142ChatMessage message = new(ChatRole.User,
260var chatMessage = new ChatMessage(ChatRole.User, contents: items)
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (1)
31new(ChatRole.Assistant, "Hello") { ResponseId = "12345", CreatedAt = new DateTimeOffset(1, 2, 3, 4, 5, 6, TimeSpan.Zero), ModelId = "model123" },
Microsoft.Extensions.AI.AzureAIInference (11)
Microsoft.Extensions.AI.AzureAIInference.Tests (19)
AzureAIInferenceChatClientTests.cs (19)
156[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] :
157[new ChatMessage(ChatRole.User, "hello")];
169Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
228[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] :
229[new ChatMessage(ChatRole.User, "hello")];
250Assert.Equal(ChatRole.Assistant, updates[i].Role);
535new(ChatRole.System, "You are a really nice friend."),
536new(ChatRole.User, "hello!"),
537new(ChatRole.Assistant, "hi, how are you?"),
538new(ChatRole.User, "i'm good. how are you?"),
539new(ChatRole.Assistant, [new FunctionCallContent("abcd123", "GetMood")]),
540new(ChatRole.Tool, [new FunctionResultContent("abcd123", "happy")]),
556Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
615Assert.NotNull(await client.GetResponseAsync([new(ChatRole.User,
680new(ChatRole.Assistant, (string?)null),
681new(ChatRole.User, "hello!"),
690Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
806Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
901Assert.Equal(ChatRole.Assistant, updates[i].Role);
Microsoft.Extensions.AI.Evaluation (3)
Microsoft.Extensions.AI.Evaluation.Integration.Tests (2)
Microsoft.Extensions.AI.Evaluation.Quality (6)
Microsoft.Extensions.AI.Evaluation.Reporting (3)
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (8)
Microsoft.Extensions.AI.Integration.Tests (23)
ChatClientIntegrationTests.cs (15)
62new(ChatRole.User, "Pick a city, any city"),
63new(ChatRole.Assistant, "Seattle"),
64new(ChatRole.User, "And another one"),
65new(ChatRole.Assistant, "Jakarta"),
66new(ChatRole.User, "What continent are they each in?"),
80new(ChatRole.User, []),
81new(ChatRole.User, "What is 1 + 2? Reply with a single number."),
94new(ChatRole.User, "Quote, word for word, Neil Armstrong's famous words.")
152List<ChatMessage> history = [new(ChatRole.User, "Explain in 100 words how AI works")];
159Assert.Equal(ChatRole.Assistant, history[1].Role);
175new(ChatRole.User,
205new(ChatRole.User, "What is the current secret number?")
343var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000");
359var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000");
384var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000");
ReducingChatClientTests.cs (5)
47new ChatMessage(ChatRole.User, "Hi there! Can you tell me about golden retrievers?"),
48new ChatMessage(ChatRole.Assistant, "Of course! Golden retrievers are known for their friendly and tolerant attitudes. They're great family pets and are very intelligent and easy to train."),
49new ChatMessage(ChatRole.User, "What kind of exercise do they need?"),
50new ChatMessage(ChatRole.Assistant, "Golden retrievers are quite active and need regular exercise. Daily walks, playtime, and activities like fetching or swimming are great for them."),
51new ChatMessage(ChatRole.User, "Are they good with kids?"),
Microsoft.Extensions.AI.Ollama.Tests (11)
OllamaChatClientTests.cs (11)
123Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
192Assert.Equal(ChatRole.Assistant, updates[i].Role);
267new(ChatRole.User, "hello!"),
268new(ChatRole.Assistant, "hi, how are you?"),
269new(ChatRole.User, "i'm good. how are you?"),
291Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
380Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
465new(ChatRole.User, "How old is Alice?"),
466new(ChatRole.Assistant, [new FunctionCallContent("abcd1234", "GetPersonAge", new Dictionary<string, object?> { ["personName"] = "Alice" })]),
467new(ChatRole.Tool, [new FunctionResultContent("abcd1234", 42)]),
477Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
Microsoft.Extensions.AI.OpenAI (27)
Microsoft.Extensions.AI.OpenAI.Tests (38)
OpenAIChatClientTests.cs (24)
200Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
289Assert.Equal(ChatRole.Assistant, updates[i].Role);
441new(ChatRole.System, "You are a really nice friend."),
442new(ChatRole.User, "hello!"),
443new(ChatRole.Assistant, "hi, how are you?"),
444new(ChatRole.User, "i'm good. how are you?"),
460Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
550new(ChatRole.System, [new TextContent("You are a really nice friend."), new TextContent("Really nice.")]),
551new(ChatRole.User, "hello!"),
560Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
649new(ChatRole.System, "You are a really nice friend."),
650new(ChatRole.User, "hello!"),
651new(ChatRole.Assistant, (string?)null),
652new(ChatRole.User, "i'm good. how are you?"),
661Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
776Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
889Assert.Equal(ChatRole.Assistant, updates[i].Role);
1014new(ChatRole.System, "You are a really nice friend."),
1015new(ChatRole.User, "hello!"),
1016new(ChatRole.Assistant,
1022new (ChatRole.Tool,
1027new(ChatRole.Assistant, "You are great."),
1028new(ChatRole.User, "Thanks!"),
1037Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
OpenAISerializationTests.cs (14)
48Assert.Equal(ChatRole.User, message.Role);
81Assert.Equal(ChatRole.User, message.Role);
113Assert.Equal(ChatRole.User, message.Role);
186Assert.Equal(ChatRole.System, msg.Role);
198Assert.Equal(ChatRole.User, msg.Role);
210Assert.Equal(ChatRole.Assistant, msg.Role);
222Assert.Equal(ChatRole.User, msg.Role);
280Assert.Equal(ChatRole.System, msg.Role);
304Assert.Equal(ChatRole.User, msg.Role);
437Assert.Equal(ChatRole.Assistant, msg.Role);
449Assert.Equal(ChatRole.Tool, msg.Role);
467Role = ChatRole.Assistant,
608Role = ChatRole.Assistant,
690Role = ChatRole.Assistant,
Microsoft.Extensions.AI.Tests (117)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (21)
21var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult)))
44Assert.Equal(ChatRole.User, message.Role);
57var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
82var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult)));
114var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "This is not valid JSON"));
120var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
133var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "null"));
139var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
152var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, [new UriContent("https://example.com", "image/*")]));
158var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
172var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult)));
196var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
216var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult)));
230var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
251var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(payload)));
258var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
282var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, jso)));
292Assert.Equal(ChatRole.User, message.Role);
304var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
328return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, resultDuplicatedJson)));
332var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
ChatCompletion\DistributedCachingChatClientTest.cs (22)
113return new ChatResponse(new ChatMessage(ChatRole.Assistant, "Hello"));
157var input = new ChatMessage(ChatRole.User, "abc");
187return new ChatResponse(new ChatMessage(ChatRole.Assistant, "A good result"));
196var input = new ChatMessage(ChatRole.User, "abc");
283new(ChatRole.Assistant, "This"),
284new(ChatRole.Assistant, " becomes one chunk"),
285new() { Role = ChatRole.Assistant, Contents = [new FunctionCallContent("callId1", "separator")] },
286new(ChatRole.Assistant, "... and this"),
287new(ChatRole.Assistant, " becomes another"),
288new(ChatRole.Assistant, " one."),
338new() { Role = ChatRole.Assistant, Contents = [new TextContent("Hello")] },
339new() { Role = ChatRole.Assistant, Contents = [new TextContent(" world, ")] },
342Role = ChatRole.Assistant,
353Role = ChatRole.Assistant,
404new(ChatRole.Assistant, "Chunk 1"),
452() => new(ChatRole.Assistant, "Chunk 1"),
462var input = new ChatMessage(ChatRole.User, "abc");
491[() => new(ChatRole.Assistant, "A good result")]);
500var input = new ChatMessage(ChatRole.User, "abc");
527return new(new ChatMessage(ChatRole.Assistant, options!.AdditionalProperties!["someKey"]!.ToString()));
578return new(new ChatMessage(ChatRole.Assistant, options!.AdditionalProperties!["someKey"]!.ToString()));
666new ChatMessage(ChatRole.Assistant, [new TextContent("Hey")])));
ChatCompletion\FunctionInvokingChatClientTests.cs (58)
56new ChatMessage(ChatRole.User, "hello"),
57new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1")]),
58new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]),
59new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } })]),
60new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]),
61new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "VoidReturn", arguments: new Dictionary<string, object?> { { "i", 43 } })]),
62new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]),
63new ChatMessage(ChatRole.Assistant, "world"),
87new ChatMessage(ChatRole.User, "hello"),
88new ChatMessage(ChatRole.Assistant,
94new ChatMessage(ChatRole.Tool,
100new ChatMessage(ChatRole.Assistant,
105new ChatMessage(ChatRole.Tool,
110new ChatMessage(ChatRole.Assistant, "world"),
140new ChatMessage(ChatRole.User, "hello"),
141new ChatMessage(ChatRole.Assistant,
146new ChatMessage(ChatRole.Tool,
151new ChatMessage(ChatRole.Assistant, "done"),
184new ChatMessage(ChatRole.User, "hello"),
185new ChatMessage(ChatRole.Assistant,
190new ChatMessage(ChatRole.Tool,
195new ChatMessage(ChatRole.Assistant, "done"),
218new ChatMessage(ChatRole.User, "hello"),
219new ChatMessage(ChatRole.Assistant, [new TextContent("extra"), new FunctionCallContent("callId1", "Func1"), new TextContent("stuff")]),
220new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 1")]),
221new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } })]),
222new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]),
223new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "VoidReturn", arguments: new Dictionary<string, object?> { { "i", 43 } }), new TextContent("more")]),
224new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]),
225new ChatMessage(ChatRole.Assistant, "world"),
255new ChatMessage(ChatRole.User, "hello"),
256new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1")]),
257new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: detailedErrors ? "Error: Function failed. Exception: Oh no!" : "Error: Function failed.")]),
258new ChatMessage(ChatRole.Assistant, "world"),
277new ChatMessage(ChatRole.User, "hello"),
278new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["arg1"] = "value1" })]),
279new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]),
280new ChatMessage(ChatRole.Assistant, "world"),
333new ChatMessage(ChatRole.User, "hello"),
334new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["arg1"] = "value1" })]),
335new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]),
336new ChatMessage(ChatRole.Assistant, "world"),
394new(ChatRole.User, "Hello"),
452new(ChatRole.User, "Hello"),
462new(ChatRole.Assistant, [new FunctionCallContent($"callId{chatContents.Count()}", "Func1")]) :
463new(ChatRole.Assistant, "The answer is 42.");
510new ChatMessage(ChatRole.User, "hello"),
511new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["i"] = 41 })]),
512new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 41")]),
513new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func1", new Dictionary<string, object?> { ["i"] = 42 })]),
514new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 42")]),
521new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "Func1", new Dictionary<string, object?> { ["i"] = 43 })]),
522new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Result 43")]),
523new ChatMessage(ChatRole.Assistant, "world"),
576return new ChatResponse(new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId-abc", "Func1")]))
584return new ChatResponse(new ChatMessage(ChatRole.Assistant, "done!"));
634var message = new ChatMessage(ChatRole.Assistant, [.. plan[contents.Count()].Contents]);
725ChatMessage message = new(ChatRole.Assistant, [.. plan[contents.Count()].Contents]);
ChatCompletion\OpenTelemetryChatClientTests.cs (8)
41return new ChatResponse(new ChatMessage(ChatRole.Assistant, "The blue whale, I think."))
72yield return new ChatResponseUpdate(ChatRole.Assistant, text)
110new(ChatRole.System, "You are a close friend."),
111new(ChatRole.User, "Hey!"),
112new(ChatRole.Assistant, [new FunctionCallContent("12345", "GetPersonName")]),
113new(ChatRole.Tool, [new FunctionResultContent("12345", "John")]),
114new(ChatRole.Assistant, "Hey John, what's up?"),
115new(ChatRole.User, "What's the biggest animal?")
Microsoft.ML.GenAI.Core (2)
Microsoft.ML.GenAI.Core.Tests (3)
Microsoft.ML.GenAI.LLaMA (6)
Microsoft.ML.GenAI.LLaMA.Tests (3)
Microsoft.ML.GenAI.Phi (6)
Microsoft.ML.GenAI.Samples (5)