1 type derived from ChatResponse
Microsoft.Extensions.AI (1)
ChatCompletion\ChatResponse{T}.cs (1)
21public class ChatResponse<T> : ChatResponse
80 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)
269=> Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, "Hello from middleware")));
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatResponseExtensions.cs (2)
137ChatResponse response = new(); 170ChatResponse response = new();
Microsoft.Extensions.AI.Abstractions.Tests (11)
ChatCompletion\ChatClientExtensionsTests.cs (1)
103var expectedResponse = new ChatResponse();
ChatCompletion\ChatResponseTests.cs (9)
19response = new(); 23response = new((IList<ChatMessage>?)null); 27Assert.Throws<ArgumentNullException>("message", () => new ChatResponse((ChatMessage)null!)); 33ChatResponse response = new(); 38response = new(messages); 50ChatResponse response = new(); 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") { MessageId = "someMessage" })
ChatCompletion\DelegatingChatClientTests.cs (1)
28var expectedResponse = new ChatResponse();
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
128return new ChatResponse(message)
Microsoft.Extensions.AI.Evaluation (2)
EvaluatorExtensions.cs (2)
136new ChatResponse(modelResponse), 226new ChatResponse(modelResponse),
Microsoft.Extensions.AI.Evaluation.Console (1)
Commands\ReportCommand.cs (1)
70result.ModelResponse = new ChatResponse();
Microsoft.Extensions.AI.Evaluation.Integration.Tests (3)
SafetyEvaluatorTests.cs (3)
427var response = new ChatResponse(answer2); 489var response = new ChatResponse(answer3); 565var response = new ChatResponse(completion2);
Microsoft.Extensions.AI.Evaluation.NLP.Tests (17)
BLEUEvaluatorTests.cs (6)
20var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "The quick brown fox jumps over the lazy dog.")); 36var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Completely unrelated sentence.")); 51var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Some text.")); 71var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 91var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 104var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, ""));
F1EvaluatorTests.cs (5)
20var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "The quick brown fox jumps over the lazy dog.")); 36var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Completely unrelated sentence.")); 51var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Some text.")); 71var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 84var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, ""));
GLEUEvaluatorTests.cs (6)
20var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "The quick brown fox jumps over the lazy dog.")); 36var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Completely unrelated sentence.")); 51var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Some text.")); 71var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 91var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 104var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, ""));
Microsoft.Extensions.AI.Evaluation.Reporting (2)
ScenarioRunExtensions.cs (2)
90new ChatResponse(modelResponse), 149new ChatResponse(modelResponse),
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (4)
ResultStoreTester.cs (1)
35modelResponse: new ChatResponse(new ChatMessage(ChatRole.Assistant, "LLM response")),
ScenarioRunResultTests.cs (2)
87modelResponse: new ChatResponse(new ChatMessage(ChatRole.Assistant, "response")), 178modelResponse: new ChatResponse(new ChatMessage(ChatRole.Assistant, "response")),
SerializationChainingTests.cs (1)
25modelResponse: new ChatResponse
Microsoft.Extensions.AI.Evaluation.Safety (1)
ContentSafetyChatClient.cs (1)
89return new ChatResponse(new ChatMessage(ChatRole.Assistant, annotationResult))
Microsoft.Extensions.AI.Integration.Tests (1)
ReducingChatClientTests.cs (1)
36return Task.FromResult(new ChatResponse());
Microsoft.Extensions.AI.OpenAI (2)
OpenAIChatClient.cs (1)
483var response = new ChatResponse(returnMessage)
OpenAIResponsesChatClient.cs (1)
88ChatResponse response = new()
Microsoft.Extensions.AI.Tests (30)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (10)
23var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Animal))) 106var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Options))) 167var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Options))); 201var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "This is not valid JSON")); 220var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "null")); 239var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, [new UriContent("https://example.com", "image/*")])); 259var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Options))); 294var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(payload, JsonContext2.Default.Options))); 326var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, jso))); 393return Task.FromResult(new ChatResponse(new ChatMessage(ChatRole.Assistant, resultDuplicatedJson)));
ChatCompletion\ConfigureOptionsChatClientTests.cs (1)
37ChatResponse expectedResponse = new();
ChatCompletion\DistributedCachingChatClientTest.cs (8)
47var expectedResponse = new ChatResponse( 140return new ChatResponse(new ChatMessage(ChatRole.Assistant, "Hello")); 214return new ChatResponse(new ChatMessage(ChatRole.Assistant, "A good result")); 559return new(new ChatMessage(ChatRole.Assistant, options!.AdditionalProperties!["someKey"]!.ToString())); 610return new(new ChatMessage(ChatRole.Assistant, innerCallCount.ToString())); 656return new(new ChatMessage(ChatRole.Assistant, options!.AdditionalProperties!["someKey"]!.ToString())); 684var expectedResponse = new ChatResponse( 743return Task.FromResult(new ChatResponse(
ChatCompletion\FunctionInvokingChatClientTests.cs (6)
726return new(message); 848return Task.FromResult(new ChatResponse(message)); 890return new ChatResponse(new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId-abc", "Func1")])) 898return new ChatResponse(new ChatMessage(ChatRole.Assistant, "done!")); 1034return new ChatResponse(message) { Usage = usage }; 1128return YieldAsync(new ChatResponse(message).ToChatResponseUpdates());
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)
48return Task.FromResult(new ChatResponse([chatMessage])
357 references to ChatResponse
Aspire.Azure.AI.OpenAI.Tests (2)
AspireAzureOpenAIClientBuilderChatClientExtensionsTests.cs (2)
217var completion = await client.GetResponseAsync("Whatever"); 220static Task<ChatResponse> TestMiddleware(IEnumerable<ChatMessage> list, ChatOptions? options, IChatClient client, CancellationToken token)
Aspire.OpenAI.Tests (3)
AspireOpenAIClientBuilderChatClientExtensionsTests.cs (3)
220var completion = await client.GetResponseAsync("Whatever"); 254var completion = await client.GetResponseAsync("Whatever"); 268private static Task<ChatResponse> TestMiddleware(IEnumerable<ChatMessage> list, ChatOptions? options, IChatClient client, CancellationToken token)
Microsoft.Extensions.AI (40)
ChatCompletion\AnonymousDelegatingChatClient.cs (7)
23private readonly Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? _getResponseFunc; 79Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? getResponseFunc, 90public override Task<ChatResponse> GetResponseAsync( 99async Task<ChatResponse> GetResponseViaSharedAsync( 102ChatResponse? response = null; 189static async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsyncViaGetResponseAsync(Task<ChatResponse> task) 191ChatResponse response = await task;
ChatCompletion\CachingChatClient.cs (8)
49public override Task<ChatResponse> GetResponseAsync( 59private async Task<ChatResponse> GetCachedResponseAsync( 156/// Returns a previously cached <see cref="ChatResponse"/>, if available. 163protected abstract Task<ChatResponse?> ReadCacheAsync(string key, CancellationToken cancellationToken); 176/// Stores a <see cref="ChatResponse"/> in the underlying cache. 180/// <param name="value">The <see cref="ChatResponse"/> to be stored.</param> 185protected abstract Task WriteCacheAsync(string key, ChatResponse value, CancellationToken cancellationToken); 192/// <param name="value">The <see cref="ChatResponse"/> to be stored.</param>
ChatCompletion\ChatClientBuilder.cs (1)
143Func<IEnumerable<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, Task<ChatResponse>>? getResponseFunc,
ChatCompletion\ChatClientStructuredOutputExtensions.cs (1)
223var result = await chatClient.GetResponseAsync(messages, options, cancellationToken);
ChatCompletion\ChatResponse{T}.cs (3)
19/// You can access the underlying JSON response on the <see cref="ChatResponse.Text"/> property. 35/// <param name="response">The unstructured <see cref="ChatResponse"/> that is being wrapped.</param> 37public ChatResponse(ChatResponse response, JsonSerializerOptions serializerOptions)
ChatCompletion\ConfigureOptionsChatClient.cs (1)
37public override async Task<ChatResponse> GetResponseAsync(
ChatCompletion\DistributedCachingChatClient.cs (6)
26/// the object models used by <see cref="ChatMessage"/>, <see cref="ChatOptions"/>, <see cref="ChatResponse"/>, <see cref="ChatResponseUpdate"/>, 77protected override async Task<ChatResponse?> ReadCacheAsync(string key, CancellationToken cancellationToken) 84return (ChatResponse?)JsonSerializer.Deserialize(existingJson, _jsonSerializerOptions.GetTypeInfo(typeof(ChatResponse))); 105protected override async Task WriteCacheAsync(string key, ChatResponse value, CancellationToken cancellationToken) 111var newJson = JsonSerializer.SerializeToUtf8Bytes(value, _jsonSerializerOptions.GetTypeInfo(typeof(ChatResponse)));
ChatCompletion\DistributedCachingChatClientBuilderExtensions.cs (1)
29/// the object models used by <see cref="ChatMessage"/>, <see cref="ChatOptions"/>, <see cref="ChatResponse"/>, <see cref="ChatResponseUpdate"/>,
ChatCompletion\FunctionInvokingChatClient.cs (5)
218public override async Task<ChatResponse> GetResponseAsync( 233ChatResponse? response = null; // the response from the inner client, which is possibly modified and then eventually returned 248Throw.InvalidOperationException($"The inner {nameof(IChatClient)} returned a null {nameof(ChatResponse)}."); 377var response = updates.ToChatResponse(); 455ChatResponse response,
ChatCompletion\LoggingChatClient.cs (2)
54public override async Task<ChatResponse> GetResponseAsync( 71var response = await base.GetResponseAsync(messages, options, cancellationToken);
ChatCompletion\OpenTelemetryChatClient.cs (5)
132public override async Task<ChatResponse> GetResponseAsync( 144ChatResponse? response = null; 335ChatResponse? response, 430void AddMetricTags(ref TagList tags, string? requestModelId, ChatResponse? response) 494private void LogChatResponse(ChatResponse response)
Microsoft.Extensions.AI.Abstractions (35)
ChatCompletion\ChatClientExtensions.cs (2)
91public static Task<ChatResponse> GetResponseAsync( 111public static Task<ChatResponse> GetResponseAsync(
ChatCompletion\ChatResponse.cs (9)
14/// <see cref="ChatResponse"/> provides one or more response messages and metadata about the response. 18/// it uses, all of the involved messages may be surfaced as part of the final <see cref="ChatResponse"/>. 25/// <summary>Initializes a new instance of the <see cref="ChatResponse"/> class.</summary> 30/// <summary>Initializes a new instance of the <see cref="ChatResponse"/> class.</summary> 40/// <summary>Initializes a new instance of the <see cref="ChatResponse"/> class.</summary> 72/// (and this <see cref="ChatResponse"/>'s message) as part of the <c>messages</c> parameter. Note that the value may 93/// If a <see cref="ChatResponse"/> is created to represent some underlying object from another object 106/// <summary>Creates an array of <see cref="ChatResponseUpdate" /> instances that represent this <see cref="ChatResponse" />.</summary> 107/// <returns>An array of <see cref="ChatResponseUpdate" /> instances that may be used to represent this <see cref="ChatResponse" />.</returns>
ChatCompletion\ChatResponseExtensions.cs (16)
18/// Provides extension methods for working with <see cref="ChatResponse"/> and <see cref="ChatResponseUpdate"/> instances. 27public static void AddMessages(this IList<ChatMessage> list, ChatResponse response) 122/// <summary>Combines <see cref="ChatResponseUpdate"/> instances into a single <see cref="ChatResponse"/>.</summary> 124/// <returns>The combined <see cref="ChatResponse"/>.</returns> 127/// As part of combining <paramref name="updates"/> into a single <see cref="ChatResponse"/>, the method will attempt to reconstruct 132public static ChatResponse ToChatResponse( 137ChatResponse response = new(); 149/// <summary>Combines <see cref="ChatResponseUpdate"/> instances into a single <see cref="ChatResponse"/>.</summary> 152/// <returns>The combined <see cref="ChatResponse"/>.</returns> 155/// As part of combining <paramref name="updates"/> into a single <see cref="ChatResponse"/>, the method will attempt to reconstruct 160public static Task<ChatResponse> ToChatResponseAsync( 167static async Task<ChatResponse> ToChatResponseAsync( 170ChatResponse response = new(); 240private static void FinalizeResponse(ChatResponse response) 251/// <param name="response">The <see cref="ChatResponse"/> object that should be updated based on <paramref name="update"/>.</param> 252private static void ProcessUpdate(ChatResponseUpdate update, ChatResponse response)
ChatCompletion\ChatResponseUpdate.cs (5)
19/// <see cref="ChatResponse"/> and <see cref="ChatMessage"/> in streaming output. 22/// The relationship between <see cref="ChatResponse"/> and <see cref="ChatResponseUpdate"/> is 24/// <see cref="ChatResponse.ToChatResponseUpdates"/>, which enable bidirectional conversions 27/// such an object available in <see cref="ChatResponse.RawRepresentation"/>. Similarly, if different 29/// only one of the values will be used to populate <see cref="ChatResponse.ModelId"/>.
ChatCompletion\DelegatingChatClient.cs (1)
42public virtual Task<ChatResponse> GetResponseAsync(
ChatCompletion\IChatClient.cs (1)
42Task<ChatResponse> GetResponseAsync(
Utilities\AIJsonUtilities.Defaults.cs (1)
80[JsonSerializable(typeof(ChatResponse))]
Microsoft.Extensions.AI.Abstractions.Tests (18)
ChatCompletion\ChatClientExtensionsTests.cs (2)
103var expectedResponse = new ChatResponse(); 123ChatResponse response = await client.GetResponseAsync("hello", expectedOptions, cts.Token);
ChatCompletion\ChatResponseTests.cs (7)
17ChatResponse response; 33ChatResponse response = new(); 50ChatResponse response = new(); 87ChatResponse original = new(new ChatMessage(ChatRole.Assistant, "the message")) 100ChatResponse? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatResponse); 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") { MessageId = "someMessage" })
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (4)
39ChatResponse response = useAsync ? 132ChatResponse response = useAsync ? await YieldAsync(updates).ToChatResponseAsync() : updates.ToChatResponse(); 173ChatResponse response = useAsync ? await YieldAsync(updates).ToChatResponseAsync() : updates.ToChatResponse(); 196ChatResponse response = await YieldAsync(updates).ToChatResponseAsync();
ChatCompletion\DelegatingChatClientTests.cs (2)
27var expectedResult = new TaskCompletionSource<ChatResponse>(); 28var expectedResponse = new ChatResponse();
TestChatClient.cs (2)
20public Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatResponse>>? GetResponseAsyncCallback { get; set; } 29public Task<ChatResponse> GetResponseAsync(IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
TestJsonSerializerContext.cs (1)
17[JsonSerializable(typeof(ChatResponse))]
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
85public async Task<ChatResponse> GetResponseAsync(
Microsoft.Extensions.AI.AzureAIInference.Tests (7)
AzureAIInferenceChatClientTests.cs (7)
148var response = await client.GetResponseAsync(messages, new() 254var response = await client.GetResponseAsync("hello", new ChatOptions 368var response = await client.GetResponseAsync("hello", chatOptions); 535var response = await client.GetResponseAsync("hello", chatOptions); 994var response = await client.GetResponseAsync(messages, new() 1136var response = await client.GetResponseAsync(messages); 1249var response = await client.GetResponseAsync("How old is Alice?", new()
Microsoft.Extensions.AI.Evaluation (19)
ChatResponseExtensions.cs (9)
9/// Extension methods for <see cref="ChatResponse"/>. 20/// This function only considers the <see cref="ChatResponse.Text"/> and ignores any <see cref="AIContent"/>s 21/// (present within the <see cref="ChatMessage.Contents"/> of the <see cref="ChatResponse.Messages"/>) that are not 22/// <see cref="TextContent"/>s. Any <see cref="ChatResponse.Messages"/> that contain no <see cref="TextContent"/>s 23/// will be skipped and will not be rendered. If none of the <see cref="ChatResponse.Messages"/> include any 27/// The rendered <see cref="ChatResponse.Messages"/> are each prefixed with the <see cref="ChatMessage.Role"/> and 29/// <see cref="ChatResponse.Messages"/>s are also always separated by new line characters in the returned string. 32/// <param name="response">The <see cref="ChatResponse"/> that is to be rendered.</param> 34public static string RenderText(this ChatResponse response)
CompositeEvaluator.cs (2)
104ChatResponse modelResponse, 129ChatResponse modelResponse,
EvaluationContext.cs (1)
23/// <see cref="IEvaluator.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, ChatConfiguration?, IEnumerable{EvaluationContext}?, CancellationToken)"/>.
EvaluationMetricExtensions.cs (2)
143/// <param name="response">The <see cref="ChatResponse"/> that contains metadata to be added or updated.</param> 150ChatResponse response,
EvaluationResultExtensions.cs (2)
173/// <param name="response">The <see cref="ChatResponse"/> that contains metadata to be added or updated.</param> 180ChatResponse response,
EvaluatorExtensions.cs (2)
171ChatResponse modelResponse, 265ChatResponse modelResponse,
IEvaluator.cs (1)
59ChatResponse modelResponse,
Microsoft.Extensions.AI.Evaluation.Integration.Tests (21)
AgentQualityEvaluatorTests.cs (8)
93(IEnumerable<ChatMessage> messages, ChatResponse response) = 116(IEnumerable<ChatMessage> messages, ChatResponse response) = 149(IEnumerable<ChatMessage> messages, ChatResponse response) = 173(IEnumerable<ChatMessage> messages, ChatResponse response) = 204private static async Task<(IEnumerable<ChatMessage> messages, ChatResponse response)> 213ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions); 217private static async Task<(IEnumerable<ChatMessage> messages, ChatResponse response)> 226ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptionsWithTools);
QualityEvaluatorTests.cs (4)
96ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions); 135ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions); 172ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions); 207ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions);
SafetyEvaluatorTests.cs (8)
194ChatResponse response = await chatClient.GetResponseAsync(messages, _chatOptions); 272ChatResponse response1 = await chatClient.GetResponseAsync(messages, _chatOptions); 278ChatResponse response2 = await chatClient.GetResponseAsync(messages, _chatOptions); 427var response = new ChatResponse(answer2); 489var response = new ChatResponse(answer3); 565var response = new ChatResponse(completion2); 592ChatResponse response1 = await chatClient.GetResponseAsync(messages, _chatOptions); 598ChatResponse response2 = await chatClient.GetResponseAsync(messages, _chatOptions);
TestEvaluator.cs (1)
28ChatResponse modelResponse,
Microsoft.Extensions.AI.Evaluation.NLP (3)
BLEUEvaluator.cs (1)
44ChatResponse modelResponse,
F1Evaluator.cs (1)
44ChatResponse modelResponse,
GLEUEvaluator.cs (1)
44ChatResponse modelResponse,
Microsoft.Extensions.AI.Evaluation.NLP.Tests (17)
BLEUEvaluatorTests.cs (6)
20var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "The quick brown fox jumps over the lazy dog.")); 36var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Completely unrelated sentence.")); 51var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Some text.")); 71var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 91var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 104var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, ""));
F1EvaluatorTests.cs (5)
20var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "The quick brown fox jumps over the lazy dog.")); 36var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Completely unrelated sentence.")); 51var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Some text.")); 71var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 84var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, ""));
GLEUEvaluatorTests.cs (6)
20var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "The quick brown fox jumps over the lazy dog.")); 36var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Completely unrelated sentence.")); 51var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, "Some text.")); 71var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 91var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, hypothesis)); 104var response = new ChatResponse(new ChatMessage(ChatRole.Assistant, ""));
Microsoft.Extensions.AI.Evaluation.Quality (39)
ChatResponseExtensions.cs (2)
14internal static string RenderAsJson(this ChatResponse modelResponse, JsonSerializerOptions? options = null) 22this ChatResponse modelResponse,
CoherenceEvaluator.cs (3)
69ChatResponse modelResponse, 92(ChatResponse evaluationResponse, TimeSpan evaluationDuration) = 104private static List<ChatMessage> GetEvaluationInstructions(ChatMessage? userRequest, ChatResponse modelResponse)
CompletenessEvaluator.cs (3)
66ChatResponse modelResponse, 97(ChatResponse evaluationResponse, TimeSpan evaluationDuration) = 111ChatResponse modelResponse,
EquivalenceEvaluator.cs (3)
65ChatResponse modelResponse, 98(ChatResponse evaluationResponse, TimeSpan evaluationDuration) = 113ChatResponse modelResponse,
EvaluationMetricExtensions.cs (2)
57ChatResponse evaluationResponse, 68ChatResponse evaluationResponse,
FluencyEvaluator.cs (3)
63ChatResponse modelResponse, 84(ChatResponse evaluationResponse, TimeSpan evaluationDuration) = 96private static List<ChatMessage> GetEvaluationInstructions(ChatResponse modelResponse)
GroundednessEvaluator.cs (3)
64ChatResponse modelResponse, 98(ChatResponse evaluationResponse, TimeSpan evaluationDuration) = 113ChatResponse modelResponse,
IntentResolutionEvaluator.cs (4)
77ChatResponse modelResponse, 142(ChatResponse evaluationResponse, TimeSpan evaluationDuration) = 166ChatResponse modelResponse, 324ChatResponse evaluationResponse,
RelevanceEvaluator.cs (3)
67ChatResponse modelResponse, 97(ChatResponse evaluationResponse, TimeSpan evaluationDuration) = 109private static List<ChatMessage> GetEvaluationInstructions(ChatMessage userRequest, ChatResponse modelResponse)
RelevanceTruthAndCompletenessEvaluator.cs (4)
80ChatResponse modelResponse, 116(ChatResponse evaluationResponse, TimeSpan evaluationDuration) = 135ChatResponse modelResponse, 269ChatResponse evaluationResponse,
RetrievalEvaluator.cs (2)
73ChatResponse modelResponse, 113(ChatResponse evaluationResponse, TimeSpan evaluationDuration) =
TaskAdherenceEvaluator.cs (3)
76ChatResponse modelResponse, 141(ChatResponse evaluationResponse, TimeSpan evaluationDuration) = 161ChatResponse modelResponse,
ToolCallAccuracyEvaluator.cs (3)
78ChatResponse modelResponse, 141(ChatResponse evaluationResponse, TimeSpan evaluationDuration) = 156ChatResponse modelResponse,
Utilities\JsonOutputFixer.cs (1)
71ChatResponse response =
Microsoft.Extensions.AI.Evaluation.Reporting (20)
ChatTurnDetails.cs (4)
23/// <see langword="null"/> if this information was not available via <see cref="ChatResponse.ModelId"/>. 27/// <see langword="null"/> if usage details were not available via <see cref="ChatResponse.Usage"/>. 55/// Returns <see langword="null"/> if this information was not available via <see cref="ChatResponse.ModelId"/>. 63/// Returns <see langword="null"/> if usage details were not available via <see cref="ChatResponse.Usage"/>.
ResponseCachingChatClient.cs (5)
30protected override async Task<ChatResponse?> ReadCacheAsync(string key, CancellationToken cancellationToken) 34ChatResponse? response = await base.ReadCacheAsync(key, cancellationToken).ConfigureAwait(false); 73ChatResponse response = updates.ToChatResponse(); 86protected override async Task WriteCacheAsync(string key, ChatResponse value, CancellationToken cancellationToken) 115ChatResponse response = value.ToChatResponse();
ScenarioRun.cs (1)
147ChatResponse modelResponse,
ScenarioRunExtensions.cs (2)
110ChatResponse modelResponse, 174ChatResponse modelResponse,
ScenarioRunResult.cs (5)
20/// <see cref="ScenarioRun.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, IEnumerable{Microsoft.Extensions.AI.Evaluation.EvaluationContext}?, CancellationToken)"/> 57ChatResponse modelResponse, 92ChatResponse modelResponse, 144public ChatResponse ModelResponse { get; set; } = modelResponse; 152/// <see cref="ScenarioRun.EvaluateAsync(IEnumerable{ChatMessage}, ChatResponse, IEnumerable{Microsoft.Extensions.AI.Evaluation.EvaluationContext}?, CancellationToken)"/>
SimpleChatClient.cs (3)
22public async override Task<ChatResponse> GetResponseAsync( 27ChatResponse? response = null; 76ChatResponse response = updates.ToChatResponse();
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (4)
ScenarioRunResultTests.cs (4)
302private class ChatResponseComparer : IEqualityComparer<ChatResponse> 306public bool Equals(ChatResponse? x, ChatResponse? y) 311public int GetHashCode(ChatResponse obj)
Microsoft.Extensions.AI.Evaluation.Safety (10)
ChatResponseExtensions.cs (1)
8internal static bool ContainsImageWithSupportedFormat(this ChatResponse response)
CodeVulnerabilityEvaluator.cs (1)
48ChatResponse modelResponse,
ContentHarmEvaluator.cs (1)
50ChatResponse modelResponse,
ContentSafetyChatClient.cs (1)
72public async Task<ChatResponse> GetResponseAsync(
ContentSafetyEvaluator.cs (3)
45ChatResponse modelResponse, 91ChatResponse modelResponse, 144(ChatResponse annotationResponse, TimeSpan annotationDuration) =
GroundednessProEvaluator.cs (1)
49ChatResponse modelResponse,
ProtectedMaterialEvaluator.cs (1)
68ChatResponse modelResponse,
UngroundedAttributesEvaluator.cs (1)
53ChatResponse modelResponse,
Microsoft.Extensions.AI.Integration.Tests (35)
CallCountingChatClient.cs (1)
19public override Task<ChatResponse> GetResponseAsync(
ChatClientIntegrationTests.cs (28)
57var response = await _chatClient.GetResponseAsync("What's the biggest animal?"); 67var response = await _chatClient.GetResponseAsync( 85var response = await _chatClient.GetResponseAsync( 122var response = await _chatClient.GetResponseAsync("Explain in 10 words how AI works"); 182var response = await _chatClient.GetResponseAsync( 200var response = await _chatClient.GetResponseAsync( 235var response = await chatClient.GetResponseAsync(messages, new() 251var response = await chatClient.GetResponseAsync("What is the result of SecretComputation on 42 and 84?", new() 303var response = await chatClient.GetResponseAsync(messages, new() 335var response = await chatClient.GetResponseAsync(messages, new() 367var response = await chatClient.GetResponseAsync(messages, new() 377private static void AssertUsageAgainstActivities(ChatResponse response, List<Activity> activities) 504var response = await chatClient.GetResponseAsync("Briefly, what is the most popular tower in Paris?", options); 573var response = await chatClient.GetResponseAsync("How much older is Elsa than Anna? Return the age difference as a single number.", new() 605var response = await chatClient.GetResponseAsync("Are birds real?", new() 626var response = await chatClient.GetResponseAsync("What's the current secret number?", new() 641var firstResponse = await _chatClient.GetResponseAsync([message]); 643var secondResponse = await _chatClient.GetResponseAsync([message]); 657var firstResponse = await chatClient.GetResponseAsync([message]); 662var secondResponse = await chatClient.GetResponseAsync([message]); 668var thirdResponse = await chatClient.GetResponseAsync([message]); 734var response = await chatClient.GetResponseAsync([message]); 741var secondResponse = await chatClient.GetResponseAsync([message]); 773var response = await chatClient.GetResponseAsync([message]); 781var secondResponse = await chatClient.GetResponseAsync([message]); 815var response = await chatClient.GetResponseAsync([message]); 824var secondResponse = await chatClient.GetResponseAsync([message]); 941var response = await chatClient.GetResponseAsync([new(ChatRole.User, "What's the biggest animal?")]);
PromptBasedFunctionCallingChatClient.cs (3)
42public override async Task<ChatResponse> GetResponseAsync( 83var result = await base.GetResponseAsync(chatMessages, options, cancellationToken); 140var response = await GetResponseAsync(messages, options, cancellationToken);
ReducingChatClientTests.cs (1)
75public override async Task<ChatResponse> GetResponseAsync(
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (2)
20public Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatResponse>>? GetResponseAsyncCallback { get; set; } 29public Task<ChatResponse> GetResponseAsync(IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.OllamaSharp.Integration.Tests (3)
OllamaSharpChatClientIntegrationTests.cs (3)
43var response = await chatClient.GetResponseAsync("What is the current secret number? Answer with digits only.", new ChatOptions 78var response = await chatClient.GetResponseAsync("What's the stock price for Microsoft in British pounds?", new ChatOptions 109public override Task<ChatResponse> GetResponseAsync(
Microsoft.Extensions.AI.OpenAI (15)
MicrosoftExtensionsAIChatExtensions.cs (4)
27/// <summary>Creates a Microsoft.Extensions.AI <see cref="ChatResponse"/> from a <see cref="ChatCompletion"/>.</summary> 28/// <param name="chatCompletion">The <see cref="ChatCompletion"/> to convert to a <see cref="ChatResponse"/>.</param> 30/// <returns>A converted <see cref="ChatResponse"/>.</returns> 31public static ChatResponse AsChatResponse(this ChatCompletion chatCompletion, ChatCompletionOptions? options = null) =>
MicrosoftExtensionsAIResponsesExtensions.cs (4)
27/// <summary>Creates a Microsoft.Extensions.AI <see cref="ChatResponse"/> from an <see cref="OpenAIResponse"/>.</summary> 28/// <param name="response">The <see cref="OpenAIResponse"/> to convert to a <see cref="ChatResponse"/>.</param> 30/// <returns>A converted <see cref="ChatResponse"/>.</returns> 31public static ChatResponse AsChatResponse(this OpenAIResponse response, ResponseCreationOptions? options = null) =>
OpenAIAssistantsChatClient.cs (1)
82public Task<ChatResponse> GetResponseAsync(
OpenAIChatClient.cs (3)
69public async Task<ChatResponse> GetResponseAsync( 434internal static ChatResponse FromOpenAIChatCompletion(ChatCompletion openAICompletion, ChatCompletionOptions? chatCompletionOptions) 483var response = new ChatResponse(returnMessage)
OpenAIResponsesChatClient.cs (3)
69public async Task<ChatResponse> GetResponseAsync( 85internal static ChatResponse FromOpenAIResponse(OpenAIResponse openAIResponse, ResponseCreationOptions? openAIOptions) 88ChatResponse response = new()
Microsoft.Extensions.AI.OpenAI.Tests (16)
OpenAIChatClientTests.cs (11)
155var response = await client.GetResponseAsync("hello", new() 331var response = await client.GetResponseAsync("hello", new() 417var response = await client.GetResponseAsync("hello", chatOptions); 575var response = await client.GetResponseAsync("hello", chatOptions); 810var response = await client.GetResponseAsync(messages, new() 915var response = await client.GetResponseAsync(messages); 1013var response = await client.GetResponseAsync(messages); 1124var response = await client.GetResponseAsync("How old is Alice?", new() 1208var response = await client.GetResponseAsync("What day is it?", new() 1466var response = await client.GetResponseAsync(messages); 1567var response = await client.GetResponseAsync(
OpenAIConversionTests.cs (1)
200ChatResponse response = cc.AsChatResponse();
OpenAIResponseClientTests.cs (4)
149var response = await client.GetResponseAsync("hello", new() 350var response = await client.GetResponseAsync("hello", new() 477var response = await client.GetResponseAsync("hello", chatOptions); 573var response = await client.GetResponseAsync("hello", new()
Microsoft.Extensions.AI.Tests (46)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (9)
23var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Animal))) 106var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Options))) 167var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Options))); 201var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "This is not valid JSON")); 220var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, "null")); 239var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, [new UriContent("https://example.com", "image/*")])); 259var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, JsonContext2.Default.Options))); 294var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(payload, JsonContext2.Default.Options))); 326var expectedResponse = new ChatResponse(new ChatMessage(ChatRole.Assistant, JsonSerializer.Serialize(expectedResult, jso)));
ChatCompletion\ConfigureOptionsChatClientTests.cs (2)
37ChatResponse expectedResponse = new(); 76var response = await client.GetResponseAsync(Array.Empty<ChatMessage>(), providedOptions, cts.Token);
ChatCompletion\DistributedCachingChatClientTest.cs (20)
47var expectedResponse = new ChatResponse( 96var result1 = await outer.GetResponseAsync("some input", options); 101var result2 = await outer.GetResponseAsync("some input", options); 232var result2 = await outer.GetResponseAsync([input]); 568var result1 = await outer.GetResponseAsync([], new ChatOptions 572var result2 = await outer.GetResponseAsync([], new ChatOptions 583var result3 = await outer.GetResponseAsync([], new ChatOptions 587var result4 = await outer.GetResponseAsync([], new ChatOptions 618var result1 = await outer.GetResponseAsync([]); 619var result2 = await outer.GetResponseAsync([]); 628var result3 = await outer.GetResponseAsync([]); 629var result4 = await outer.GetResponseAsync([]); 638var result5 = await outer.GetResponseAsync([]); 665var result1 = await outer.GetResponseAsync([], new ChatOptions 669var result2 = await outer.GetResponseAsync([], new ChatOptions 684var expectedResponse = new ChatResponse( 719var result1 = await outer.GetResponseAsync("some input"); 723var result2 = await outer.GetResponseAsync("some input"); 792private static void AssertResponsesEqual(ChatResponse expected, ChatResponse actual)
ChatCompletion\FunctionInvokingChatClientTests.cs (6)
690var response = await client.GetStreamingResponseAsync(messages, options, CancellationToken.None).ToChatResponseAsync(); 732ChatResponse response = await client.GetResponseAsync(messages, options); 857var result = await chatClient.GetResponseAsync(messages, chatOptions); 882Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, ChatResponse> callback = 1040var result = await service.GetResponseAsync(new EnumeratedOnceEnumerable<ChatMessage>(chat), options, cts.Token); 1134var result = await service.GetStreamingResponseAsync(new EnumeratedOnceEnumerable<ChatMessage>(chat), options, cts.Token).ToChatResponseAsync();
ChatCompletion\UseDelegateChatClientTests.cs (6)
67ChatResponse response = await client.GetResponseAsync(expectedMessages, expectedOptions, expectedCts.Token); 102var cc = await innerClient.GetResponseAsync(messages, options, cancellationToken); 110ChatResponse response = await client.GetResponseAsync(expectedMessages, expectedOptions, expectedCts.Token); 161ChatResponse response = await client.GetResponseAsync(expectedMessages, expectedOptions, expectedCts.Token); 205var cc = await innerClient.GetResponseAsync(messages, options, cancellationToken); 232ChatResponse response = await client.GetResponseAsync(expectedMessages, expectedOptions, expectedCts.Token);
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (2)
20public Func<IEnumerable<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatResponse>>? GetResponseAsyncCallback { get; set; } 29public Task<ChatResponse> GetResponseAsync(IEnumerable<ChatMessage> messages, 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(IEnumerable<ChatMessage> messages, 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(