133 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 (3)
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 (3)
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)
50new()
Microsoft.Extensions.AI.Abstractions.Tests (16)
ChatCompletion\ChatMessageTests.cs (13)
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() 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"))
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
97ChatMessage message = new(ToChatRole(response.Role), response.Content)
Microsoft.Extensions.AI.AzureAIInference.Tests (4)
AzureAIInferenceChatClientTests.cs (4)
156[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] : 157[new ChatMessage(ChatRole.User, "hello")]; 228[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] : 229[new ChatMessage(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 (2)
ChatMessageUtilities.cs (2)
9=> new ChatMessage(ChatRole.User, message); 12=> new ChatMessage(ChatRole.Assistant, message);
Microsoft.Extensions.AI.Evaluation.Quality (4)
ChatConversationEvaluator.cs (2)
157evaluationMessages.Add(new ChatMessage(ChatRole.System, SystemPrompt!)); 168evaluationMessages.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)
38messages: [new ChatMessage(ChatRole.User, "prompt")], 39modelResponse: new ChatResponse(new ChatMessage(ChatRole.Assistant, "response")), 79messages: [new ChatMessage(ChatRole.User, "prompt")], 80modelResponse: new ChatResponse(new ChatMessage(ChatRole.Assistant, "response")),
SerializationChainingTests.cs (1)
29new ChatMessage
Microsoft.Extensions.AI.Integration.Tests (9)
ChatClientIntegrationTests.cs (3)
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");
PromptBasedFunctionCallingChatClient.cs (1)
173existingToolPrompt = new ChatMessage(ChatRole.System, (string?)null);
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)
274return new ChatMessage(new(message.Role), contents);
Microsoft.Extensions.AI.OpenAI (6)
OpenAIModelMapper.ChatCompletion.cs (1)
81ChatMessage returnMessage = new()
OpenAIModelMapper.ChatMessage.cs (5)
42yield return new ChatMessage 51yield return new ChatMessage 60yield return new ChatMessage 85yield return new ChatMessage 94ChatMessage message = new()
Microsoft.Extensions.AI.OpenAI.Tests (4)
OpenAISerializationTests.cs (4)
465ChatMessage message = new() 647await Assert.ThrowsAsync<ArgumentNullException>(() => OpenAISerializationHelpers.SerializeAsync(null!, new(new ChatMessage()))); 667await Assert.ThrowsAsync<TaskCanceledException>(() => OpenAISerializationHelpers.SerializeAsync(stream, new(new ChatMessage()), cancellationToken: canceledToken)); 688ChatResponse response = new(new ChatMessage
Microsoft.Extensions.AI.Tests (53)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (18)
21var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult))) 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") }; 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))); 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 (9)
43new ChatMessage(new ChatRole("fakeRole"), "This is some content") 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"); 462var input = new ChatMessage(ChatRole.User, "abc"); 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()));
ChatCompletion\FunctionInvokingChatClientTests.cs (21)
56new ChatMessage(ChatRole.User, "hello"), 63new ChatMessage(ChatRole.Assistant, "world"), 87new ChatMessage(ChatRole.User, "hello"), 110new ChatMessage(ChatRole.Assistant, "world"), 140new ChatMessage(ChatRole.User, "hello"), 151new ChatMessage(ChatRole.Assistant, "done"), 184new ChatMessage(ChatRole.User, "hello"), 195new ChatMessage(ChatRole.Assistant, "done"), 218new ChatMessage(ChatRole.User, "hello"), 225new ChatMessage(ChatRole.Assistant, "world"), 255new ChatMessage(ChatRole.User, "hello"), 258new ChatMessage(ChatRole.Assistant, "world"), 277new ChatMessage(ChatRole.User, "hello"), 280new ChatMessage(ChatRole.Assistant, "world"), 333new ChatMessage(ChatRole.User, "hello"), 336new ChatMessage(ChatRole.Assistant, "world"), 394new(ChatRole.User, "Hello"), 452new(ChatRole.User, "Hello"), 510new ChatMessage(ChatRole.User, "hello"), 523new ChatMessage(ChatRole.Assistant, "world"), 584return new ChatResponse(new ChatMessage(ChatRole.Assistant, "done!"));
ChatCompletion\LoggingChatClientTests.cs (1)
59return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "blue whale")));
ChatCompletion\OpenTelemetryChatClientTests.cs (1)
41return new ChatResponse(new ChatMessage(ChatRole.Assistant, "The blue whale, I think."))
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)
CasualLMDatasetTest.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);
344 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 (54)
ChatCompletion\AnonymousDelegatingChatClient.cs (11)
20private readonly Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? _getResponseFunc; 28private readonly Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? _getStreamingResponseFunc; 31private readonly Func<IEnumerable<ChatMessage>, ChatOptions?, Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task>, CancellationToken, Task>? _sharedFunc; 50Func<IEnumerable<ChatMessage>, ChatOptions?, Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task>, CancellationToken, Task> sharedFunc) 76Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? getResponseFunc, 77Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? getStreamingResponseFunc) 88IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 97IEnumerable<ChatMessage> messages, ChatOptions? options, CancellationToken cancellationToken) 127IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatCompletion\CachingChatClient.cs (2)
49IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 69IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default)
ChatCompletion\ChatClientBuilder.cs (4)
105public ChatClientBuilder Use(Func<IEnumerable<ChatMessage>, ChatOptions?, Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task>, CancellationToken, Task> sharedFunc) 139Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? getResponseFunc, 140Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? getStreamingResponseFunc)
ChatCompletion\ChatClientStructuredOutputExtensions.cs (5)
44IEnumerable<ChatMessage> messages, 84ChatMessage chatMessage, 127ChatMessage chatMessage, 152IEnumerable<ChatMessage> messages, 192ChatMessage? 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\FunctionInvocationContext.cs (3)
21private IList<ChatMessage> _messages = Array.Empty<ChatMessage>(); 42public IList<ChatMessage> Messages
ChatCompletion\FunctionInvokingChatClient.cs (21)
184IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 192IEnumerable<ChatMessage> originalMessages = messages; // the original messages, tracked for the rare case where we need to know what was originally provided 193List<ChatMessage>? augmentedHistory = null; // the actual history of messages sent on turns other than the first 195List<ChatMessage>? responseMessages = null; // tracked list of messages, across multiple turns, to be used for the final response 270IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 278IEnumerable<ChatMessage> originalMessages = messages; // the original messages, tracked for the rare case where we need to know what was originally provided 279List<ChatMessage>? augmentedHistory = null; // the actual history of messages sent on turns other than the first 281List<ChatMessage>? responseMessages = null; // tracked list of messages, across multiple turns, to be used in fallback cases to reconstitute history 327foreach (var message in modeAndMessages.MessagesAdded) 361IEnumerable<ChatMessage> originalMessages, 362ref IEnumerable<ChatMessage> messages, 363[NotNull] ref List<ChatMessage>? augmentedHistory, 365List<ChatMessage> allTurnsResponseMessages, 417IList<ChatMessage> messages, [NotNullWhen(true)] ref List<FunctionCallContent>? functionCalls) 499private async Task<(ContinueMode Mode, IList<ChatMessage> MessagesAdded)> ProcessFunctionCallsAsync( 500List<ChatMessage> messages, ChatOptions options, List<FunctionCallContent> functionCallContents, int iteration, CancellationToken cancellationToken) 513IList<ChatMessage> added = CreateResponseMessages([result]); 546IList<ChatMessage> added = CreateResponseMessages(results); 565private void ThrowIfNoFunctionResultsAdded(IList<ChatMessage>? messages) 582List<ChatMessage> messages, ChatOptions options, List<FunctionCallContent> callContents, 645protected virtual IList<ChatMessage> CreateResponseMessages(
ChatCompletion\LoggingChatClient.cs (2)
47IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 93IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default)
ChatCompletion\OpenTelemetryChatClient.cs (4)
125IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 156IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 439private void LogChatMessages(IEnumerable<ChatMessage> messages) 446foreach (ChatMessage message in messages)
Microsoft.Extensions.AI.Abstractions (40)
ChatCompletion\ChatClientExtensions.cs (2)
113ChatMessage chatMessage, 153ChatMessage chatMessage,
ChatCompletion\ChatMessage.cs (7)
19/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 26/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 34/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 43/// <summary>Clones the <see cref="ChatMessage"/> to a new <see cref="ChatMessage"/> instance.</summary> 49public ChatMessage Clone() => 86/// If a <see cref="ChatMessage"/> is created to represent some underlying object from another object
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"/> 127ChatMessage message = _messages![i];
ChatCompletion\ChatResponseExtensions.cs (13)
26public static void AddMessages(this IList<ChatMessage> list, ChatResponse response) 31if (list is List<ChatMessage> listConcrete) 37foreach (var message in response.Messages) 44/// <summary>Converts the <paramref name="updates"/> into <see cref="ChatMessage"/> instances and adds them to <paramref name="list"/>.</summary> 50/// As part of combining <paramref name="updates"/> into a series of <see cref="ChatMessage"/> instances, tne 55public static void AddMessages(this IList<ChatMessage> list, IEnumerable<ChatResponseUpdate> updates) 68/// <summary>Converts the <paramref name="updates"/> into <see cref="ChatMessage"/> instances and adds them to <paramref name="list"/>.</summary> 76/// As part of combining <paramref name="updates"/> into a series of <see cref="ChatMessage"/> instances, tne 82this IList<ChatMessage> list, IAsyncEnumerable<ChatResponseUpdate> updates, CancellationToken cancellationToken = default) 90IList<ChatMessage> list, IAsyncEnumerable<ChatResponseUpdate> updates, CancellationToken cancellationToken) => 100/// <see cref="ChatMessage"/> instances. This includes using <see cref="ChatResponseUpdate.ResponseId"/> to determine 128/// <see cref="ChatMessage"/> instances. This includes using <see cref="ChatResponseUpdate.ResponseId"/> to determine 172ChatMessage message;
ChatCompletion\ChatResponseUpdate.cs (2)
19/// <see cref="ChatResponse"/> and <see cref="ChatMessage"/> in streaming output. 104/// groups <see cref="ChatResponseUpdate"/> instances into <see cref="ChatMessage"/> instances.
ChatCompletion\DelegatingChatClient.cs (2)
42IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) => 47IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) =>
ChatCompletion\IChatClient.cs (2)
35IEnumerable<ChatMessage> messages, 46IEnumerable<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 (1)
80[JsonSerializable(typeof(IList<ChatMessage>))]
Microsoft.Extensions.AI.Abstractions.Tests (28)
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 (2)
54ChatMessage message = response.Messages.Single(); 134ChatMessage message = response.Messages.Single();
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)
392Assert.Throws<ArgumentException>("contentType", () => options.AddAIContentType(typeof(ChatMessage), "discriminator"));
Microsoft.Extensions.AI.AzureAIInference (6)
AzureAIInferenceChatClient.cs (6)
87IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 97ChatMessage message = new(ToChatRole(response.Role), response.Content) 141IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 284private ChatCompletionsOptions ToAzureAIOptions(IEnumerable<ChatMessage> chatContents, ChatOptions? options) 412private IEnumerable<ChatRequestMessage> ToAzureAIInferenceChatMessages(IEnumerable<ChatMessage> inputs) 417foreach (ChatMessage input in inputs)
Microsoft.Extensions.AI.AzureAIInference.Tests (4)
AzureAIInferenceChatClientTests.cs (4)
155List<ChatMessage> messages = multiContent ? 227List<ChatMessage> messages = multiContent ? 533List<ChatMessage> messages = 678List<ChatMessage> messages =
Microsoft.Extensions.AI.Evaluation (7)
CompositeEvaluator.cs (2)
104IEnumerable<ChatMessage> messages, 129IEnumerable<ChatMessage> messages,
EvaluatorExtensions.cs (4)
131ChatMessage modelResponse, 224ChatMessage userRequest, 225ChatMessage modelResponse, 273ChatMessage userRequest,
IEvaluator.cs (1)
52IEnumerable<ChatMessage> messages,
Microsoft.Extensions.AI.Evaluation.Integration.Tests (16)
AdditionalContextTests.cs (6)
57var messages = new List<ChatMessage>(); 59ChatMessage promptMessage = prompt.ToUserMessage(); 63ChatMessage responseMessage = response.Messages.Single(); 92var messages = new List<ChatMessage>(); 94ChatMessage promptMessage = prompt.ToUserMessage(); 98ChatMessage responseMessage = response.Messages.Single();
ChatMessageUtilities.cs (2)
8internal static ChatMessage ToUserMessage(this string message) 11internal static ChatMessage ToAssistantMessage(this string message)
EndToEndTests.cs (6)
67var messages = new List<ChatMessage>(); 69ChatMessage promptMessage = prompt.ToUserMessage(); 73ChatMessage responseMessage = response.Messages.Single(); 118var messages = new List<ChatMessage>(); 120ChatMessage promptMessage = prompt.ToUserMessage(); 124ChatMessage responseMessage = response.Messages.Single();
ResultsTests.cs (1)
20private static readonly ChatMessage _testResponse = "Test response".ToAssistantMessage();
TestEvaluator.cs (1)
27IEnumerable<ChatMessage> messages,
Microsoft.Extensions.AI.Evaluation.Quality (34)
ChatConversationEvaluator.cs (19)
39IEnumerable<ChatMessage> messages, 59(ChatMessage? userRequest, List<ChatMessage> history) = GetUserRequestAndHistory(messages); 128foreach (ChatMessage message in history) 154var evaluationMessages = new List<ChatMessage>(); 211ChatMessage message, 267/// The default implementation uses <see cref="RenderAsync(ChatMessage, CancellationToken)"/> to render 275foreach (ChatMessage message in response.Messages) 296protected virtual ValueTask<string> RenderAsync(ChatMessage message, CancellationToken cancellationToken) 329ChatMessage? userRequest, 331IEnumerable<ChatMessage>? includedHistory, 370IList<ChatMessage> evaluationMessages, 374private (ChatMessage? userRequest, List<ChatMessage> history) GetUserRequestAndHistory( 375IEnumerable<ChatMessage> messages) 377ChatMessage? userRequest = null; 378List<ChatMessage> history; 383messages.LastOrDefault() is ChatMessage lastMessage && lastMessage.Role == ChatRole.User 395history[lastMessageIndex] is ChatMessage lastMessage &&
CoherenceEvaluator.cs (2)
34ChatMessage? userRequest, 36IEnumerable<ChatMessage>? includedHistory,
EquivalenceEvaluator.cs (2)
38ChatMessage? userRequest, 40IEnumerable<ChatMessage>? includedHistory,
FluencyEvaluator.cs (2)
34ChatMessage? userRequest, 36IEnumerable<ChatMessage>? includedHistory,
GroundednessEvaluator.cs (3)
38ChatMessage? userRequest, 40IEnumerable<ChatMessage>? includedHistory, 65foreach (ChatMessage message in includedHistory)
RelevanceTruthAndCompletenessEvaluator.cs (4)
74ChatMessage? userRequest, 76IEnumerable<ChatMessage>? includedHistory, 92foreach (ChatMessage message in includedHistory) 107IList<ChatMessage> evaluationMessages,
SingleNumericMetricEvaluator.cs (1)
61IList<ChatMessage> evaluationMessages,
Utilities\JsonOutputFixer.cs (1)
65var messages = new List<ChatMessage>
Microsoft.Extensions.AI.Evaluation.Reporting (10)
ScenarioRun.cs (1)
128IEnumerable<ChatMessage> messages,
ScenarioRunExtensions.cs (4)
86ChatMessage modelResponse, 148ChatMessage userRequest, 149ChatMessage modelResponse, 182ChatMessage userRequest,
ScenarioRunResult.cs (5)
20/// <see cref="ScenarioRun.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, IEnumerable{Microsoft.Extensions.AI.Evaluation.EvaluationContext}?, CancellationToken)"/> 47IList<ChatMessage> messages, 72IEnumerable<ChatMessage> messages, 119public IList<ChatMessage> Messages { get; set; } = messages; 133/// <see cref="ScenarioRun.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, IEnumerable{Microsoft.Extensions.AI.Evaluation.EvaluationContext}?, CancellationToken)"/>
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (5)
ScenarioRunResultTests.cs (4)
152private class ChatMessageComparer : IEqualityComparer<ChatMessage> 156public bool Equals(ChatMessage? x, ChatMessage? y) 159public int GetHashCode(ChatMessage obj)
SerializationChainingTests.cs (1)
27Messages = new List<ChatMessage>
Microsoft.Extensions.AI.Integration.Tests (26)
CallCountingChatClient.cs (2)
20IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 27IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatClientIntegrationTests.cs (6)
92IList<ChatMessage> chatHistory = 152List<ChatMessage> history = [new(ChatRole.User, "Explain in 100 words how AI works")]; 203List<ChatMessage> messages = 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");
PromptBasedFunctionCallingChatClient.cs (5)
44IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 46List<ChatMessage> chatMessageList = [.. messages]; 65foreach (var message in chatMessageList) 139IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 168private static void AddOrUpdateToolPrompt(List<ChatMessage> messages, 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)
84IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 120IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 251private static ChatMessage FromOllamaMessage(OllamaChatResponseMessage message) 299private OllamaChatRequest ToOllamaChatRequest(IEnumerable<ChatMessage> messages, ChatOptions? options, bool stream) 389private 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)
265List<ChatMessage> messages =
Microsoft.Extensions.AI.OpenAI (14)
OpenAIAssistantClient.cs (4)
73IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) => 78IEnumerable<ChatMessage> messages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 181IEnumerable<ChatMessage> messages, ChatOptions? options) 278foreach (var chatMessage in messages)
OpenAIChatClient.cs (2)
106IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default) 121IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
OpenAIModelMapper.ChatCompletion.cs (2)
36foreach (ChatMessage message in response.Messages) 81ChatMessage returnMessage = new()
OpenAIModelMapper.ChatMessage.cs (5)
22IList<ChatMessage> messages = FromOpenAIChatMessages(_getMessagesAccessor(chatCompletionOptions)).ToList(); 32public static IEnumerable<ChatMessage> FromOpenAIChatMessages(IEnumerable<OpenAI.Chat.ChatMessage> inputs) 94ChatMessage message = new() 125public static IEnumerable<OpenAI.Chat.ChatMessage> ToOpenAIChatMessages(IEnumerable<ChatMessage> inputs, JsonSerializerOptions options) 130foreach (ChatMessage input in inputs)
OpenAISerializationHelpers.cs (1)
23/// Deserializes a chat completion request in the OpenAI wire format into a pair of <see cref="ChatMessage"/> and <see cref="ChatOptions"/> values.
Microsoft.Extensions.AI.OpenAI.Tests (8)
OpenAIChatClientTests.cs (4)
439List<ChatMessage> messages = 548List<ChatMessage> messages = 647List<ChatMessage> messages = 1012List<ChatMessage> messages =
OpenAISerializationTests.cs (4)
47ChatMessage message = Assert.Single(request.Messages); 80ChatMessage message = Assert.Single(request.Messages); 112ChatMessage message = Assert.Single(request.Messages); 465ChatMessage message = new()
Microsoft.Extensions.AI.Tests (61)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (9)
57var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 120var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 139var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 158var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 196var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 230var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 258var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 304var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 332var 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 (6)
157var input = new ChatMessage(ChatRole.User, "abc"); 196var input = new ChatMessage(ChatRole.User, "abc"); 462var input = new ChatMessage(ChatRole.User, "abc"); 500var input = new ChatMessage(ChatRole.User, "abc"); 727ChatMessage expectedMessage = expected.Messages.Last(); 728ChatMessage actualMessage = actual.Messages.Last();
ChatCompletion\FunctionInvocationContextTests.cs (1)
47List<ChatMessage> messages = [];
ChatCompletion\FunctionInvokingChatClientTests.cs (30)
54List<ChatMessage> plan = 85List<ChatMessage> plan = 138List<ChatMessage> plan = 182List<ChatMessage> plan = 216List<ChatMessage> plan = 233static void Validate(List<ChatMessage> finalChat) 253List<ChatMessage> plan = 275List<ChatMessage> plan = 331List<ChatMessage> plan = 392var messages = new List<ChatMessage> 450var messages = new List<ChatMessage> 461ChatMessage message = chatContents.Count() is 1 or 3 ? 508List<ChatMessage> planBeforeTermination = 518List<ChatMessage> plan = 533async Task InvokeAsync(Func<Task<List<ChatMessage>>> work) 568Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, ChatResponse> callback = 608private static async Task<List<ChatMessage>> InvokeAndAssertAsync( 610List<ChatMessage> plan, 611List<ChatMessage>? expected = null, 620List<ChatMessage> chat = [plan[0]]; 634var message = new ChatMessage(ChatRole.Assistant, [.. plan[contents.Count()].Contents]); 650var expectedMessage = expected[i]; 651var chatMessage = chat[i]; 705private static async Task<List<ChatMessage>> InvokeAndAssertStreamingAsync( 707List<ChatMessage> plan, 708List<ChatMessage>? expected = null, 717List<ChatMessage> chat = [plan[0]]; 725ChatMessage message = new(ChatRole.Assistant, [.. plan[contents.Count()].Contents]); 741var expectedMessage = expected[i]; 742var 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)
CasualLMDatasetTest.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);