1 type derived from ChatResponse
Microsoft.Extensions.AI (1)
ChatCompletion\ChatResponse{T}.cs (1)
22public class ChatResponse<T> : ChatResponse
31 instantiations of ChatResponse
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)
222=> Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "Hello from middleware")));
Microsoft.Extensions.AI.Abstractions.Tests (5)
ChatCompletion\ChatResponseTests.cs (5)
16Assert.Throws<ArgumentNullException>("message", () => new ChatResponse((ChatMessage)null!)); 17Assert.Throws<ArgumentNullException>("choices", () => new ChatResponse((IList<ChatMessage>)null!)); 25ChatResponse response = new(message); 40ChatResponse response = new(messages); 208ChatResponse response = new(new ChatMessage(new ChatRole("customRole"), "Text"))
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
136return new ChatResponse(returnMessages)
Microsoft.Extensions.AI.OpenAI.Tests (4)
OpenAISerializationTests.cs (4)
481ChatResponse response = new(message) 669await Assert.ThrowsAsync<ArgumentNullException>(() => OpenAISerializationHelpers.SerializeAsync(null!, new(new ChatMessage()))); 689await Assert.ThrowsAsync<TaskCanceledException>(() => OpenAISerializationHelpers.SerializeAsync(stream, new(new ChatMessage()), cancellationToken: canceledToken)); 710ChatResponse response = new(new ChatMessage
Microsoft.Extensions.AI.Tests (19)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (10)
20var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult))) 81var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult))); 113var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "This is not valid JSON")); 132var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "null")); 151var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, [new DataContent("https://example.com")])); 171var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult))); 215var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult))); 250var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(payload))); 281var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, jso))); 327return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, resultDuplicatedJson)));
ChatCompletion\ConfigureOptionsChatClientTests.cs (1)
37ChatResponse expectedResponse = new(Array.Empty<ChatMessage>());
ChatCompletion\FunctionInvokingChatClientTests.cs (4)
674return new ChatResponse(new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId-abc", "Func1")])) 682return new ChatResponse(new ChatMessage(ChatRole.Assistant, "done!")); 731return new ChatResponse(new ChatMessage(ChatRole.Assistant, [.. plan[contents.Count].Contents])) { Usage = usage }; 820return YieldAsync(new ChatResponse(new ChatMessage(ChatRole.Assistant, [.. plan[contents.Count].Contents])).ToChatResponseUpdates());
ChatCompletion\OpenTelemetryChatClientTests.cs (1)
41return new ChatResponse(new ChatMessage(ChatRole.Assistant, "The blue whale, I think."))
ChatCompletion\UseDelegateChatClientTests.cs (3)
50return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "hello"))); 99return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "hello"))); 192return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "non-streaming hello")));
151 references to ChatResponse
Aspire.Azure.AI.OpenAI.Tests (2)
AspireAzureOpenAIClientBuilderChatClientExtensionsTests.cs (2)
217var completion = await client.GetResponseAsync("Whatever"); 220static Task<ChatResponse> TestMiddleware(IList<ChatMessage> list, ChatOptions? options, IChatClient client, CancellationToken token)
Aspire.OpenAI.Tests (2)
AspireOpenAIClientBuilderChatClientExtensionsTests.cs (2)
218var completion = await client.GetResponseAsync("Whatever"); 221static Task<ChatResponse> TestMiddleware(IList<ChatMessage> list, ChatOptions? options, IChatClient client, CancellationToken token)
Microsoft.Extensions.AI (35)
ChatCompletion\AnonymousDelegatingChatClient.cs (7)
20private readonly Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? _getResponseFunc; 74Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? getResponseFunc, 85public override Task<ChatResponse> GetResponseAsync( 94async Task<ChatResponse> GetResponseViaSharedAsync(IList<ChatMessage> chatMessages, ChatOptions? options, CancellationToken cancellationToken) 96ChatResponse? response = null; 169static async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsyncViaGetResponseAsync(Task<ChatResponse> task) 171ChatResponse response = await task.ConfigureAwait(false);
ChatCompletion\CachingChatClient.cs (7)
48public override async Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 134/// Returns a previously cached <see cref="ChatResponse"/>, if available. 140protected abstract Task<ChatResponse?> ReadCacheAsync(string key, CancellationToken cancellationToken); 152/// Stores a <see cref="ChatResponse"/> in the underlying cache. 156/// <param name="value">The <see cref="ChatResponse"/> to be stored.</param> 159protected abstract Task WriteCacheAsync(string key, ChatResponse value, CancellationToken cancellationToken); 166/// <param name="value">The <see cref="ChatResponse"/> to be stored.</param>
ChatCompletion\ChatClientBuilder.cs (1)
132Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? getResponseFunc,
ChatCompletion\ChatClientStructuredOutputExtensions.cs (1)
229var result = await chatClient.GetResponseAsync(chatMessages, options, cancellationToken).ConfigureAwait(false);
ChatCompletion\ChatResponse{T}.cs (3)
20/// You can access the underlying JSON response on the <see cref="ChatResponse.Message"/> property. 31/// <param name="response">The unstructured <see cref="ChatResponse"/> that is being wrapped.</param> 33public ChatResponse(ChatResponse response, JsonSerializerOptions serializerOptions)
ChatCompletion\ConfigureOptionsChatClient.cs (1)
37public override async Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatCompletion\DistributedCachingChatClient.cs (5)
46protected override async Task<ChatResponse?> ReadCacheAsync(string key, CancellationToken cancellationToken) 53return (ChatResponse?)JsonSerializer.Deserialize(existingJson, _jsonSerializerOptions.GetTypeInfo(typeof(ChatResponse))); 74protected override async Task WriteCacheAsync(string key, ChatResponse value, CancellationToken cancellationToken) 80var newJson = JsonSerializer.SerializeToUtf8Bytes(value, _jsonSerializerOptions.GetTypeInfo(typeof(ChatResponse)));
ChatCompletion\FunctionInvokingChatClient.cs (3)
169/// If the underlying <see cref="IChatClient"/> responds with <see cref="ChatResponse.ChatThreadId"/> 212public override async Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 220ChatResponse? response = null;
ChatCompletion\LoggingChatClient.cs (2)
46public override async Task<ChatResponse> GetResponseAsync( 63var response = await base.GetResponseAsync(chatMessages, options, cancellationToken).ConfigureAwait(false);
ChatCompletion\OpenTelemetryChatClient.cs (5)
124public override async Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 135ChatResponse? response = null; 319ChatResponse? response, 413void AddMetricTags(ref TagList tags, string? requestModelId, ChatResponse? response) 477private void LogChatResponse(ChatResponse response)
Microsoft.Extensions.AI.Abstractions (31)
ChatCompletion\ChatClientExtensions.cs (2)
91public static Task<ChatResponse> GetResponseAsync( 111public static Task<ChatResponse> GetResponseAsync(
ChatCompletion\ChatResponse.cs (7)
18/// <summary>Initializes a new instance of the <see cref="ChatResponse"/> class.</summary> 26/// <summary>Initializes a new instance of the <see cref="ChatResponse"/> class.</summary> 54throw new InvalidOperationException($"The {nameof(ChatResponse)} instance does not contain any {nameof(ChatMessage)} choices."); 70/// (and this <see cref="ChatResponse"/>'s message) as part of the <c>chatMessages</c> parameter. 88/// If a <see cref="ChatResponse"/> is created to represent some underlying object from another object 120/// <summary>Creates an array of <see cref="ChatResponseUpdate" /> instances that represent this <see cref="ChatResponse" />.</summary> 121/// <returns>An array of <see cref="ChatResponseUpdate" /> instances that may be used to represent this <see cref="ChatResponse" />.</returns>
ChatCompletion\ChatResponseUpdate.cs (5)
18/// <see cref="ChatResponse"/> and <see cref="ChatMessage"/> in streaming output. For ease of consumption, 23/// The relationship between <see cref="ChatResponse"/> and <see cref="ChatResponseUpdate"/> is 25/// <see cref="ChatResponse.ToChatResponseUpdates"/>, which enable bidirectional conversions 28/// such an object available in <see cref="ChatResponse.RawRepresentation"/>. Similarly, if different 30/// only one of the values will be used to populate <see cref="ChatResponse.ModelId"/>.
ChatCompletion\ChatResponseUpdateExtensions.cs (14)
25/// <summary>Combines <see cref="ChatResponseUpdate"/> instances into a single <see cref="ChatResponse"/>.</summary> 33/// <returns>The combined <see cref="ChatResponse"/>.</returns> 34public static ChatResponse ToChatResponse( 39ChatResponse response = new([]); 52/// <summary>Combines <see cref="ChatResponseUpdate"/> instances into a single <see cref="ChatResponse"/>.</summary> 61/// <returns>The combined <see cref="ChatResponse"/>.</returns> 62public static Task<ChatResponse> ToChatResponseAsync( 69static async Task<ChatResponse> ToChatResponseAsync( 72ChatResponse response = new([]); 89/// <param name="response">The <see cref="ChatResponse"/> object whose properties should be updated based on <paramref name="update"/>.</param> 90private static void ProcessUpdate(ChatResponseUpdate update, Dictionary<int, ChatMessage> messages, ChatResponse response) 149/// <param name="response">The result <see cref="ChatResponse"/> being built.</param> 151private static void AddMessagesToResponse(Dictionary<int, ChatMessage> messages, ChatResponse response, bool coalesceContent) 184static void AddMessage(ChatResponse response, bool coalesceContent, KeyValuePair<int, ChatMessage> entry)
ChatCompletion\DelegatingChatClient.cs (1)
41public virtual Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatCompletion\IChatClient.cs (1)
37Task<ChatResponse> GetResponseAsync(
Utilities\AIJsonUtilities.Defaults.cs (1)
85[JsonSerializable(typeof(ChatResponse))]
Microsoft.Extensions.AI.Abstractions.Tests (21)
ChatCompletion\ChatClientExtensionsTests.cs (1)
123ChatResponse response = await client.GetResponseAsync("hello", expectedOptions, cts.Token);
ChatCompletion\ChatResponseTests.cs (13)
25ChatResponse response = new(message); 40ChatResponse response = new(messages); 48ChatResponse response = new([]); 58ChatResponse response = new([message]); 68ChatResponse response = new([ 80ChatResponse response = new([]); 87ChatResponse response = new([]); 128ChatResponse original = new( 147ChatResponse? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatResponse); 174ChatResponse response = new( 185ChatResponse response = new( 208ChatResponse response = new(new ChatMessage(new ChatRole("customRole"), "Text")) 237ChatResponse response = new(
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (3)
54ChatResponse response = (coalesceContent is bool, useAsync) switch 183ChatResponse response = useAsync ? await YieldAsync(updates).ToChatResponseAsync() : updates.ToChatResponse(); 207ChatResponse response = await YieldAsync(updates).ToChatResponseAsync();
ChatCompletion\DelegatingChatClientTests.cs (1)
27var expectedResult = new TaskCompletionSource<ChatResponse>();
TestChatClient.cs (2)
20public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatResponse>>? GetResponseAsyncCallback { get; set; } 29public Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
TestJsonSerializerContext.cs (1)
17[JsonSerializable(typeof(ChatResponse))]
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
83public async Task<ChatResponse> GetResponseAsync(
Microsoft.Extensions.AI.AzureAIInference.Tests (2)
AzureAIInferenceChatClientTests.cs (2)
159var response = await client.GetResponseAsync(chatMessages, new() 684var response = await client.GetResponseAsync(messages);
Microsoft.Extensions.AI.Evaluation.Integration.Tests (6)
AdditionalContextTests.cs (2)
61ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions); 96ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions);
EndToEndTests.cs (2)
73ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions); 124ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions);
RelevanceTruthAndCompletenessEvaluatorTests.cs (2)
70ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions); 103ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions);
Microsoft.Extensions.AI.Evaluation.Quality (2)
SingleNumericMetricEvaluator.cs (1)
68ChatResponse evaluationResponse =
Utilities\JsonOutputFixer.cs (1)
71ChatResponse response =
Microsoft.Extensions.AI.Integration.Tests (6)
CallCountingChatClient.cs (1)
19public override Task<ChatResponse> GetResponseAsync(
ChatClientIntegrationTests.cs (2)
49var response = await _chatClient.GetResponseAsync("What's the biggest animal?"); 102var response = await _chatClient.GetResponseAsync("Explain in 10 words how AI works");
PromptBasedFunctionCallingChatClient.cs (1)
42public override async Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (2)
20public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatResponse>>? GetResponseAsyncCallback { get; set; } 29public Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.Ollama (1)
OllamaChatClient.cs (1)
81public async Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.Ollama.Tests (2)
OllamaChatClientIntegrationTests.cs (1)
110public override Task<ChatResponse> GetResponseAsync(
OllamaChatClientTests.cs (1)
114var response = await client.GetResponseAsync("hello", new()
Microsoft.Extensions.AI.OpenAI (5)
OpenAIAssistantClient.cs (1)
72public Task<ChatResponse> GetResponseAsync(
OpenAIChatClient.cs (1)
102public async Task<ChatResponse> GetResponseAsync(
OpenAIModelMapper.ChatCompletion.cs (2)
29public static ChatCompletion ToOpenAIChatCompletion(ChatResponse response, JsonSerializerOptions options) 74public static ChatResponse FromOpenAIChatCompletion(ChatCompletion openAICompletion, ChatOptions? options, ChatCompletionOptions chatCompletionOptions)
OpenAISerializationHelpers.cs (1)
48ChatResponse response,
Microsoft.Extensions.AI.OpenAI.Tests (7)
OpenAIChatClientTests.cs (4)
190var response = await client.GetResponseAsync("hello", new() 554var response = await client.GetResponseAsync(messages); 655var response = await client.GetResponseAsync(messages); 1032var response = await client.GetResponseAsync(messages);
OpenAISerializationTests.cs (3)
481ChatResponse response = new(message) 576ChatResponse response = new([message1, message2]); 710ChatResponse response = new(new ChatMessage
Microsoft.Extensions.AI.Tests (25)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (9)
20var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult))) 81var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult))); 113var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "This is not valid JSON")); 132var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "null")); 151var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, [new DataContent("https://example.com")])); 171var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult))); 215var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult))); 250var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(payload))); 281var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, jso)));
ChatCompletion\ConfigureOptionsChatClientTests.cs (2)
37ChatResponse expectedResponse = new(Array.Empty<ChatMessage>()); 76var response = await client.GetResponseAsync(Array.Empty<ChatMessage>(), providedOptions, cts.Token);
ChatCompletion\DistributedCachingChatClientTest.cs (2)
86var result1 = await outer.GetResponseAsync("some input"); 91var result2 = await outer.GetResponseAsync("some input");
ChatCompletion\FunctionInvokingChatClientTests.cs (3)
666Func<IList<ChatMessage>, ChatOptions?, CancellationToken, ChatResponse> callback = 737var result = await service.GetResponseAsync(chat, options, cts.Token); 826var result = await service.GetStreamingResponseAsync(chat, options, cts.Token).ToChatResponseAsync();
ChatCompletion\UseDelegateChatClientTests.cs (6)
75ChatResponse response = await client.GetResponseAsync(expectedMessages, expectedOptions, expectedCts.Token); 110var cc = await innerClient.GetResponseAsync(chatMessages, options, cancellationToken); 118ChatResponse response = await client.GetResponseAsync(expectedMessages, expectedOptions, expectedCts.Token); 169ChatResponse response = await client.GetResponseAsync(expectedMessages, expectedOptions, expectedCts.Token); 213var cc = await innerClient.GetResponseAsync(chatMessages, options, cancellationToken); 240ChatResponse response = await client.GetResponseAsync(expectedMessages, expectedOptions, expectedCts.Token);
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (2)
20public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatResponse>>? GetResponseAsyncCallback { get; set; } 29public Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
TestJsonSerializerContext.cs (1)
13[JsonSerializable(typeof(ChatResponse))]
Microsoft.ML.GenAI.Core (1)
CausalLMPipelineChatClient.cs (1)
36public virtual Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.ML.GenAI.LLaMA (1)
Llama3CausalLMChatClient.cs (1)
27public override Task<ChatResponse> GetResponseAsync(
Microsoft.ML.GenAI.Phi (1)
Phi3\Phi3CausalLMChatClient.cs (1)
32public override Task<ChatResponse> GetResponseAsync(