45 instantiations of ChatRole
Microsoft.Extensions.AI.Abstractions (5)
Microsoft.Extensions.AI.Abstractions.Tests (31)
Microsoft.Extensions.AI.AzureAIInference (2)
Microsoft.Extensions.AI.Ollama (1)
Microsoft.Extensions.AI.OpenAI (2)
Microsoft.Extensions.AI.Tests (4)
477 references to ChatRole
Aspire.Azure.AI.OpenAI.Tests (1)
Aspire.OpenAI.Tests (1)
Microsoft.Extensions.AI (9)
ChatCompletion\ChatClientStructuredOutputExtensions.cs (3)
74GetResponseAsync<T>(chatClient, new ChatMessage(ChatRole.User, chatMessage), options, useJsonSchemaResponseFormat, cancellationToken);
114GetResponseAsync<T>(chatClient, new ChatMessage(ChatRole.User, chatMessage), serializerOptions, options, useJsonSchemaResponseFormat, cancellationToken);
213promptAugmentation = new ChatMessage(ChatRole.User, $$"""
Microsoft.Extensions.AI.Abstractions (37)
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 = "someResponse", MessageId = "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)
145[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] :
146[new ChatMessage(ChatRole.User, "hello")];
158Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
218[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] :
219[new ChatMessage(ChatRole.User, "hello")];
241Assert.Equal(ChatRole.Assistant, updates[i].Role);
986new(ChatRole.System, "You are a really nice friend."),
987new(ChatRole.User, "hello!"),
988new(ChatRole.Assistant, "hi, how are you?"),
989new(ChatRole.User, "i'm good. how are you?"),
990new(ChatRole.Assistant, [new FunctionCallContent("abcd123", "GetMood")]),
991new(ChatRole.Tool, [new FunctionResultContent("abcd123", "happy")]),
1007Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
1067Assert.NotNull(await client.GetResponseAsync([new(ChatRole.User,
1132new(ChatRole.Assistant, (string?)null),
1133new(ChatRole.User, "hello!"),
1142Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
1258Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
1354Assert.Equal(ChatRole.Assistant, updates[i].Role);
Microsoft.Extensions.AI.Evaluation (9)
Microsoft.Extensions.AI.Evaluation.Integration.Tests (9)
Microsoft.Extensions.AI.Evaluation.NLP.Tests (17)
Microsoft.Extensions.AI.Evaluation.Quality (22)
Microsoft.Extensions.AI.Evaluation.Reporting (3)
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (8)
Microsoft.Extensions.AI.Evaluation.Safety (11)
Microsoft.Extensions.AI.Evaluation.Tests (3)
Microsoft.Extensions.AI.Integration.Tests (34)
ChatClientIntegrationTests.cs (26)
69new(ChatRole.User, "Pick a city, any city"),
70new(ChatRole.Assistant, "Seattle"),
71new(ChatRole.User, "And another one"),
72new(ChatRole.Assistant, "Jakarta"),
73new(ChatRole.User, "What continent are they each in?"),
87new(ChatRole.System, []),
88new(ChatRole.User, []),
89new(ChatRole.Assistant, []),
90new(ChatRole.User, "What is 1 + 2? Reply with a single number."),
103new(ChatRole.User, "Quote, word for word, Neil Armstrong's famous words.")
161List<ChatMessage> history = [new(ChatRole.User, "Explain in 100 words how AI works")];
168Assert.Equal(ChatRole.Assistant, history[1].Role);
184new(ChatRole.User,
202new(ChatRole.User,
232new(ChatRole.User, "What is the current secret number?")
299new(ChatRole.User, "What is the secret number for id foo?")
331new(ChatRole.User, "What is the secret number for John aged 19?")
361new(ChatRole.User, "Can you add bacon, lettuce, and tomatoes to Peter's shopping cart?")
640var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000");
656var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000");
681var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000");
733var message = new ChatMessage(ChatRole.User, "What is the temperature?");
772var message = new ChatMessage(ChatRole.User, "What is the temperature?");
814var message = new ChatMessage(ChatRole.User, "What is the temperature?");
842await chatClient.GetResponseAsync([new(ChatRole.User, "What's the biggest animal?")]);
941var response = await chatClient.GetResponseAsync([new(ChatRole.User, "What's the biggest animal?")]);
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 (1)
Microsoft.Extensions.AI.Ollama.Tests (11)
OllamaChatClientTests.cs (11)
124Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
194Assert.Equal(ChatRole.Assistant, updates[i].Role);
269new(ChatRole.User, "hello!"),
270new(ChatRole.Assistant, "hi, how are you?"),
271new(ChatRole.User, "i'm good. how are you?"),
293Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
382Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
467new(ChatRole.User, "How old is Alice?"),
468new(ChatRole.Assistant, [new FunctionCallContent("abcd1234", "GetPersonAge", new Dictionary<string, object?> { ["personName"] = "Alice" })]),
469new(ChatRole.Tool, [new FunctionResultContent("abcd1234", 42)]),
479Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
Microsoft.Extensions.AI.OpenAI (32)
Microsoft.Extensions.AI.OpenAI.Tests (39)
OpenAIChatClientTests.cs (27)
165Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
253Assert.Equal(ChatRole.Assistant, updates[i].Role);
804new(ChatRole.System, "You are a really nice friend."),
805new(ChatRole.User, "hello!"),
806new(ChatRole.Assistant, "hi, how are you?"),
807new(ChatRole.User, "i'm good. how are you?"),
823Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
911new(ChatRole.System, [new TextContent("You are a really nice friend."), new TextContent("Really nice.")]),
912new(ChatRole.User, "hello!"),
921Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
1007new(ChatRole.System, "You are a really nice friend."),
1008new(ChatRole.User, "hello!"),
1009new(ChatRole.Assistant, (string?)null),
1010new(ChatRole.User, "i'm good. how are you?"),
1019Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
1132Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
1216Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
1326Assert.Equal(ChatRole.Assistant, updates[i].Role);
1449new(ChatRole.System, "You are a really nice friend."),
1450new(ChatRole.User, "hello!"),
1451new(ChatRole.Assistant,
1457new (ChatRole.Tool,
1462new(ChatRole.Assistant, "You are great."),
1463new(ChatRole.User, "Thanks!"),
1472Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
1569new(ChatRole.User,
1586Assert.Equal(ChatRole.Assistant, response.Messages.Single().Role);
OpenAIConversionTests.cs (10)
87new(ChatRole.System, "You are a helpful assistant."),
88new(ChatRole.User, "Hello"),
89new(ChatRole.Assistant,
98new(ChatRole.Tool, [new FunctionResultContent("callid123", "theresult")]),
99new(ChatRole.Assistant, "The answer is 42."),
139new(ChatRole.System, "You are a helpful assistant."),
140new(ChatRole.User, "Hello"),
141new(ChatRole.Assistant,
150new(ChatRole.Tool, [new FunctionResultContent("callid123", "theresult")]),
151new(ChatRole.Assistant, "The answer is 42."),
Microsoft.Extensions.AI.Tests (145)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (20)
23var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Animal)))
81var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
106var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Options)))
129Assert.Equal(ChatRole.User, message.Role);
142var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
167var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Options)));
201var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "This is not valid JSON"));
207var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
220var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "null"));
226var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
239var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, [new UriContent("https://example.com", "image/*")]));
245var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
259var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Options)));
273var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
294var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(payload, JsonContext2.Default.Options)));
301var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
326var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, jso)));
369var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
393return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, resultDuplicatedJson)));
397var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
ChatCompletion\DistributedCachingChatClientTest.cs (23)
140return new ChatResponse(new ChatMessage(ChatRole.Assistant, "Hello"));
184var input = new ChatMessage(ChatRole.User, "abc");
214return new ChatResponse(new ChatMessage(ChatRole.Assistant, "A good result"));
223var input = new ChatMessage(ChatRole.User, "abc");
313new(ChatRole.Assistant, "This"),
314new(ChatRole.Assistant, " becomes one chunk"),
315new() { Role = ChatRole.Assistant, Contents = [new FunctionCallContent("callId1", "separator")] },
316new(ChatRole.Assistant, "... and this"),
317new(ChatRole.Assistant, " becomes another"),
318new(ChatRole.Assistant, " one."),
368new() { Role = ChatRole.Assistant, Contents = [new TextContent("Hello")] },
369new() { Role = ChatRole.Assistant, Contents = [new TextContent(" world, ")] },
372Role = ChatRole.Assistant,
383Role = ChatRole.Assistant,
436new(ChatRole.Assistant, "Chunk 1"),
484() => new(ChatRole.Assistant, "Chunk 1"),
494var input = new ChatMessage(ChatRole.User, "abc");
523[() => new(ChatRole.Assistant, "A good result")]);
532var input = new ChatMessage(ChatRole.User, "abc");
559return new(new ChatMessage(ChatRole.Assistant, options!.AdditionalProperties!["someKey"]!.ToString()));
610return new(new ChatMessage(ChatRole.Assistant, innerCallCount.ToString()));
656return new(new ChatMessage(ChatRole.Assistant, options!.AdditionalProperties!["someKey"]!.ToString()));
744new ChatMessage(ChatRole.Assistant, [new TextContent("Hey")])));
ChatCompletion\FunctionInvokingChatClientTests.cs (86)
87new ChatMessage(ChatRole.User, "hello"),
88new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1")]),
89new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]),
90new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } })]),
91new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]),
92new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "VoidReturn", arguments: new Dictionary<string, object?> { { "i", 43 } })]),
93new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]),
94new ChatMessage(ChatRole.Assistant, "world"),
118new ChatMessage(ChatRole.User, "hello"),
119new ChatMessage(ChatRole.Assistant,
125new ChatMessage(ChatRole.Tool,
131new ChatMessage(ChatRole.Assistant,
136new ChatMessage(ChatRole.Tool,
141new ChatMessage(ChatRole.Assistant, "world"),
178new ChatMessage(ChatRole.User, "hello"),
179new ChatMessage(ChatRole.Assistant,
184new ChatMessage(ChatRole.Tool,
189new ChatMessage(ChatRole.Assistant, "done"),
222new ChatMessage(ChatRole.User, "hello"),
223new ChatMessage(ChatRole.Assistant,
228new ChatMessage(ChatRole.Tool,
233new ChatMessage(ChatRole.Assistant, "done"),
256new ChatMessage(ChatRole.User, "hello"),
257new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1")]),
258new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1 from delegate")]),
259new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } })]),
260new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42 from delegate")]),
261new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "VoidReturn", arguments: new Dictionary<string, object?> { { "i", 43 } })]),
262new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]),
263new ChatMessage(ChatRole.Assistant, "world"),
305new ChatMessage(ChatRole.User, "hello"),
306new ChatMessage(ChatRole.Assistant, [new FunctionCallContent($"callId0", "VoidReturn")]),
313plan.Add(new ChatMessage(ChatRole.Tool, [new FunctionResultContent($"callId{i}", result: "Success: Function completed.")]));
314plan.Add(new ChatMessage(ChatRole.Assistant, [new FunctionCallContent($"callId{(i + 1)}", "VoidReturn")]));
354new ChatMessage(ChatRole.User, "hello"),
432new ChatMessage(ChatRole.User, "hello"),
449var assistantMessage = new ChatMessage(ChatRole.Assistant, []);
450var toolMessage = new ChatMessage(ChatRole.Tool, []);
479new ChatMessage(ChatRole.User, "hello"),
480new ChatMessage(ChatRole.Assistant, [new TextContent("extra"), new FunctionCallContent("callId1", "Func1"), new TextContent("stuff")]),
481new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 1")]),
482new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func2", arguments: new Dictionary<string, object?> { { "i", 42 } })]),
483new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 2: 42")]),
484new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "VoidReturn", arguments: new Dictionary<string, object?> { { "i", 43 } }), new TextContent("more")]),
485new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Success: Function completed.")]),
486new ChatMessage(ChatRole.Assistant, "world"),
516new ChatMessage(ChatRole.User, "hello"),
517new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1")]),
518new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: detailedErrors ? "Error: Function failed. Exception: Oh no!" : "Error: Function failed.")]),
519new ChatMessage(ChatRole.Assistant, "world"),
538new ChatMessage(ChatRole.User, "hello"),
539new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["arg1"] = "value1" })]),
540new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]),
541new ChatMessage(ChatRole.Assistant, "world"),
594new ChatMessage(ChatRole.User, "hello"),
595new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["arg1"] = "value1" })]),
596new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]),
597new ChatMessage(ChatRole.Assistant, "world"),
655new(ChatRole.User, "Hello"),
713new(ChatRole.User, "Hello"),
723new(ChatRole.Assistant, [new FunctionCallContent($"callId{chatContents.Count()}", "Func1")]) :
724new(ChatRole.Assistant, "The answer is 42.");
771new ChatMessage(ChatRole.User, "hello"),
772new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["i"] = 41 })]),
773new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 41")]),
774new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId2", "Func1", new Dictionary<string, object?> { ["i"] = 42 })]),
775new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId2", result: "Result 42")]),
782new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "Func1", new Dictionary<string, object?> { ["i"] = 43 })]),
783new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId3", result: "Result 43")]),
784new ChatMessage(ChatRole.Assistant, "world"),
838var existingSearchResult = chatContents.SingleOrDefault(m => m.Role == ChatRole.Tool);
847var message = new ChatMessage(ChatRole.Assistant, resultContents);
855List<ChatMessage> messages = [new(ChatRole.User, "hello")];
862Assert.Equal(ChatRole.Tool, lastMessage.Role);
890return new ChatResponse(new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId-abc", "Func1")]))
898return new ChatResponse(new ChatMessage(ChatRole.Assistant, "done!"));
927new ChatMessage(ChatRole.User, "hello"),
928new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["arg1"] = "value1" })]),
929new ChatMessage(ChatRole.Tool, [new FunctionResultContent("callId1", result: "Result 1")]),
930new ChatMessage(ChatRole.Assistant, "world"),
956new ChatMessage(ChatRole.User, "hello"),
957new ChatMessage(ChatRole.Assistant, [
961new ChatMessage(ChatRole.Tool,
966new ChatMessage(ChatRole.Assistant, "world"),
1030var message = new ChatMessage(ChatRole.Assistant, [.. plan[contents.Count()].Contents])
1124ChatMessage 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)