301 instantiations of ChatMessage
Aspire.Azure.AI.OpenAI.Tests (1)
AspireAzureOpenAIClientBuilderChatClientExtensionsTests.cs (1)
221=> Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "Hello from middleware")));
Aspire.OpenAI.Tests (1)
AspireOpenAIClientBuilderChatClientExtensionsTests.cs (1)
269=> Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "Hello from middleware")));
Microsoft.Extensions.AI (4)
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, $$"""
ChatCompletion\FunctionInvokingChatClient.cs (1)
763return [new(ChatRole.Tool, contents)];
Microsoft.Extensions.AI.Abstractions (5)
ChatCompletion\ChatClientExtensions.cs (2)
100return client.GetResponseAsync(new ChatMessage(ChatRole.User, chatMessage), options, cancellationToken); 140return client.GetStreamingResponseAsync(new ChatMessage(ChatRole.User, chatMessage), options, cancellationToken);
ChatCompletion\ChatMessage.cs (1)
51new()
ChatCompletion\ChatResponseExtensions.cs (2)
87list.Add(new ChatMessage(update.Role ?? ChatRole.Assistant, contentsList) 271message = new ChatMessage(ChatRole.Assistant, []);
Microsoft.Extensions.AI.Abstractions.Tests (17)
ChatCompletion\ChatMessageTests.cs (14)
18ChatMessage message = new(); 36ChatMessage message = new(ChatRole.Assistant, text); 63message = new(); 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); 126ChatMessage message = new() 142ChatMessage message = new(ChatRole.User, 168Assert.IsType<List<AIContent>>(new ChatMessage().Contents); 174ChatMessage message = new(); 194ChatMessage message = new(); 215ChatMessage message = new(); 260var chatMessage = new ChatMessage(ChatRole.User, contents: items)
ChatCompletion\ChatResponseTests.cs (3)
87ChatResponse original = new(new ChatMessage(ChatRole.Assistant, "the message")) 122ChatResponse response = new(new ChatMessage(ChatRole.Assistant, $"This is a test.{Environment.NewLine}It's multiple lines.")); 130ChatResponse response = new(new ChatMessage(new ChatRole("customRole"), "Text") { MessageId = "someMessage" })
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
96ChatMessage message = new(ToChatRole(response.Role), response.Content)
Microsoft.Extensions.AI.AzureAIInference.Tests (13)
AzureAIInferenceChatClientTests.cs (13)
145[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] : 146[new ChatMessage(ChatRole.User, "hello")]; 218[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] : 219[new ChatMessage(ChatRole.User, "hello")]; 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")]), 1067Assert.NotNull(await client.GetResponseAsync([new(ChatRole.User, 1132new(ChatRole.Assistant, (string?)null), 1133new(ChatRole.User, "hello!"),
Microsoft.Extensions.AI.Evaluation (3)
EvaluatorExtensions.cs (3)
51modelResponse: new ChatMessage(ChatRole.Assistant, modelResponse), 95userRequest: new ChatMessage(ChatRole.User, userRequest), 96modelResponse: new ChatMessage(ChatRole.Assistant, modelResponse),
Microsoft.Extensions.AI.Evaluation.Integration.Tests (9)
SafetyEvaluatorTests.cs (6)
270new ChatMessage 308new ChatMessage 342new ChatMessage 355new ChatMessage 391new ChatMessage 404new ChatMessage
test\Libraries\Microsoft.Extensions.AI.Evaluation.Tests\ChatMessageUtilities.cs (3)
9=> new ChatMessage(ChatRole.System, message); 12=> new ChatMessage(ChatRole.User, message); 15=> new ChatMessage(ChatRole.Assistant, message);
Microsoft.Extensions.AI.Evaluation.NLP.Tests (17)
BLEUEvaluatorTests.cs (6)
20var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "The quick brown fox jumps over the lazy dog.")); 36var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Completely unrelated sentence.")); 51var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Some text.")); 71var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 91var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 104var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, ""));
F1EvaluatorTests.cs (5)
20var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "The quick brown fox jumps over the lazy dog.")); 36var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Completely unrelated sentence.")); 51var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Some text.")); 71var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 84var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, ""));
GLEUEvaluatorTests.cs (6)
20var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "The quick brown fox jumps over the lazy dog.")); 36var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Completely unrelated sentence.")); 51var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Some text.")); 71var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 91var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 104var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, ""));
Microsoft.Extensions.AI.Evaluation.Quality (22)
CoherenceEvaluator.cs (2)
118List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)]; 198evaluationInstructions.Add(new ChatMessage(ChatRole.User, evaluationPrompt));
CompletenessEvaluator.cs (2)
126List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)]; 190evaluationInstructions.Add(new ChatMessage(ChatRole.User, evaluationPrompt));
EquivalenceEvaluator.cs (2)
123List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)]; 175evaluationInstructions.Add(new ChatMessage(ChatRole.User, evaluationPrompt));
FluencyEvaluator.cs (2)
110List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)]; 178evaluationInstructions.Add(new ChatMessage(ChatRole.User, evaluationPrompt));
GroundednessEvaluator.cs (2)
128List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)]; 300evaluationInstructions.Add(new ChatMessage(ChatRole.User, evaluationPrompt));
IntentResolutionEvaluator.cs (2)
172List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)]; 317evaluationInstructions.Add(new ChatMessage(ChatRole.User, evaluationPrompt));
RelevanceEvaluator.cs (2)
123List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)]; 204evaluationInstructions.Add(new ChatMessage(ChatRole.User, evaluationPrompt));
RelevanceTruthAndCompletenessEvaluator.cs (1)
264return [new ChatMessage(ChatRole.User, evaluationPrompt)];
RetrievalEvaluator.cs (2)
142List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)]; 229evaluationInstructions.Add(new ChatMessage(ChatRole.User, evaluationPrompt));
TaskAdherenceEvaluator.cs (1)
265List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, systemPrompt)];
ToolCallAccuracyEvaluator.cs (2)
171List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)]; 222evaluationInstructions.Add(new ChatMessage(ChatRole.User, evaluationPrompt));
Utilities\JsonOutputFixer.cs (2)
67new ChatMessage(ChatRole.System, SystemPrompt), 68new ChatMessage(ChatRole.User, fixPrompt)
Microsoft.Extensions.AI.Evaluation.Reporting (3)
ScenarioRunExtensions.cs (3)
36modelResponse: new ChatMessage(ChatRole.Assistant, modelResponse), 65userRequest: new ChatMessage(ChatRole.User, userRequest), 66modelResponse: new ChatMessage(ChatRole.Assistant, modelResponse),
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (7)
ResultStoreTester.cs (2)
34messages: [new ChatMessage(ChatRole.User, "User prompt")], 35modelResponse: new ChatResponse(new ChatMessage(ChatRole.Assistant, "LLM response")),
ScenarioRunResultTests.cs (4)
86messages: [new ChatMessage(ChatRole.User, "prompt")], 87modelResponse: new ChatResponse(new ChatMessage(ChatRole.Assistant, "response")), 177messages: [new ChatMessage(ChatRole.User, "prompt")], 178modelResponse: new ChatResponse(new ChatMessage(ChatRole.Assistant, "response")),
SerializationChainingTests.cs (1)
29new ChatMessage
Microsoft.Extensions.AI.Evaluation.Safety (2)
ContentSafetyChatClient.cs (1)
78return new ChatResponse(new ChatMessage(ChatRole.Assistant, annotationResult))
ContentSafetyEvaluator.cs (1)
142var payloadMessage = new ChatMessage(ChatRole.User, payload);
Microsoft.Extensions.AI.Evaluation.Tests (3)
ChatMessageUtilities.cs (3)
9=> new ChatMessage(ChatRole.System, message); 12=> new ChatMessage(ChatRole.User, message); 15=> new ChatMessage(ChatRole.Assistant, message);
Microsoft.Extensions.AI.Integration.Tests (33)
ChatClientIntegrationTests.cs (25)
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")]; 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?")]);
PromptBasedFunctionCallingChatClient.cs (3)
72chatMessagesList[messageIndex] = new ChatMessage(ChatRole.User, $"<tool_call_result>{toolCallResultJson}</tool_call_result>"); 77chatMessagesList[messageIndex] = new ChatMessage(ChatRole.Assistant, $"<tool_call_json>{toolCallJson}</tool_call_json>"); 186return new ChatMessage(ChatRole.System, prompt);
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)
OllamaChatClient.cs (1)
283return new ChatMessage(new(message.Role), contents) { MessageId = responseId };
Microsoft.Extensions.AI.Ollama.Tests (6)
OllamaChatClientTests.cs (6)
269new(ChatRole.User, "hello!"), 270new(ChatRole.Assistant, "hi, how are you?"), 271new(ChatRole.User, "i'm good. how are you?"), 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)]),
Microsoft.Extensions.AI.OpenAI (2)
OpenAIChatClient.cs (1)
438ChatMessage returnMessage = new()
OpenAIResponseChatClient.cs (1)
86Messages = [new(ChatRole.Assistant, [])],
Microsoft.Extensions.AI.OpenAI.Tests (17)
OpenAIChatClientTests.cs (17)
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?"), 911new(ChatRole.System, [new TextContent("You are a really nice friend."), new TextContent("Really nice.")]), 912new(ChatRole.User, "hello!"), 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?"), 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!"), 1569new(ChatRole.User,
Microsoft.Extensions.AI.Tests (122)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (13)
81var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 142var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 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") }; 273var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 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") }; 397var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
ChatCompletion\DistributedCachingChatClientTest.cs (12)
48new ChatMessage(new ChatRole("fakeRole"), "This is some content") 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"); 494var input = new ChatMessage(ChatRole.User, "abc"); 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())); 685new ChatMessage(new ChatRole("fakeRole"), 744new ChatMessage(ChatRole.Assistant, [new TextContent("Hey")])));
ChatCompletion\FunctionInvokingChatClientTests.cs (84)
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"), 847var message = new ChatMessage(ChatRole.Assistant, resultContents); 855List<ChatMessage> messages = [new(ChatRole.User, "hello")]; 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\LoggingChatClientTests.cs (3)
59return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "blue whale"))); 69[new(ChatRole.User, "What's the biggest animal?")], 118[new(ChatRole.User, "What's the biggest animal?")],
ChatCompletion\OpenTelemetryChatClientTests.cs (7)
41return new ChatResponse(new ChatMessage(ChatRole.Assistant, "The blue whale, I think.")) 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?")
ChatCompletion\UseDelegateChatClientTests.cs (3)
42return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "hello"))); 91return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "hello"))); 184return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "non-streaming hello")));
Microsoft.ML.GenAI.Core (1)
CausalLMPipelineChatClient.cs (1)
47var chatMessage = new ChatMessage(ChatRole.Assistant, output);
Microsoft.ML.GenAI.Core.Tests (3)
CausalLMDatasetTest.cs (3)
86new ChatMessage(ChatRole.System, "You are a helpful contoso assistant"), 87new ChatMessage(ChatRole.User, "What is contoso"), 93new ChatMessage(ChatRole.Assistant, "Contoso is a company"),
Microsoft.ML.GenAI.LLaMA.Tests (3)
LLaMA3_1Tests.cs (3)
134new ChatMessage(ChatRole.System, "You are a helpful AI assistant."), 135new ChatMessage(ChatRole.User, "Hello?"), 136new ChatMessage(ChatRole.Assistant, "World!"),
Microsoft.ML.GenAI.Samples (5)
Llama\SFT_Llama_3_2_1B.cs (3)
107new ChatMessage(ChatRole.System, "You are a helpful contoso assistant"), 108new ChatMessage(ChatRole.User, data.input), 111var assistantMessage = new ChatMessage(ChatRole.Assistant, data.output);
MEAI\Llama3_1.cs (1)
47var chatMessage = new ChatMessage(ChatRole.User, task);
MEAI\Phi3.cs (1)
37var chatMessage = new ChatMessage(ChatRole.User, task);
527 references to ChatMessage
Aspire.Azure.AI.OpenAI.Tests (1)
AspireAzureOpenAIClientBuilderChatClientExtensionsTests.cs (1)
220static Task<ChatResponse> TestMiddleware(IEnumerable<ChatMessage> list, ChatOptions? options, IChatClient client, CancellationToken token)
Aspire.OpenAI.Tests (1)
AspireOpenAIClientBuilderChatClientExtensionsTests.cs (1)
268private static Task<ChatResponse> TestMiddleware(IEnumerable<ChatMessage> list, ChatOptions? options, IChatClient client, CancellationToken token)
Microsoft.Extensions.AI (66)
ChatCompletion\AnonymousDelegatingChatClient.cs (11)
23private readonly Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? _getResponseFunc; 31private readonly Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? _getStreamingResponseFunc; 34private readonly Func<IEnumerable<ChatMessage>, ChatOptions?, Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task>, CancellationToken, Task>? _sharedFunc; 53Func<IEnumerable<ChatMessage>, ChatOptions?, Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task>, CancellationToken, Task> sharedFunc) 79Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? getResponseFunc, 80Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? getStreamingResponseFunc) 91IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 100IEnumerable<ChatMessage> messages, ChatOptions? options, CancellationToken cancellationToken) 130IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatCompletion\CachingChatClient.cs (6)
50IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 60IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 78IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 88IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 153protected abstract string GetCacheKey(IEnumerable<ChatMessage> messages, ChatOptions? options, params ReadOnlySpan<object?> additionalValues); 212protected virtual bool EnableCaching(IEnumerable<ChatMessage> messages, ChatOptions? options)
ChatCompletion\ChatClientBuilder.cs (4)
108public ChatClientBuilder Use(Func<IEnumerable<ChatMessage>, ChatOptions?, Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task>, CancellationToken, Task> sharedFunc) 143Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? getResponseFunc, 144Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? getStreamingResponseFunc)
ChatCompletion\ChatClientStructuredOutputExtensions.cs (5)
50IEnumerable<ChatMessage> messages, 89ChatMessage chatMessage, 130ChatMessage chatMessage, 152IEnumerable<ChatMessage> messages, 193ChatMessage? promptAugmentation = null;
ChatCompletion\ConfigureOptionsChatClient.cs (2)
38IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) => 43IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default)
ChatCompletion\DistributedCachingChatClient.cs (4)
26/// the object models used by <see cref="ChatMessage"/>, <see cref="ChatOptions"/>, <see cref="ChatResponse"/>, <see cref="ChatResponseUpdate"/>, 28/// <see cref="ChatMessage.RawRepresentation"/> will be ignored, and <see cref="object"/> values in <see cref="ChatMessage.AdditionalProperties"/> 140protected override string GetCacheKey(IEnumerable<ChatMessage> messages, ChatOptions? options, params ReadOnlySpan<object?> additionalValues)
ChatCompletion\DistributedCachingChatClientBuilderExtensions.cs (3)
29/// the object models used by <see cref="ChatMessage"/>, <see cref="ChatOptions"/>, <see cref="ChatResponse"/>, <see cref="ChatResponseUpdate"/>, 31/// <see cref="ChatMessage.RawRepresentation"/> will be ignored, and <see cref="object"/> values in <see cref="ChatMessage.AdditionalProperties"/>
ChatCompletion\FunctionInvocationContext.cs (3)
21private IList<ChatMessage> _messages = Array.Empty<ChatMessage>(); 59public IList<ChatMessage> Messages
ChatCompletion\FunctionInvokingChatClient.cs (22)
219IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 229List<ChatMessage> originalMessages = [.. messages]; 232List<ChatMessage>? augmentedHistory = null; // the actual history of messages sent on turns other than the first 234List<ChatMessage>? responseMessages = null; // tracked list of messages, across multiple turns, to be used for the final response 314IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 325List<ChatMessage> originalMessages = [.. messages]; 328List<ChatMessage>? augmentedHistory = null; // the actual history of messages sent on turns other than the first 330List<ChatMessage>? responseMessages = null; // tracked list of messages, across multiple turns, to be used in fallback cases to reconstitute history 397foreach (var message in modeAndMessages.MessagesAdded) 452IEnumerable<ChatMessage> originalMessages, 453ref IEnumerable<ChatMessage> messages, 454[NotNull] ref List<ChatMessage>? augmentedHistory, 456List<ChatMessage> allTurnsResponseMessages, 508IList<ChatMessage> messages, [NotNullWhen(true)] ref List<FunctionCallContent>? functionCalls) 568private async Task<(bool ShouldTerminate, int NewConsecutiveErrorCount, IList<ChatMessage> MessagesAdded)> ProcessFunctionCallsAsync( 569List<ChatMessage> messages, ChatOptions options, List<FunctionCallContent> functionCallContents, int iteration, int consecutiveErrorCount, 586IList<ChatMessage> addedMessages = CreateResponseMessages([result]); 631IList<ChatMessage> addedMessages = CreateResponseMessages(results.ToArray()); 647private void UpdateConsecutiveErrorCountOrThrow(IList<ChatMessage> added, ref int consecutiveErrorCount) 679private void ThrowIfNoFunctionResultsAdded(IList<ChatMessage>? messages) 698List<ChatMessage> messages, ChatOptions options, List<FunctionCallContent> callContents, 754protected virtual IList<ChatMessage> CreateResponseMessages(
ChatCompletion\LoggingChatClient.cs (2)
55IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 101IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default)
ChatCompletion\OpenTelemetryChatClient.cs (4)
133IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 164IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 454private void LogChatMessages(IEnumerable<ChatMessage> messages) 461foreach (ChatMessage message in messages)
Microsoft.Extensions.AI.Abstractions (46)
ChatCompletion\ChatClientExtensions.cs (2)
113ChatMessage chatMessage, 153ChatMessage chatMessage,
ChatCompletion\ChatMessage.cs (7)
20/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 27/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 35/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 44/// <summary>Clones the <see cref="ChatMessage"/> to a new <see cref="ChatMessage"/> instance.</summary> 50public ChatMessage Clone() => 91/// If a <see cref="ChatMessage"/> is created to represent some underlying object from another object
ChatCompletion\ChatOptions.cs (1)
130/// like the enumerable of <see cref="ChatMessage"/>s, therefore, it is <b>strongly recommended</b> to not return shared instances
ChatCompletion\ChatResponse.cs (8)
23private IList<ChatMessage>? _messages; 33public ChatResponse(ChatMessage message) 42public ChatResponse(IList<ChatMessage>? messages) 49public IList<ChatMessage> Messages 51get => _messages ??= new List<ChatMessage>(1); 57/// This property concatenates the <see cref="ChatMessage.Text"/> of all <see cref="ChatMessage"/> 130ChatMessage message = _messages![i];
ChatCompletion\ChatResponseExtensions.cs (16)
27public static void AddMessages(this IList<ChatMessage> list, ChatResponse response) 32if (list is List<ChatMessage> listConcrete) 38foreach (var message in response.Messages) 45/// <summary>Converts the <paramref name="updates"/> into <see cref="ChatMessage"/> instances and adds them to <paramref name="list"/>.</summary> 51/// As part of combining <paramref name="updates"/> into a series of <see cref="ChatMessage"/> instances, the 56public static void AddMessages(this IList<ChatMessage> list, IEnumerable<ChatResponseUpdate> updates) 69/// <summary>Converts the <paramref name="update"/> into a <see cref="ChatMessage"/> instance and adds it to <paramref name="list"/>.</summary> 77/// no <see cref="ChatMessage"/> will be added to the <paramref name="list"/>. 79public static void AddMessages(this IList<ChatMessage> list, ChatResponseUpdate update, Func<AIContent, bool>? filter = null) 96/// <summary>Converts the <paramref name="updates"/> into <see cref="ChatMessage"/> instances and adds them to <paramref name="list"/>.</summary> 104/// As part of combining <paramref name="updates"/> into a series of <see cref="ChatMessage"/> instances, tne 110this IList<ChatMessage> list, IAsyncEnumerable<ChatResponseUpdate> updates, CancellationToken cancellationToken = default) 118IList<ChatMessage> list, IAsyncEnumerable<ChatResponseUpdate> updates, CancellationToken cancellationToken) => 128/// <see cref="ChatMessage"/> instances. This includes using <see cref="ChatResponseUpdate.MessageId"/> to determine 156/// <see cref="ChatMessage"/> instances. This includes using <see cref="ChatResponseUpdate.MessageId"/> to determine 256ChatMessage message;
ChatCompletion\ChatResponseUpdate.cs (2)
19/// <see cref="ChatResponse"/> and <see cref="ChatMessage"/> in streaming output. 113/// groups <see cref="ChatResponseUpdate"/> instances into <see cref="ChatMessage"/> instances.
ChatCompletion\DelegatingChatClient.cs (2)
43IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) => 48IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) =>
ChatCompletion\IChatClient.cs (2)
43IEnumerable<ChatMessage> messages, 55IEnumerable<ChatMessage> messages,
Contents\AIContentExtensions.cs (3)
62/// <summary>Concatenates the <see cref="ChatMessage.Text"/> of all <see cref="ChatMessage"/> instances in the list.</summary> 64public static string ConcatText(this IList<ChatMessage> messages)
Utilities\AIJsonUtilities.Defaults.cs (3)
73[JsonSerializable(typeof(IList<ChatMessage>))] 74[JsonSerializable(typeof(IEnumerable<ChatMessage>))] 75[JsonSerializable(typeof(ChatMessage[]))]
Microsoft.Extensions.AI.Abstractions.Tests (29)
ChatCompletion\ChatClientExtensionsTests.cs (4)
82_ = ChatClientExtensions.GetResponseAsync(new TestChatClient(), (ChatMessage)null!); 96_ = ChatClientExtensions.GetStreamingResponseAsync(new TestChatClient(), (ChatMessage)null!); 111ChatMessage m = Assert.Single(messages); 138ChatMessage m = Assert.Single(messages);
ChatCompletion\ChatMessageTests.cs (12)
18ChatMessage message = new(); 36ChatMessage message = new(ChatRole.Assistant, text); 61ChatMessage message; 92ChatMessage message = new(ChatRole.System, content); 126ChatMessage message = new() 142ChatMessage message = new(ChatRole.User, 174ChatMessage message = new(); 194ChatMessage message = new(); 215ChatMessage message = new(); 260var chatMessage = new ChatMessage(ChatRole.User, contents: items) 268var deserializedMessage = JsonSerializer.Deserialize<ChatMessage>(chatMessageJson, TestJsonSerializerContext.Default.Options)!;
ChatCompletion\ChatResponseTests.cs (3)
23response = new((IList<ChatMessage>?)null); 27Assert.Throws<ArgumentNullException>("message", () => new ChatResponse((ChatMessage)null!)); 37List<ChatMessage> messages = [];
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (3)
54ChatMessage message = response.Messages.Single(); 135ChatMessage message = response.Messages.Single(); 174ChatMessage message = Assert.Single(response.Messages);
ChatCompletion\DelegatingChatClientTests.cs (2)
24var expectedChatContents = new List<ChatMessage>(); 56var expectedChatContents = new List<ChatMessage>();
TestChatClient.cs (4)
20public Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatResponse>>? GetResponseAsyncCallback { get; set; } 22public Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? GetStreamingResponseAsyncCallback { get; set; } 29public Task<ChatResponse> GetResponseAsync(IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 32public IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Utilities\AIJsonUtilitiesTests.cs (1)
962Assert.Throws<ArgumentException>("contentType", () => options.AddAIContentType(typeof(ChatMessage), "discriminator"));
Microsoft.Extensions.AI.AzureAIInference (7)
AzureAIInferenceChatClient.cs (7)
86IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 96ChatMessage message = new(ToChatRole(response.Role), response.Content) 141IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 285private ChatCompletionsOptions CreateAzureAIOptions(IEnumerable<ChatMessage> chatContents, ChatOptions? options) => 293private ChatCompletionsOptions ToAzureAIOptions(IEnumerable<ChatMessage> chatContents, ChatOptions? options) 425private static IEnumerable<ChatRequestMessage> ToAzureAIInferenceChatMessages(IEnumerable<ChatMessage> inputs, ChatOptions? options) 435foreach (ChatMessage input in inputs)
Microsoft.Extensions.AI.AzureAIInference.Tests (4)
AzureAIInferenceChatClientTests.cs (4)
144List<ChatMessage> messages = multiContent ? 217List<ChatMessage> messages = multiContent ? 984List<ChatMessage> messages = 1130List<ChatMessage> messages =
Microsoft.Extensions.AI.Evaluation (49)
ChatMessageExtensions.cs (38)
13/// Extension methods for <see cref="ChatMessage"/>. 19/// single <see cref="ChatMessage"/> representing the last <paramref name="userRequest"/> in this conversation. 22/// A collection of <see cref="ChatMessage"/>s representing an LLM chat conversation history. 25/// Returns the last <see cref="ChatMessage"/> in the supplied collection of <paramref name="messages"/> if this 26/// last <see cref="ChatMessage"/> has <see cref="ChatMessage.Role"/> set to <see cref="ChatRole.User"/>; 30/// <see langword="true"/> if the last <see cref="ChatMessage"/> in the supplied collection of 31/// <paramref name="messages"/> has <see cref="ChatMessage.Role"/> set to <see cref="ChatRole.User"/>; 35this IEnumerable<ChatMessage> messages, 36[NotNullWhen(true)] out ChatMessage? userRequest) 39messages.LastOrDefault() is ChatMessage lastMessage && lastMessage.Role == ChatRole.User 48/// single <see cref="ChatMessage"/> representing the last <paramref name="userRequest"/> in this conversation and 52/// A collection of <see cref="ChatMessage"/>s representing an LLM chat conversation history. 55/// Returns the last <see cref="ChatMessage"/> in the supplied collection of <paramref name="messages"/> if this 56/// last <see cref="ChatMessage"/> has <see cref="ChatMessage.Role"/> set to <see cref="ChatRole.User"/>; 60/// Returns the remaining <see cref="ChatMessage"/>s in the conversation history excluding 64/// <see langword="true"/> if the last <see cref="ChatMessage"/> in the supplied collection of 65/// <paramref name="messages"/> has <see cref="ChatMessage.Role"/> set to <see cref="ChatRole.User"/>; 69this IEnumerable<ChatMessage> messages, 70[NotNullWhen(true)] out ChatMessage? userRequest, 71out IReadOnlyList<ChatMessage> remainingMessages) 73List<ChatMessage> conversationHistory = [.. messages]; 77conversationHistory[lastMessageIndex] is ChatMessage lastMessage && 99/// This function only considers the <see cref="ChatMessage.Text"/> and ignores any <see cref="AIContent"/>s 100/// (present within the <see cref="ChatMessage.Contents"/> of the <paramref name="message"/>) that are not 105/// The returned string is prefixed with the <see cref="ChatMessage.Role"/> and 106/// <see cref="ChatMessage.AuthorName"/> (if available). The returned string also always has a new line character 110/// <param name="message">The <see cref="ChatMessage"/> that is to be rendered.</param> 112public static string RenderText(this ChatMessage message) 138/// This function only considers the <see cref="ChatMessage.Text"/> and ignores any <see cref="AIContent"/>s 139/// (present within the <see cref="ChatMessage.Contents"/> of the <paramref name="messages"/>) that are not 145/// The rendered <paramref name="messages"/> are each prefixed with the <see cref="ChatMessage.Role"/> and 146/// <see cref="ChatMessage.AuthorName"/> (if available) in the returned string. The rendered 147/// <see cref="ChatMessage"/>s are also always separated by new line characters in the returned string. 150/// <param name="messages">The <see cref="ChatMessage"/>s that are to be rendered.</param> 152public static string RenderText(this IEnumerable<ChatMessage> messages) 157foreach (ChatMessage message in messages)
ChatResponseExtensions.cs (3)
21/// (present within the <see cref="ChatMessage.Contents"/> of the <see cref="ChatResponse.Messages"/>) that are not 27/// The rendered <see cref="ChatResponse.Messages"/> are each prefixed with the <see cref="ChatMessage.Role"/> and 28/// <see cref="ChatMessage.AuthorName"/> (if available) in the returned string. The rendered
CompositeEvaluator.cs (2)
103IEnumerable<ChatMessage> messages, 128IEnumerable<ChatMessage> messages,
EvaluationContext.cs (1)
23/// <see cref="IEvaluator.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, ChatConfiguration?, IEnumerable{EvaluationContext}?, CancellationToken)"/>.
EvaluatorExtensions.cs (4)
131ChatMessage modelResponse, 219ChatMessage userRequest, 220ChatMessage modelResponse, 264ChatMessage userRequest,
IEvaluator.cs (1)
58IEnumerable<ChatMessage> messages,
Microsoft.Extensions.AI.Evaluation.Integration.Tests (41)
AgentQualityEvaluatorTests.cs (8)
93(IEnumerable<ChatMessage> messages, ChatResponse response) = 116(IEnumerable<ChatMessage> messages, ChatResponse response) = 149(IEnumerable<ChatMessage> messages, ChatResponse response) = 173(IEnumerable<ChatMessage> messages, ChatResponse response) = 204private static async Task<(IEnumerable<ChatMessage> messages, ChatResponse response)> 207List<ChatMessage> messages = 217private static async Task<(IEnumerable<ChatMessage> messages, ChatResponse response)> 220List<ChatMessage> messages =
QualityEvaluatorTests.cs (4)
91var messages = new List<ChatMessage>(); 131var messages = new List<ChatMessage>(); 168var messages = new List<ChatMessage>(); 203var messages = new List<ChatMessage>();
ResultsTests.cs (1)
21private static readonly ChatMessage _testResponse = "Test response".ToAssistantMessage();
SafetyEvaluatorTests.cs (24)
134var messages = new List<ChatMessage>(); 196var messages = new List<ChatMessage>(); 269var question = 278ChatMessage answer = "The image depicts a logo for Microsoft Corporation.".ToAssistantMessage(); 305ChatMessage question = "Can you show me an image pertaining to DotNet?".ToUserMessage(); 307var answer = 341var question1 = 350ChatMessage answer1 = "The image depicts a logo for DotNet.".ToAssistantMessage(); 352ChatMessage question2 = "Can you show me an image pertaining to Microsoft Copilot?".ToUserMessage(); 354var answer2 = 363ChatMessage[] messages = [question1, answer1, question2]; 390var question1 = 399ChatMessage answer1 = "The image depicts a logo for Microsoft Corporation.".ToAssistantMessage(); 401ChatMessage question2 = "Can you show me an image pertaining to Microsoft Copilot?".ToUserMessage(); 403var answer2 = 412ChatMessage question3 = 417ChatMessage answer3 = 425ChatMessage[] messages = [question1, answer1, question2, answer2, question3]; 481ChatMessage context1 = 486ChatMessage completion1 = 491ChatMessage context2 = 496ChatMessage completion2 = 501ChatMessage[] messages = [context1, completion1, context2]; 524var messages = new List<ChatMessage>();
test\Libraries\Microsoft.Extensions.AI.Evaluation.Tests\ChatMessageUtilities.cs (3)
8internal static ChatMessage ToSystemMessage(this string message) 11internal static ChatMessage ToUserMessage(this string message) 14internal static ChatMessage ToAssistantMessage(this string message)
TestEvaluator.cs (1)
27IEnumerable<ChatMessage> messages,
Microsoft.Extensions.AI.Evaluation.NLP (3)
BLEUEvaluator.cs (1)
43IEnumerable<ChatMessage> messages,
F1Evaluator.cs (1)
43IEnumerable<ChatMessage> messages,
GLEUEvaluator.cs (1)
43IEnumerable<ChatMessage> messages,
Microsoft.Extensions.AI.Evaluation.Quality (64)
ChatMessageExtensions.cs (3)
13internal static string RenderAsJson(this IEnumerable<ChatMessage> messages, JsonSerializerOptions? options = null) 19foreach (ChatMessage message in messages) 24AIJsonUtilities.DefaultOptions.GetTypeInfo(typeof(ChatMessage)));
CoherenceEvaluator.cs (6)
68IEnumerable<ChatMessage> messages, 88_ = messages.TryGetUserRequest(out ChatMessage? userRequest); 90List<ChatMessage> evaluationInstructions = GetEvaluationInstructions(userRequest, modelResponse); 104private static List<ChatMessage> GetEvaluationInstructions(ChatMessage? userRequest, ChatResponse modelResponse) 118List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)];
CompletenessEvaluator.cs (4)
65IEnumerable<ChatMessage> messages, 95List<ChatMessage> evaluationInstructions = GetEvaluationInstructions(modelResponse, context); 110private static List<ChatMessage> GetEvaluationInstructions( 126List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)];
EquivalenceEvaluator.cs (6)
64IEnumerable<ChatMessage> messages, 94_ = messages.TryGetUserRequest(out ChatMessage? userRequest); 96List<ChatMessage> evaluationInstructions = GetEvaluationInstructions(userRequest, modelResponse, context); 111private static List<ChatMessage> GetEvaluationInstructions( 112ChatMessage? userRequest, 123List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)];
FluencyEvaluator.cs (4)
62IEnumerable<ChatMessage> messages, 82List<ChatMessage> evaluationInstructions = GetEvaluationInstructions(modelResponse); 96private static List<ChatMessage> GetEvaluationInstructions(ChatResponse modelResponse) 110List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)];
GroundednessEvaluator.cs (6)
63IEnumerable<ChatMessage> messages, 93_ = messages.TryGetUserRequest(out ChatMessage? userRequest); 95List<ChatMessage> evaluationInstructions = 111private static List<ChatMessage> GetEvaluationInstructions( 112ChatMessage? userRequest, 128List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)];
IntentResolutionEvaluator.cs (5)
76IEnumerable<ChatMessage> messages, 140List<ChatMessage> evaluationInstructions = GetEvaluationInstructions(messages, modelResponse, context); 164private static List<ChatMessage> GetEvaluationInstructions( 165IEnumerable<ChatMessage> messages, 172List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)];
RelevanceEvaluator.cs (6)
66IEnumerable<ChatMessage> messages, 78if (!messages.TryGetUserRequest(out ChatMessage? userRequest) || string.IsNullOrWhiteSpace(userRequest.Text)) 95List<ChatMessage> evaluationInstructions = GetEvaluationInstructions(userRequest, modelResponse); 109private static List<ChatMessage> GetEvaluationInstructions(ChatMessage userRequest, ChatResponse modelResponse) 123List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)];
RelevanceTruthAndCompletenessEvaluator.cs (7)
79IEnumerable<ChatMessage> messages, 94out ChatMessage? userRequest, 95out IReadOnlyList<ChatMessage> conversationHistory) || 113List<ChatMessage> evaluationInstructions = 133private static List<ChatMessage> GetEvaluationInstructions( 134ChatMessage userRequest, 136IEnumerable<ChatMessage> conversationHistory)
RetrievalEvaluator.cs (6)
72IEnumerable<ChatMessage> messages, 83if (!messages.TryGetUserRequest(out ChatMessage? userRequest) || string.IsNullOrWhiteSpace(userRequest.Text)) 111List<ChatMessage> evaluationInstructions = GetEvaluationInstructions(userRequest, context); 126private static List<ChatMessage> GetEvaluationInstructions( 127ChatMessage userRequest, 142List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)];
TaskAdherenceEvaluator.cs (5)
75IEnumerable<ChatMessage> messages, 139List<ChatMessage> evaluationInstructions = GetEvaluationInstructions(messages, modelResponse, context); 159private static List<ChatMessage> GetEvaluationInstructions( 160IEnumerable<ChatMessage> messages, 265List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, systemPrompt)];
ToolCallAccuracyEvaluator.cs (5)
77IEnumerable<ChatMessage> messages, 139List<ChatMessage> evaluationInstructions = GetEvaluationInstructions(messages, modelResponse, context); 154private static List<ChatMessage> GetEvaluationInstructions( 155IEnumerable<ChatMessage> messages, 171List<ChatMessage> evaluationInstructions = [new ChatMessage(ChatRole.System, SystemPrompt)];
Utilities\JsonOutputFixer.cs (1)
65var messages = new List<ChatMessage>
Microsoft.Extensions.AI.Evaluation.Reporting (12)
ScenarioRun.cs (1)
146IEnumerable<ChatMessage> messages,
ScenarioRunExtensions.cs (4)
86ChatMessage modelResponse, 143ChatMessage userRequest, 144ChatMessage modelResponse, 173ChatMessage userRequest,
ScenarioRunResult.cs (5)
20/// <see cref="ScenarioRun.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, IEnumerable{Microsoft.Extensions.AI.Evaluation.EvaluationContext}?, CancellationToken)"/> 56IList<ChatMessage> messages, 91IEnumerable<ChatMessage> messages, 138public IList<ChatMessage> Messages { get; set; } = messages; 152/// <see cref="ScenarioRun.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, IEnumerable{Microsoft.Extensions.AI.Evaluation.EvaluationContext}?, CancellationToken)"/>
SimpleChatClient.cs (2)
23IEnumerable<ChatMessage> messages, 52IEnumerable<ChatMessage> messages,
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (5)
ScenarioRunResultTests.cs (4)
291private class ChatMessageComparer : IEqualityComparer<ChatMessage> 295public bool Equals(ChatMessage? x, ChatMessage? y) 298public int GetHashCode(ChatMessage obj)
SerializationChainingTests.cs (1)
27Messages = new List<ChatMessage>
Microsoft.Extensions.AI.Evaluation.Safety (36)
ChatMessageExtensions.cs (2)
11internal static bool ContainsImageWithSupportedFormat(this ChatMessage message) 14internal static bool ContainsImageWithSupportedFormat(this IEnumerable<ChatMessage> conversation)
CodeVulnerabilityEvaluator.cs (1)
47IEnumerable<ChatMessage> messages,
ContentHarmEvaluator.cs (1)
49IEnumerable<ChatMessage> messages,
ContentSafetyChatClient.cs (3)
62IEnumerable<ChatMessage> messages, 95IEnumerable<ChatMessage> messages, 152private static void ValidateSingleMessage(IEnumerable<ChatMessage> messages)
ContentSafetyEvaluator.cs (4)
44IEnumerable<ChatMessage> messages, 90IEnumerable<ChatMessage> messages, 109IEnumerable<ChatMessage> conversation = [.. messages, .. modelResponse.Messages]; 142var payloadMessage = new ChatMessage(ChatRole.User, payload);
ContentSafetyServicePayloadUtilities.cs (22)
17IEnumerable<ChatMessage> conversation, 80IEnumerable<ChatMessage> conversation, 92List<Dictionary<string, ChatMessage>> turns; 112if (turn.TryGetValue("question", out ChatMessage? question)) 117if (turn.TryGetValue("answer", out ChatMessage? answer)) 168IEnumerable<ChatMessage> conversation, 186List<Dictionary<string, ChatMessage>> turns; 206if (turn.TryGetValue("question", out ChatMessage? question)) 211if (turn.TryGetValue("answer", out ChatMessage? answer)) 250IEnumerable<ChatMessage> conversation, 264List<Dictionary<string, ChatMessage>> turns; 278IEnumerable<JsonObject> GetMessages(Dictionary<string, ChatMessage> turn, int turnIndex) 282if (turn.TryGetValue("question", out ChatMessage? question)) 293if (turn.TryGetValue("answer", out ChatMessage? answer)) 318IEnumerable<JsonObject> GetContents(ChatMessage message) 388(List<Dictionary<string, ChatMessage>> turns, 392IEnumerable<ChatMessage> conversation, 399List<Dictionary<string, ChatMessage>> turns = []; 400Dictionary<string, ChatMessage> currentTurn = []; 420foreach (ChatMessage message in conversation) 454void ValidateContents(ChatMessage message) 482foreach (var message in turn.Values)
GroundednessProEvaluator.cs (1)
48IEnumerable<ChatMessage> messages,
ProtectedMaterialEvaluator.cs (1)
67IEnumerable<ChatMessage> messages,
UngroundedAttributesEvaluator.cs (1)
52IEnumerable<ChatMessage> messages,
Microsoft.Extensions.AI.Evaluation.Tests (3)
ChatMessageUtilities.cs (3)
8internal static ChatMessage ToSystemMessage(this string message) 11internal static ChatMessage ToUserMessage(this string message) 14internal static ChatMessage ToAssistantMessage(this string message)
Microsoft.Extensions.AI.Integration.Tests (33)
CallCountingChatClient.cs (2)
20IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 27IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatClientIntegrationTests.cs (12)
101IList<ChatMessage> chatHistory = 161List<ChatMessage> history = [new(ChatRole.User, "Explain in 100 words how AI works")]; 230List<ChatMessage> messages = 297List<ChatMessage> messages = 329List<ChatMessage> messages = 359List<ChatMessage> messages = 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?");
PromptBasedFunctionCallingChatClient.cs (6)
43IEnumerable<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 49List<ChatMessage> chatMessagesList = [CreateToolPrompt(options.Tools), .. chatMessages.Select(m => m.Clone())]; 66var message = chatMessagesList[messageIndex]; 89var message = result.Messages.First(); 138IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 167private static ChatMessage CreateToolPrompt(IList<AITool> tools)
ReducingChatClientTests.cs (9)
45List<ChatMessage> messages = 76IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 85IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 103Task<IList<ChatMessage>> ReduceAsync(IEnumerable<ChatMessage> messages, CancellationToken cancellationToken); 130public async Task<IList<ChatMessage>> ReduceAsync( 131IEnumerable<ChatMessage> messages, CancellationToken cancellationToken) 135List<ChatMessage> list = messages.ToList(); 155private int CountTokens(ChatMessage message)
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (4)
20public Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatResponse>>? GetResponseAsyncCallback { get; set; } 22public Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? GetStreamingResponseAsyncCallback { get; set; } 29public Task<ChatResponse> GetResponseAsync(IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 32public IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.Ollama (5)
OllamaChatClient.cs (5)
89IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 127IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 259private static ChatMessage FromOllamaMessage(OllamaChatResponseMessage message, string responseId) 308private OllamaChatRequest ToOllamaChatRequest(IEnumerable<ChatMessage> messages, ChatOptions? options, bool stream) 408private IEnumerable<OllamaChatRequestMessage> ToOllamaChatRequestMessages(ChatMessage content)
Microsoft.Extensions.AI.Ollama.Tests (2)
OllamaChatClientIntegrationTests.cs (1)
109IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
OllamaChatClientTests.cs (1)
267List<ChatMessage> messages =
Microsoft.Extensions.AI.OpenAI (15)
OpenAIAssistantChatClient.cs (4)
76IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) => 81IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 257IEnumerable<ChatMessage> messages, ChatOptions? options, CancellationToken cancellationToken) 378foreach (var chatMessage in messages)
OpenAIChatClient.cs (5)
69IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 84IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 118private static IEnumerable<OpenAI.Chat.ChatMessage> ToOpenAIChatMessages(IEnumerable<ChatMessage> inputs, ChatOptions? chatOptions, JsonSerializerOptions jsonOptions) 128foreach (ChatMessage input in inputs) 438ChatMessage returnMessage = new()
OpenAIResponseChatClient.cs (6)
69IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 105ChatMessage message = response.Messages[0]; 158IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 468/// <summary>Convert a sequence of <see cref="ChatMessage"/>s to <see cref="ResponseItem"/>s.</summary> 470IEnumerable<ChatMessage> inputs) 472foreach (ChatMessage input in inputs)
Microsoft.Extensions.AI.OpenAI.Tests (4)
OpenAIChatClientTests.cs (4)
802List<ChatMessage> messages = 909List<ChatMessage> messages = 1005List<ChatMessage> messages = 1447List<ChatMessage> messages =
Microsoft.Extensions.AI.Tests (79)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (9)
81var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 142var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 207var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 226var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 245var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 273var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 301var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 369var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 397var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
ChatCompletion\ConfigureOptionsChatClientTests.cs (2)
76var response = await client.GetResponseAsync(Array.Empty<ChatMessage>(), providedOptions, cts.Token); 80await using var e = client.GetStreamingResponseAsync(Array.Empty<ChatMessage>(), providedOptions, cts.Token).GetAsyncEnumerator();
ChatCompletion\DistributedCachingChatClientTest.cs (9)
122private sealed class CustomCachingChatClient(IChatClient innerClient, IDistributedCache storage, Func<IEnumerable<ChatMessage>, ChatOptions?, bool> enableCaching) : 125protected override bool EnableCaching(IEnumerable<ChatMessage> messages, ChatOptions? options) => enableCaching(messages, options); 184var input = new ChatMessage(ChatRole.User, "abc"); 223var input = new ChatMessage(ChatRole.User, "abc"); 494var input = new ChatMessage(ChatRole.User, "abc"); 532var input = new ChatMessage(ChatRole.User, "abc"); 805ChatMessage expectedMessage = expected.Messages.Last(); 806ChatMessage actualMessage = actual.Messages.Last(); 880protected override string GetCacheKey(IEnumerable<ChatMessage> messages, ChatOptions? options, params ReadOnlySpan<object?> additionalValues)
ChatCompletion\FunctionInvocationContextTests.cs (1)
47List<ChatMessage> messages = [];
ChatCompletion\FunctionInvokingChatClientTests.cs (45)
85List<ChatMessage> plan = 116List<ChatMessage> plan = 176List<ChatMessage> plan = 220List<ChatMessage> plan = 254List<ChatMessage> plan = 303List<ChatMessage> plan = 352List<ChatMessage> plan = 430List<ChatMessage> plan = 447private static IEnumerable<ChatMessage> CreateFunctionCallIterationPlan(ref int callIndex, params bool[] shouldThrow) 449var assistantMessage = new ChatMessage(ChatRole.Assistant, []); 450var toolMessage = new ChatMessage(ChatRole.Tool, []); 477List<ChatMessage> plan = 494static void Validate(List<ChatMessage> finalChat) 514List<ChatMessage> plan = 536List<ChatMessage> plan = 592List<ChatMessage> plan = 653var messages = new List<ChatMessage> 711var messages = new List<ChatMessage> 722ChatMessage message = chatContents.Count() is 1 or 3 ? 769List<ChatMessage> planBeforeTermination = 779List<ChatMessage> plan = 794async Task InvokeAsync(Func<Task<List<ChatMessage>>> work) 838var existingSearchResult = chatContents.SingleOrDefault(m => m.Role == ChatRole.Tool); 847var message = new ChatMessage(ChatRole.Assistant, resultContents); 855List<ChatMessage> messages = [new(ChatRole.User, "hello")]; 861var lastMessage = messages.Last(); 882Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, ChatResponse> callback = 925List<ChatMessage> plan = 954List<ChatMessage> plan = 1004private static async Task<List<ChatMessage>> InvokeAndAssertAsync( 1006List<ChatMessage> plan, 1007List<ChatMessage>? expected = null, 1016List<ChatMessage> chat = [plan[0]]; 1030var message = new ChatMessage(ChatRole.Assistant, [.. plan[contents.Count()].Contents]) 1040var result = await service.GetResponseAsync(new EnumeratedOnceEnumerable<ChatMessage>(chat), options, cts.Token); 1049var expectedMessage = expected[i]; 1050var chatMessage = chat[i]; 1104private static async Task<List<ChatMessage>> InvokeAndAssertStreamingAsync( 1106List<ChatMessage> plan, 1107List<ChatMessage>? expected = null, 1116List<ChatMessage> chat = [plan[0]]; 1124ChatMessage message = new(ChatRole.Assistant, [.. plan[contents.Count()].Contents]) 1134var result = await service.GetStreamingResponseAsync(new EnumeratedOnceEnumerable<ChatMessage>(chat), options, cts.Token).ToChatResponseAsync(); 1143var expectedMessage = expected[i]; 1144var chatMessage = chat[i];
ChatCompletion\OpenTelemetryChatClientTests.cs (2)
65IEnumerable<ChatMessage> messages, ChatOptions? options, [EnumeratorCancellation] CancellationToken cancellationToken) 108List<ChatMessage> messages =
ChatCompletion\UseDelegateChatClientTests.cs (6)
28IList<ChatMessage> expectedMessages = []; 78IList<ChatMessage> expectedMessages = []; 120IList<ChatMessage> expectedMessages = []; 147IEnumerable<ChatMessage> messages, ChatOptions? options, IChatClient innerClient, [EnumeratorCancellation] CancellationToken cancellationToken) 171IList<ChatMessage> expectedMessages = []; 218IEnumerable<ChatMessage> messages, ChatOptions? options, IChatClient innerClient, [EnumeratorCancellation] CancellationToken cancellationToken)
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (4)
20public Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatResponse>>? GetResponseAsyncCallback { get; set; } 22public Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? GetStreamingResponseAsyncCallback { get; set; } 29public Task<ChatResponse> GetResponseAsync(IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 32public IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
TestJsonSerializerContext.cs (1)
14[JsonSerializable(typeof(IList<ChatMessage>))]
Microsoft.ML.GenAI.Core (7)
CausalLMPipelineChatClient.cs (3)
36public virtual Task<ChatResponse> GetResponseAsync(IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 47var chatMessage = new ChatMessage(ChatRole.Assistant, output); 59IEnumerable<ChatMessage> messages,
Trainer\CausalLMDataset.cs (2)
26public static CausalLMDataset Create(IEnumerable<IEnumerable<ChatMessage>> inputs, 27IEnumerable<ChatMessage> outputs,
Utility\IChatTemplateBuilder.cs (2)
31/// <param name="messages">the list of <see cref="ChatMessage"/> to be rendered</param> 35string BuildPrompt(IEnumerable<ChatMessage> messages, ChatOptions? options = null, bool appendAssistantTag = true);
Microsoft.ML.GenAI.Core.Tests (3)
CausalLMDatasetTest.cs (3)
82var inputs = new List<List<ChatMessage>> 84new List<ChatMessage> 91var outputs = new List<ChatMessage>
Microsoft.ML.GenAI.LLaMA (4)
Llama3_1ChatTemplateBuilder.cs (2)
91public string BuildPrompt(IEnumerable<ChatMessage> messages, ChatOptions? options = null, bool appendAssistantTag = true) 106foreach (var message in messages)
Llama3CausalLMChatClient.cs (2)
28IEnumerable<ChatMessage> messages, 47IEnumerable<ChatMessage> messages,
Microsoft.ML.GenAI.Phi (4)
Phi3\Phi3CausalLMChatClient.cs (2)
33IEnumerable<ChatMessage> messages, 52IEnumerable<ChatMessage> messages,
Phi3\Phi3ChatTemplateBuilder.cs (2)
92public string BuildPrompt(IEnumerable<ChatMessage> messages, ChatOptions? options = null, bool appendAssistantTag = true) 109foreach (var message in messages)
Microsoft.ML.GenAI.Samples (4)
Llama\SFT_Llama_3_2_1B.cs (2)
105var trainChatHistory = new List<ChatMessage> 111var assistantMessage = new ChatMessage(ChatRole.Assistant, data.output);
MEAI\Llama3_1.cs (1)
47var chatMessage = new ChatMessage(ChatRole.User, task);
MEAI\Phi3.cs (1)
37var chatMessage = new ChatMessage(ChatRole.User, task);