132 instantiations of ChatMessage
Aspire.Azure.AI.OpenAI.Tests (1)
AspireAzureOpenAIClientBuilderChatClientExtensionsTests.cs (1)
221=> Task.FromResult(new ChatCompletion(new ChatMessage(ChatRole.Assistant, "Hello from middleware")));
Aspire.OpenAI.Tests (1)
AspireOpenAIClientBuilderChatClientExtensionsTests.cs (1)
222=> Task.FromResult(new ChatCompletion(new ChatMessage(ChatRole.Assistant, "Hello from middleware")));
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, $$"""
ChatCompletion\FunctionInvokingChatClient.cs (1)
620ChatMessage message = new(ChatRole.Tool, contents);
Microsoft.Extensions.AI.Abstractions (4)
ChatCompletion\ChatClientExtensions.cs (2)
45return client.CompleteAsync(new ChatMessage(ChatRole.User, chatMessage), options, cancellationToken); 81return client.CompleteStreamingAsync(new ChatMessage(ChatRole.User, chatMessage), options, cancellationToken);
ChatCompletion\ChatMessage.cs (1)
49new()
ChatCompletion\StreamingChatCompletionUpdateExtensions.cs (1)
99new(default, new List<AIContent>());
Microsoft.Extensions.AI.Abstractions.Tests (29)
ChatCompletion\ChatClientExtensionsTests.cs (1)
51var expectedResponse = new ChatCompletion([new ChatMessage()]);
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"))
ChatCompletion\ChatMessageTests.cs (10)
17ChatMessage message = new(); 35ChatMessage message = new(ChatRole.Assistant, text); 60Assert.Throws<ArgumentNullException>("contents", () => new ChatMessage(ChatRole.User, (IList<AIContent>)null!)); 75ChatMessage message = new(ChatRole.System, content); 109ChatMessage message = new() 193Assert.IsType<List<AIContent>>(new ChatMessage().Contents); 199ChatMessage message = new(); 219ChatMessage message = new(); 240ChatMessage message = new(); 285var chatMessageJson = JsonSerializer.Serialize(new ChatMessage(ChatRole.User, contents: items)
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
94ChatMessage message = new()
Microsoft.Extensions.AI.AzureAIInference.Tests (4)
AzureAIInferenceChatClientTests.cs (4)
151[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] : 152[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")];
Microsoft.Extensions.AI.Integration.Tests (9)
ChatClientIntegrationTests.cs (3)
318var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000"); 335var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000"); 361var 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)
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)
268return 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 (6)
OpenAISerializationTests.cs (6)
469ChatMessage message = new() 568ChatMessage message1 = new() 574ChatMessage message2 = new() 673await Assert.ThrowsAsync<ArgumentNullException>(() => OpenAISerializationHelpers.SerializeAsync(null!, new(new ChatMessage()))); 693await Assert.ThrowsAsync<TaskCanceledException>(() => OpenAISerializationHelpers.SerializeAsync(stream, new(new ChatMessage()), cancellationToken: canceledToken)); 714ChatCompletion completion = new(new ChatMessage
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!"));
ChatCompletion\OpenTelemetryChatClientTests.cs (1)
41return new ChatCompletion(new ChatMessage(ChatRole.Assistant, "The blue whale, I think."))
ChatCompletion\UseDelegateChatClientTests.cs (3)
50return Task.FromResult(new ChatCompletion(new ChatMessage(ChatRole.Assistant, "hello"))); 99return Task.FromResult(new ChatCompletion(new ChatMessage(ChatRole.Assistant, "hello"))); 192return Task.FromResult(new ChatCompletion(new ChatMessage(ChatRole.Assistant, "non-streaming hello")));
Microsoft.ML.GenAI.Core (1)
CausalLMPipelineChatClient.cs (1)
48var 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);
246 references to ChatMessage
Aspire.Azure.AI.OpenAI.Tests (1)
AspireAzureOpenAIClientBuilderChatClientExtensionsTests.cs (1)
220static Task<ChatCompletion> TestMiddleware(IList<ChatMessage> list, ChatOptions? options, IChatClient client, CancellationToken token)
Aspire.OpenAI.Tests (1)
AspireOpenAIClientBuilderChatClientExtensionsTests.cs (1)
221static Task<ChatCompletion> TestMiddleware(IList<ChatMessage> list, ChatOptions? options, IChatClient client, CancellationToken token)
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\ChatClientBuilder.cs (2)
132Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatCompletion>>? completeFunc, 133Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<StreamingChatCompletionUpdate>>? completeStreamingFunc)
ChatCompletion\ChatClientStructuredOutputExtensions.cs (5)
46IList<ChatMessage> chatMessages, 86ChatMessage chatMessage, 129ChatMessage chatMessage, 155IList<ChatMessage> chatMessages, 195ChatMessage? promptAugmentation = null;
ChatCompletion\ChatCompletion{T}.cs (1)
119var choice = Choices.Count == 1 ? Choices[0] : null;
ChatCompletion\ConfigureOptionsChatClient.cs (2)
37public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 44IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default)
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; }
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 (6)
124public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 155IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 437private void LogChatMessages(IEnumerable<ChatMessage> messages) 444foreach (ChatMessage message in messages) 512private AssistantEvent CreateAssistantEvent(ChatMessage message) 533private string? GetMessageContent(ChatMessage message)
Microsoft.Extensions.AI.Abstractions (31)
ChatCompletion\ChatClientExtensions.cs (2)
56ChatMessage chatMessage, 92ChatMessage chatMessage,
ChatCompletion\ChatCompletion.cs (7)
16private IList<ChatMessage> _choices; 21public ChatCompletion(IList<ChatMessage> choices) 28public ChatCompletion(ChatMessage message) 35public IList<ChatMessage> Choices 47public ChatMessage Message 54throw new InvalidOperationException($"The {nameof(ChatCompletion)} instance does not contain any {nameof(ChatMessage)} choices."); 143ChatMessage choice = Choices[choiceIndex];
ChatCompletion\ChatMessage.cs (7)
17/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 23/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 31/// <summary>Initializes a new instance of the <see cref="ChatMessage"/> class.</summary> 42/// <summary>Clones the <see cref="ChatMessage"/> to a new <see cref="ChatMessage"/> instance.</summary> 48public ChatMessage Clone() => 102/// If a <see cref="ChatMessage"/> is created to represent some underlying object from another object
ChatCompletion\DelegatingChatClient.cs (2)
41public virtual Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 47public virtual IAsyncEnumerable<StreamingChatCompletionUpdate> CompleteStreamingAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatCompletion\IChatClient.cs (2)
38IList<ChatMessage> chatMessages, 52IList<ChatMessage> chatMessages,
ChatCompletion\StreamingChatCompletionUpdate.cs (1)
16/// Conceptually, this combines the roles of <see cref="ChatCompletion"/> and <see cref="ChatMessage"/>
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)
Utilities\AIJsonUtilities.Defaults.cs (1)
80[JsonSerializable(typeof(IList<ChatMessage>))]
Microsoft.Extensions.AI.Abstractions.Tests (32)
ChatCompletion\ChatClientExtensionsTests.cs (4)
30_ = ChatClientExtensions.CompleteAsync(new TestChatClient(), (ChatMessage)null!); 44_ = ChatClientExtensions.CompleteStreamingAsync(new TestChatClient(), (ChatMessage)null!); 59ChatMessage m = Assert.Single(chatMessages); 86ChatMessage 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)
17ChatMessage message = new(); 35ChatMessage message = new(ChatRole.Assistant, text); 75ChatMessage message = new(ChatRole.System, content); 109ChatMessage message = new() 125ChatMessage message = new(ChatRole.User, 150ChatMessage message = new(ChatRole.User, []); 164ChatMessage message = new(ChatRole.User, 199ChatMessage message = new(); 219ChatMessage message = new(); 240ChatMessage message = new(); 292var deserializedMessage = JsonSerializer.Deserialize<ChatMessage>(chatMessageJson, TestJsonSerializerContext.Default.Options)!;
ChatCompletion\DelegatingChatClientTests.cs (2)
24var expectedChatContents = new List<ChatMessage>(); 56var expectedChatContents = new List<ChatMessage>();
ChatCompletion\StreamingChatCompletionUpdateExtensionsTests.cs (2)
74ChatMessage message = completion.Choices[0]; 184ChatMessage message = completion.Message;
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)
Utilities\AIJsonUtilitiesTests.cs (1)
344Assert.Throws<ArgumentException>(() => options.AddAIContentType(typeof(ChatMessage), "discriminator"));
Microsoft.Extensions.AI.AzureAIInference (7)
AzureAIInferenceChatClient.cs (7)
81IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 91List<ChatMessage> returnMessages = []; 94ChatMessage message = new() 146IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 288private ChatCompletionsOptions ToAzureAIOptions(IList<ChatMessage> chatContents, ChatOptions? options) 393private IEnumerable<ChatRequestMessage> ToAzureAIInferenceChatMessages(IList<ChatMessage> inputs) 398foreach (ChatMessage input in inputs)
Microsoft.Extensions.AI.AzureAIInference.Tests (4)
AzureAIInferenceChatClientTests.cs (4)
150List<ChatMessage> chatMessages = multiContent ? 217List<ChatMessage> chatMessages = multiContent ? 505List<ChatMessage> messages = 650List<ChatMessage> messages =
Microsoft.Extensions.AI.Integration.Tests (15)
CallCountingChatClient.cs (2)
20IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 27IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatClientIntegrationTests.cs (5)
78IList<ChatMessage> chatHistory = 175List<ChatMessage> messages = 318var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000"); 335var message = new ChatMessage(ChatRole.User, "Pick a random number, uniformly distributed between 1 and 1000000"); 361var 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)
45List<ChatMessage> messages =
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)
OllamaChatClient.cs (5)
81public async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 117IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 245private static ChatMessage FromOllamaMessage(OllamaChatResponseMessage message) 293private OllamaChatRequest ToOllamaChatRequest(IList<ChatMessage> chatMessages, ChatOptions? options, bool stream) 383private IEnumerable<OllamaChatRequestMessage> ToOllamaChatRequestMessages(ChatMessage content)
Microsoft.Extensions.AI.Ollama.Tests (2)
OllamaChatClientIntegrationTests.cs (1)
111IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
OllamaChatClientTests.cs (1)
260List<ChatMessage> messages =
Microsoft.Extensions.AI.OpenAI (13)
OpenAIAssistantClient.cs (4)
73IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) => 78IList<ChatMessage> chatMessages, ChatOptions? options = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) 179private static (RunCreationOptions RunOptions, List<FunctionResultContent>? ToolResults) CreateRunOptions(IList<ChatMessage> chatMessages, ChatOptions? options) 265foreach (var chatMessage in chatMessages)
OpenAIChatClient.cs (2)
103IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 118IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
OpenAIModelMapper.ChatCompletion.cs (1)
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 (10)
OpenAIChatClientTests.cs (4)
439List<ChatMessage> messages = 548List<ChatMessage> messages = 647List<ChatMessage> messages = 1013List<ChatMessage> messages =
OpenAISerializationTests.cs (6)
47ChatMessage message = Assert.Single(request.Messages); 80ChatMessage message = Assert.Single(request.Messages); 112ChatMessage message = Assert.Single(request.Messages); 469ChatMessage message = new() 568ChatMessage message1 = new() 574ChatMessage message2 = new()
Microsoft.Extensions.AI.Tests (55)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (9)
56var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 119var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 138var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 157var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 195var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 229var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 257var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 303var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") }; 331var chatHistory = new List<ChatMessage> { new(ChatRole.User, "Hello") };
ChatCompletion\ConfigureOptionsChatClientTests.cs (3)
37ChatCompletion expectedCompletion = new(Array.Empty<ChatMessage>()); 76var completion = await client.CompleteAsync(Array.Empty<ChatMessage>(), providedOptions, cts.Token); 80await using var e = client.CompleteStreamingAsync(Array.Empty<ChatMessage>(), providedOptions, cts.Token).GetAsyncEnumerator();
ChatCompletion\FunctionInvokingChatClientTests.cs (30)
58List<ChatMessage> plan = 89List<ChatMessage> plan = 142List<ChatMessage> plan = 186List<ChatMessage> plan = 222List<ChatMessage> plan = 234List<ChatMessage>? expected = keepFunctionCallingMessages ? null : 246void Validate(List<ChatMessage> finalChat) 275List<ChatMessage> plan = 315void Validate(List<ChatMessage> finalChat) 342List<ChatMessage> plan = 383List<ChatMessage> chat = [new ChatMessage(ChatRole.User, "hello")]; 402List<ChatMessage> plan = 461List<ChatMessage> plan = 525var messages = new List<ChatMessage> 595List<ChatMessage> planBeforeTermination = 605List<ChatMessage> plan = 632async Task InvokeAsync(Func<Task<List<ChatMessage>>> work) 666Func<IList<ChatMessage>, ChatOptions?, CancellationToken, ChatCompletion> callback = 706private static async Task<List<ChatMessage>> InvokeAndAssertAsync( 708List<ChatMessage> plan, 709List<ChatMessage>? expected = null, 718List<ChatMessage> chat = [plan[0]]; 745var expectedMessage = expected[i]; 746var chatMessage = chat[i]; 800private static async Task<List<ChatMessage>> InvokeAndAssertStreamingAsync( 802List<ChatMessage> plan, 803List<ChatMessage>? expected = null, 812List<ChatMessage> chat = [plan[0]]; 834var expectedMessage = expected[i]; 835var chatMessage = chat[i];
ChatCompletion\OpenTelemetryChatClientTests.cs (2)
65IList<ChatMessage> messages, ChatOptions? options, [EnumeratorCancellation] CancellationToken cancellationToken) 110List<ChatMessage> chatMessages =
ChatCompletion\UseDelegateChatClientTests.cs (6)
36IList<ChatMessage> expectedMessages = []; 86IList<ChatMessage> expectedMessages = []; 128IList<ChatMessage> expectedMessages = []; 155IList<ChatMessage> chatMessages, ChatOptions? options, IChatClient innerClient, [EnumeratorCancellation] CancellationToken cancellationToken) 179IList<ChatMessage> expectedMessages = []; 226IList<ChatMessage> chatMessages, ChatOptions? options, IChatClient innerClient, [EnumeratorCancellation] CancellationToken cancellationToken)
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)
TestJsonSerializerContext.cs (1)
14[JsonSerializable(typeof(IList<ChatMessage>))]
Microsoft.ML.GenAI.Core (7)
CausalLMPipelineChatClient.cs (3)
37public virtual Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 48var chatMessage = new ChatMessage(ChatRole.Assistant, output); 59IList<ChatMessage> chatMessages,
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(IList<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(IList<ChatMessage> messages, ChatOptions? options = null, bool appendAssistantTag = true) 106foreach (var message in messages)
Llama3CausalLMChatClient.cs (2)
28IList<ChatMessage> chatMessages, 47IList<ChatMessage> chatMessages,
Microsoft.ML.GenAI.Phi (4)
Phi3\Phi3CausalLMChatClient.cs (2)
33IList<ChatMessage> chatMessages, 52IList<ChatMessage> chatMessages,
Phi3\Phi3ChatTemplateBuilder.cs (2)
92public string BuildPrompt(IList<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);