80 instantiations of ChatMessage
Microsoft.Extensions.AI (5)
ChatCompletion\ChatClientStructuredOutputExtensions.cs (3)
70CompleteAsync<T>(chatClient, [new ChatMessage(ChatRole.User, chatMessage)], options, useNativeJsonSchema, cancellationToken); 93CompleteAsync<T>(chatClient, [new ChatMessage(ChatRole.User, chatMessage)], serializerOptions, options, useNativeJsonSchema, cancellationToken); 155promptAugmentation = new ChatMessage(ChatRole.System, $$"""
ChatCompletion\FunctionInvokingChatClient.cs (1)
525ChatMessage message = new(ChatRole.Tool, contents);
ChatCompletion\OpenTelemetryChatClient.cs (1)
236messages.Add(new ChatMessage(role ?? ChatRole.Assistant, items));
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatClientExtensions.cs (2)
29return client.CompleteAsync([new ChatMessage(ChatRole.User, chatMessage)], options, cancellationToken); 47return client.CompleteStreamingAsync([new ChatMessage(ChatRole.User, chatMessage)], options, cancellationToken);
Microsoft.Extensions.AI.Abstractions.Tests (24)
ChatCompletion\ChatClientExtensionsTests.cs (1)
45var expectedResponse = new ChatCompletion([new ChatMessage()]);
ChatCompletion\ChatCompletionTests.cs (13)
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"),
ChatCompletion\ChatMessageTests.cs (10)
16ChatMessage message = new(); 34ChatMessage message = new(ChatRole.Assistant, text); 59Assert.Throws<ArgumentNullException>("contents", () => new ChatMessage(ChatRole.User, (IList<AIContent>)null!)); 74ChatMessage message = new(ChatRole.System, content); 108ChatMessage message = new() 192Assert.IsType<List<AIContent>>(new ChatMessage().Contents); 198ChatMessage message = new(); 218ChatMessage message = new(); 239ChatMessage message = new(); 298var chatMessageJson = JsonSerializer.Serialize(new ChatMessage(ChatRole.User, contents: items)
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
84ChatMessage returnMessage = new()
Microsoft.Extensions.AI.Integration.Tests (9)
ChatClientIntegrationTests.cs (3)
265var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000"); 282var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000"); 308var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000");
PromptBasedFunctionCallingChatClient.cs (1)
157existingToolPrompt = new ChatMessage(ChatRole.System, (string?)null);
ReducingChatClientTests.cs (5)
46new ChatMessage(ChatRole.User, "Hi there! Can you tell me about golden retrievers?"), 47new 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."), 48new ChatMessage(ChatRole.User, "What kind of exercise do they need?"), 49new 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."), 50new ChatMessage(ChatRole.User, "Are they good with kids?"),
Microsoft.Extensions.AI.Ollama (1)
OllamaChatClient.cs (1)
226return new ChatMessage(new(message.Role), contents);
Microsoft.Extensions.AI.OpenAI (1)
OpenAIChatClient.cs (1)
105ChatMessage returnMessage = new()
Microsoft.Extensions.AI.Tests (37)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (10)
55var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 79var expectedCompletion = new ChatCompletion([new ChatMessage(ChatRole.Assistant, "This is not valid JSON")]); 85var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 98var expectedCompletion = new ChatCompletion([new ChatMessage(ChatRole.Assistant, "null")]); 104var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 123var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 159var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 193var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 239var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 267var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
ChatCompletion\DistributedCachingChatClientTest.cs (6)
85var result1 = await outer.CompleteAsync([new ChatMessage(ChatRole.User, "some input")]); 90var result2 = await outer.CompleteAsync([new ChatMessage(ChatRole.User, "some input")]); 97await outer.CompleteAsync([new ChatMessage(ChatRole.User, "some modified input")]); 122var result1 = outer.CompleteAsync([new ChatMessage(ChatRole.User, "some input")]); 123var result2 = outer.CompleteAsync([new ChatMessage(ChatRole.User, "some input")]); 134var result3 = outer.CompleteAsync([new ChatMessage(ChatRole.User, "some input")]);
ChatCompletion\FunctionInvokingChatClientTests.cs (20)
41new ChatMessage(ChatRole.User, "hello"), 48new ChatMessage(ChatRole.Assistant, "world"), 65new ChatMessage(ChatRole.User, "hello"), 82new ChatMessage(ChatRole.Assistant, "world"), 103new ChatMessage(ChatRole.User, "hello"), 112new ChatMessage(ChatRole.Assistant, "done"), 136new ChatMessage(ChatRole.User, "hello"), 145new ChatMessage(ChatRole.Assistant, "done"), 168new ChatMessage(ChatRole.User, "hello"), 175new ChatMessage(ChatRole.Assistant, "world"), 180new ChatMessage(ChatRole.User, "hello"), 181new ChatMessage(ChatRole.Assistant, "world") 215new ChatMessage(ChatRole.User, "hello"), 222new ChatMessage(ChatRole.Assistant, "world"), 227new ChatMessage(ChatRole.User, "hello"), 229new ChatMessage(ChatRole.Assistant, "more"), 230new ChatMessage(ChatRole.Assistant, "world"), 260new ChatMessage(ChatRole.User, "hello"), 263new ChatMessage(ChatRole.Assistant, "world"), 289List<ChatMessage> chat = [new ChatMessage(ChatRole.User, "hello")];
ChatCompletion\OpenTelemetryChatClientTests.cs (1)
42return new ChatCompletion([new ChatMessage(ChatRole.Assistant, "The blue whale, I think.")])
137 references to ChatMessage
Microsoft.Extensions.AI (42)
ChatCompletion\CachingChatClient.cs (7)
42public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 63IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 199protected abstract string GetCacheKey(bool streaming, IList<ChatMessage> chatMessages, ChatOptions? options); 203/// This is used when there is a call to <see cref="IChatClient.CompleteAsync(IList{ChatMessage}, ChatOptions?, CancellationToken)"/>. 212/// This is used when there is a call to <see cref="IChatClient.CompleteStreamingAsync(IList{ChatMessage}, ChatOptions?, CancellationToken)"/>. 221/// This is used when there is a call to <see cref="IChatClient.CompleteAsync(IList{ChatMessage}, ChatOptions?, CancellationToken)"/>. 231/// This is used when there is a call to <see cref="IChatClient.CompleteStreamingAsync(IList{ChatMessage}, ChatOptions?, CancellationToken)"/>.
ChatCompletion\ChatClientStructuredOutputExtensions.cs (3)
44IList<ChatMessage> chatMessages, 114IList<ChatMessage> chatMessages, 134ChatMessage? promptAugmentation = null;
ChatCompletion\ChatCompletion{T}.cs (1)
108var choice = Choices.Count == 1 ? Choices[0] : null;
ChatCompletion\ConfigureOptionsChatClient.cs (2)
57public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 64IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default)
ChatCompletion\DistributedCachingChatClient.cs (1)
93protected override string GetCacheKey(bool streaming, IList<ChatMessage> chatMessages, ChatOptions? options)
ChatCompletion\FunctionInvokingChatClient.cs (18)
172public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 177HashSet<ChatMessage>? messagesToRemove = null; 274IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 278HashSet<ChatMessage>? messagesToRemove = null; 313ChatMessage functionCallMessage = new(ChatRole.Assistant, [.. functionCallContents]); 356HashSet<ChatMessage>? messagesToRemove, 358IList<ChatMessage> messages) 368ChatMessage message = messages[m]; 398private async Task<(ContinueMode Mode, IList<ChatMessage> MessagesAdded)> ProcessFunctionCallsAsync( 399IList<ChatMessage> chatMessages, ChatOptions options, IReadOnlyList<FunctionCallContent> functionCallContents, int iteration, CancellationToken cancellationToken) 411IList<ChatMessage> added = AddResponseMessages(chatMessages, [result]); 436IList<ChatMessage> added = AddResponseMessages(chatMessages, results); 459IList<ChatMessage> chatMessages, ChatOptions options, FunctionCallContent functionCallContent, 515protected virtual IList<ChatMessage> AddResponseMessages(IList<ChatMessage> chat, ReadOnlySpan<FunctionInvocationResult> results) 525ChatMessage message = new(ChatRole.Tool, contents); 580IList<ChatMessage> chatMessages, 596public IList<ChatMessage> ChatMessages { get; set; }
ChatCompletion\LoggingChatClient.cs (2)
47IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 93IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default)
ChatCompletion\OpenTelemetryChatClient.cs (7)
110public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 141IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 222List<ChatMessage> messages = new(choices.Count); 443private void LogChatMessages(IEnumerable<ChatMessage> messages) 450foreach (ChatMessage message in messages) 518private AssistantEvent CreateAssistantEvent(ChatMessage message) 539private string? GetMessageContent(ChatMessage message)
Utilities\AIJsonUtilities.Defaults.cs (1)
53[JsonSerializable(typeof(IList<ChatMessage>))]
Microsoft.Extensions.AI.Abstractions (14)
ChatCompletion\ChatCompletion.cs (6)
15private IList<ChatMessage> _choices; 20public ChatCompletion(IList<ChatMessage> choices) 27public ChatCompletion(ChatMessage message) 34public IList<ChatMessage> Choices 45public ChatMessage Message 52throw new InvalidOperationException($"The {nameof(ChatCompletion)} instance does not contain any {nameof(ChatMessage)} choices.");
ChatCompletion\ChatMessage.cs (4)
18/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 24/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 32/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 87/// If a <see cref="ChatMessage"/> is created to represent some underlying object from another object
ChatCompletion\DelegatingChatClient.cs (2)
54public virtual Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 60public virtual IAsyncEnumerable<StreamingChatCompletionUpdate> CompleteStreamingAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatCompletion\IChatClient.cs (2)
38IList<ChatMessage> chatMessages, 52IList<ChatMessage> chatMessages,
Microsoft.Extensions.AI.Abstractions.Tests (27)
ChatCompletion\ChatClientExtensionsTests.cs (2)
53ChatMessage m = Assert.Single(chatMessages); 80ChatMessage m = Assert.Single(chatMessages);
ChatCompletion\ChatCompletionTests.cs (7)
16Assert.Throws<ArgumentNullException>("message", () => new ChatCompletion((ChatMessage)null!)); 17Assert.Throws<ArgumentNullException>("choices", () => new ChatCompletion((IList<ChatMessage>)null!)); 23ChatMessage message = new(); 33List<ChatMessage> messages = 57ChatMessage message = new(); 67ChatMessage first = new(); 120List<ChatMessage> newChoices = [new ChatMessage(), new ChatMessage()];
ChatCompletion\ChatMessageTests.cs (12)
16ChatMessage message = new(); 34ChatMessage message = new(ChatRole.Assistant, text); 74ChatMessage message = new(ChatRole.System, content); 108ChatMessage message = new() 124ChatMessage message = new(ChatRole.User, 149ChatMessage message = new(ChatRole.User, []); 163ChatMessage message = new(ChatRole.User, 198ChatMessage message = new(); 218ChatMessage message = new(); 239ChatMessage message = new(); 305var deserializedMessage = JsonSerializer.Deserialize<ChatMessage>(chatMessageJson, TestJsonSerializerContext.Default.Options)!;
ChatCompletion\DelegatingChatClientTests.cs (2)
33var expectedChatContents = new List<ChatMessage>(); 65var expectedChatContents = new List<ChatMessage>();
TestChatClient.cs (4)
17public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatCompletion>>? CompleteAsyncCallback { get; set; } 19public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<StreamingChatCompletionUpdate>>? CompleteStreamingAsyncCallback { get; set; } 23public Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 26public IAsyncEnumerable<StreamingChatCompletionUpdate> CompleteStreamingAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.AzureAIInference (7)
AzureAIInferenceChatClient.cs (7)
68IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 78List<ChatMessage> returnMessages = []; 84ChatMessage returnMessage = new() 145IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 276private ChatCompletionsOptions ToAzureAIOptions(IList<ChatMessage> chatContents, ChatOptions? options) 416private IEnumerable<ChatRequestMessage> ToAzureAIInferenceChatMessages(IEnumerable<ChatMessage> inputs) 421foreach (ChatMessage input in inputs)
Microsoft.Extensions.AI.AzureAIInference.Tests (1)
AzureAIInferenceChatClientTests.cs (1)
292List<ChatMessage> messages =
Microsoft.Extensions.AI.Integration.Tests (14)
CallCountingChatClient.cs (2)
20IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 27IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatClientIntegrationTests.cs (4)
75IList<ChatMessage> chatHistory = 265var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000"); 282var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000"); 308var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000");
PromptBasedFunctionCallingChatClient.cs (3)
40public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 59foreach (var message in chatMessages) 152private static void AddOrUpdateToolPrompt(IList<ChatMessage> chatMessages, IList<AITool> tools)
ReducingChatClientTests.cs (1)
44List<ChatMessage> messages =
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (4)
17public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatCompletion>>? CompleteAsyncCallback { get; set; } 19public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<StreamingChatCompletionUpdate>>? CompleteStreamingAsyncCallback { get; set; } 23public Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 26public IAsyncEnumerable<StreamingChatCompletionUpdate> CompleteStreamingAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.Ollama (5)
OllamaChatClient.cs (5)
59public async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 91IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 202private static ChatMessage FromOllamaMessage(OllamaChatResponseMessage message) 229private OllamaChatRequest ToOllamaChatRequest(IList<ChatMessage> chatMessages, ChatOptions? options, bool stream) 315private IEnumerable<OllamaChatRequestMessage> ToOllamaChatRequestMessages(ChatMessage content)
Microsoft.Extensions.AI.Ollama.Tests (2)
OllamaChatClientIntegrationTests.cs (1)
95IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
OllamaChatClientTests.cs (1)
243List<ChatMessage> messages =
Microsoft.Extensions.AI.OpenAI (5)
OpenAIChatClient.cs (5)
94IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 105ChatMessage returnMessage = new() 186IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 576private IEnumerable<OpenAI.Chat.ChatMessage> ToOpenAIChatMessages(IEnumerable<ChatMessage> inputs) 581foreach (ChatMessage input in inputs)
Microsoft.Extensions.AI.OpenAI.Tests (1)
OpenAIChatClientTests.cs (1)
337List<ChatMessage> messages =
Microsoft.Extensions.AI.Tests (19)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (8)
55var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 85var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 104var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 123var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 159var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 193var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 239var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 267var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
ChatCompletion\ConfigureOptionsChatClientTests.cs (3)
34ChatCompletion expectedCompletion = new(Array.Empty<ChatMessage>()); 63var completion = await client.CompleteAsync(Array.Empty<ChatMessage>(), providedOptions, cts.Token); 67await using var e = client.CompleteStreamingAsync(Array.Empty<ChatMessage>(), providedOptions, cts.Token).GetAsyncEnumerator();
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
289List<ChatMessage> chat = [new ChatMessage(ChatRole.User, "hello")];
ChatCompletion\OpenTelemetryChatClientTests.cs (2)
58IList<ChatMessage> messages, ChatOptions? options, [EnumeratorCancellation] CancellationToken cancellationToken) 97List<ChatMessage> chatMessages =
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (4)
17public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatCompletion>>? CompleteAsyncCallback { get; set; } 19public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<StreamingChatCompletionUpdate>>? CompleteStreamingAsyncCallback { get; set; } 23public Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 26public IAsyncEnumerable<StreamingChatCompletionUpdate> CompleteStreamingAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
TestJsonSerializerContext.cs (1)
14[JsonSerializable(typeof(IList<ChatMessage>))]