132 instantiations of ChatMessage
Aspire.Azure.AI.OpenAI.Tests (1)
Aspire.OpenAI.Tests (1)
Microsoft.Extensions.AI (4)
ChatCompletion\ChatClientStructuredOutputExtensions.cs (3)
70CompleteAsync<T>(chatClient, new ChatMessage(ChatRole.User, chatMessage), options, useNativeJsonSchema, cancellationToken);
112CompleteAsync<T>(chatClient, new ChatMessage(ChatRole.User, chatMessage), serializerOptions, options, useNativeJsonSchema, cancellationToken);
216promptAugmentation = new ChatMessage(ChatRole.User, $$"""
Microsoft.Extensions.AI.Abstractions (4)
ChatCompletion\ChatMessage.cs (1)
49new()
Microsoft.Extensions.AI.Abstractions.Tests (29)
ChatCompletion\ChatCompletionTests.cs (18)
23ChatMessage message = new();
35new ChatMessage(),
36new ChatMessage(),
37new ChatMessage(),
57ChatMessage message = new();
67ChatMessage first = new();
70new ChatMessage(),
120List<ChatMessage> newChoices = [new ChatMessage(), new ChatMessage()];
130new ChatMessage(ChatRole.Assistant, "Choice1"),
131new ChatMessage(ChatRole.Assistant, "Choice2"),
132new ChatMessage(ChatRole.Assistant, "Choice3"),
133new ChatMessage(ChatRole.Assistant, "Choice4"),
176new ChatMessage(ChatRole.Assistant, "This is a test." + Environment.NewLine + "It's multiple lines.")
187new ChatMessage(ChatRole.Assistant, "This is a test." + Environment.NewLine + "It's multiple lines."),
188new ChatMessage(ChatRole.Assistant, "So is" + Environment.NewLine + " this."),
189new ChatMessage(ChatRole.Assistant, "And this."),
208ChatCompletion completion = new(new ChatMessage(new ChatRole("customRole"), "Text"))
Microsoft.Extensions.AI.AzureAIInference (1)
Microsoft.Extensions.AI.AzureAIInference.Tests (4)
Microsoft.Extensions.AI.Integration.Tests (9)
ReducingChatClientTests.cs (5)
47new ChatMessage(ChatRole.User, "Hi there! Can you tell me about golden retrievers?"),
48new ChatMessage(ChatRole.Assistant, "Of course! Golden retrievers are known for their friendly and tolerant attitudes. They're great family pets and are very intelligent and easy to train."),
49new ChatMessage(ChatRole.User, "What kind of exercise do they need?"),
50new ChatMessage(ChatRole.Assistant, "Golden retrievers are quite active and need regular exercise. Daily walks, playtime, and activities like fetching or swimming are great for them."),
51new ChatMessage(ChatRole.User, "Are they good with kids?"),
Microsoft.Extensions.AI.Ollama (1)
Microsoft.Extensions.AI.OpenAI (6)
Microsoft.Extensions.AI.OpenAI.Tests (6)
Microsoft.Extensions.AI.Tests (54)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (18)
20var expectedCompletion = new ChatCompletion(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult)))
56var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
81var expectedCompletion = new ChatCompletion(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult)));
113var expectedCompletion = new ChatCompletion(new ChatMessage(ChatRole.Assistant, "This is not valid JSON"));
119var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
132var expectedCompletion = new ChatCompletion(new ChatMessage(ChatRole.Assistant, "null"));
138var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
157var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
171var expectedCompletion = new ChatCompletion(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult)));
195var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
215var expectedCompletion = new ChatCompletion(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult)));
229var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
250var expectedCompletion = new ChatCompletion(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(payload)));
257var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
281var expectedCompletion = new ChatCompletion(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, jso)));
303var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
327return Task.FromResult(new ChatCompletion(new ChatMessage(ChatRole.Assistant, resultDuplicatedJson)));
331var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
ChatCompletion\FunctionInvokingChatClientTests.cs (32)
60new ChatMessage(ChatRole.User, "hello"),
67new ChatMessage(ChatRole.Assistant, "world"),
91new ChatMessage(ChatRole.User, "hello"),
114new ChatMessage(ChatRole.Assistant, "world"),
144new ChatMessage(ChatRole.User, "hello"),
155new ChatMessage(ChatRole.Assistant, "done"),
188new ChatMessage(ChatRole.User, "hello"),
199new ChatMessage(ChatRole.Assistant, "done"),
224new ChatMessage(ChatRole.User, "hello"),
231new ChatMessage(ChatRole.Assistant, "world"),
236new ChatMessage(ChatRole.User, "hello"),
237new ChatMessage(ChatRole.Assistant, "world")
277new ChatMessage(ChatRole.User, "hello"),
284new ChatMessage(ChatRole.Assistant, "world"),
293new ChatMessage(ChatRole.User, "hello"),
295new ChatMessage(ChatRole.Assistant, "more"),
296new ChatMessage(ChatRole.Assistant, "world"),
301new ChatMessage(ChatRole.User, "hello"),
308new ChatMessage(ChatRole.Assistant, "extrastuffmoreworld"),
311new ChatMessage(ChatRole.User, "hello"),
312new ChatMessage(ChatRole.Assistant, "extrastuffmoreworld"),
344new ChatMessage(ChatRole.User, "hello"),
347new ChatMessage(ChatRole.Assistant, "world"),
383List<ChatMessage> chat = [new ChatMessage(ChatRole.User, "hello")];
404new ChatMessage(ChatRole.User, "hello"),
407new ChatMessage(ChatRole.Assistant, "world"),
463new ChatMessage(ChatRole.User, "hello"),
466new ChatMessage(ChatRole.Assistant, "world"),
527new(ChatRole.User, "Hello"),
597new ChatMessage(ChatRole.User, "hello"),
610new ChatMessage(ChatRole.Assistant, "world"),
682return new ChatCompletion(new ChatMessage(ChatRole.Assistant, "done!"));
Microsoft.ML.GenAI.Core (1)
Microsoft.ML.GenAI.Core.Tests (3)
Microsoft.ML.GenAI.LLaMA.Tests (3)
Microsoft.ML.GenAI.Samples (5)
246 references to ChatMessage
Aspire.Azure.AI.OpenAI.Tests (1)
Aspire.OpenAI.Tests (1)
Microsoft.Extensions.AI (48)
ChatCompletion\AnonymousDelegatingChatClient.cs (9)
20private readonly Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatCompletion>>? _completeFunc;
28private readonly Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<StreamingChatCompletionUpdate>>? _completeStreamingFunc;
74Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatCompletion>>? completeFunc,
75Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<StreamingChatCompletionUpdate>>? completeStreamingFunc)
86IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
94async Task<ChatCompletion> CompleteViaSharedAsync(IList<ChatMessage> chatMessages, ChatOptions? options, CancellationToken cancellationToken)
124IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
209IList<ChatMessage> chatMessages,
211Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task> nextAsync,
ChatCompletion\CachingChatClient.cs (6)
48public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
68IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default)
135/// This is used when there is a call to <see cref="IChatClient.CompleteAsync(IList{ChatMessage}, ChatOptions?, CancellationToken)"/>.
144/// This is used when there is a call to <see cref="IChatClient.CompleteStreamingAsync(IList{ChatMessage}, ChatOptions?, CancellationToken)"/>.
153/// This is used when there is a call to <see cref="IChatClient.CompleteAsync(IList{ChatMessage}, ChatOptions?, CancellationToken)"/>.
163/// This is used when there is a call to <see cref="IChatClient.CompleteStreamingAsync(IList{ChatMessage}, ChatOptions?, CancellationToken)"/>.
ChatCompletion\FunctionInvokingChatClient.cs (15)
212public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
222IList<ChatMessage> originalChatMessages = chatMessages;
294var clone = response.Message.Clone();
326IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default)
336IList<ChatMessage> originalChatMessages = chatMessages;
493private async Task<(ContinueMode Mode, IList<ChatMessage> MessagesAdded)> ProcessFunctionCallsAsync(
494IList<ChatMessage> chatMessages, ChatOptions options, IReadOnlyList<FunctionCallContent> functionCallContents, int iteration, CancellationToken cancellationToken)
506IList<ChatMessage> added = AddResponseMessages(chatMessages, [result]);
531IList<ChatMessage> added = AddResponseMessages(chatMessages, results);
554IList<ChatMessage> chatMessages, ChatOptions options, FunctionCallContent functionCallContent,
610protected virtual IList<ChatMessage> AddResponseMessages(IList<ChatMessage> chat, ReadOnlySpan<FunctionInvocationResult> results)
620ChatMessage message = new(ChatRole.Tool, contents);
758IList<ChatMessage> chatMessages,
774public IList<ChatMessage> ChatMessages { get; set; }
Microsoft.Extensions.AI.Abstractions (31)
ChatCompletion\StreamingChatCompletionUpdateExtensions.cs (9)
30/// the manufactured <see cref="ChatMessage"/> instances. When <see langword="false"/>, the original content items are used.
40Dictionary<int, ChatMessage> messages = [];
57/// the manufactured <see cref="ChatMessage"/> instances. When <see langword="false"/>, the original content items are used.
73Dictionary<int, ChatMessage> messages = [];
88/// <param name="messages">The dictionary mapping <see cref="StreamingChatCompletionUpdate.ChoiceIndex"/> to the <see cref="ChatMessage"/> being built for that choice.</param>
90private static void ProcessUpdate(StreamingChatCompletionUpdate update, Dictionary<int, ChatMessage> messages, ChatCompletion completion)
98ChatMessage message = CollectionsMarshal.GetValueRefOrAddDefault(messages, update.ChoiceIndex, out _) ??=
150private static void AddMessagesToCompletion(Dictionary<int, ChatMessage> messages, ChatCompletion completion, bool coalesceContent)
183static void AddMessage(ChatCompletion completion, bool coalesceContent, KeyValuePair<int, ChatMessage> entry)
Microsoft.Extensions.AI.Abstractions.Tests (32)
TestChatClient.cs (4)
20public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatCompletion>>? CompleteAsyncCallback { get; set; }
22public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<StreamingChatCompletionUpdate>>? CompleteStreamingAsyncCallback { get; set; }
29public Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
32public IAsyncEnumerable<StreamingChatCompletionUpdate> CompleteStreamingAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.AzureAIInference (7)
Microsoft.Extensions.AI.AzureAIInference.Tests (4)
Microsoft.Extensions.AI.Integration.Tests (15)
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (4)
20public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatCompletion>>? CompleteAsyncCallback { get; set; }
22public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<StreamingChatCompletionUpdate>>? CompleteStreamingAsyncCallback { get; set; }
29public Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
32public IAsyncEnumerable<StreamingChatCompletionUpdate> CompleteStreamingAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.Ollama (5)
Microsoft.Extensions.AI.Ollama.Tests (2)
Microsoft.Extensions.AI.OpenAI (13)
Microsoft.Extensions.AI.OpenAI.Tests (10)
Microsoft.Extensions.AI.Tests (55)
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (4)
20public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatCompletion>>? CompleteAsyncCallback { get; set; }
22public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<StreamingChatCompletionUpdate>>? CompleteStreamingAsyncCallback { get; set; }
29public Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
32public IAsyncEnumerable<StreamingChatCompletionUpdate> CompleteStreamingAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.ML.GenAI.Core (7)
Microsoft.ML.GenAI.Core.Tests (3)
Microsoft.ML.GenAI.LLaMA (4)
Microsoft.ML.GenAI.Phi (4)
Microsoft.ML.GenAI.Samples (4)