38 instantiations of ChatResponseUpdate
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatResponse.cs (2)
127extra = new ChatResponseUpdate 144updates[choiceIndex] = new ChatResponseUpdate
Microsoft.Extensions.AI.Abstractions.Tests (12)
ChatCompletion\ChatClientExtensionsTests.cs (1)
146return YieldAsync([new ChatResponseUpdate { Text = "world" }]);
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (5)
158updates.Add(new() { Text = text }); 179updates.Add(new() { Contents = [new DataContent("https://uri", mediaType: "image/png")] }); 202new() { Text = "Hello, " }, 203new() { Text = "world!" }, 204new() { Contents = [new UsageContent(new() { TotalTokenCount = 42 })] },
ChatCompletion\ChatResponseUpdateTests.cs (6)
16ChatResponseUpdate update = new(); 33ChatResponseUpdate update = new(); 89ChatResponseUpdate update = new() 118ChatResponseUpdate update = new() 135ChatResponseUpdate update = new() 165ChatResponseUpdate original = new()
Microsoft.Extensions.AI.AzureAIInference (2)
AzureAIInferenceChatClient.cs (2)
173ChatResponseUpdate responseUpdate = new() 234var responseUpdate = new ChatResponseUpdate
Microsoft.Extensions.AI.Ollama (1)
OllamaChatClient.cs (1)
155ChatResponseUpdate update = new()
Microsoft.Extensions.AI.OpenAI (4)
OpenAIAssistantClient.cs (2)
120yield return new() 136ChatResponseUpdate ruUpdate = new()
OpenAIModelMappers.StreamingChatCompletion.cs (2)
89ChatResponseUpdate responseUpdate = new() 167ChatResponseUpdate responseUpdate = new()
Microsoft.Extensions.AI.OpenAI.Tests (4)
OpenAISerializationTests.cs (4)
625yield return new ChatResponseUpdate 677yield return new ChatResponseUpdate(); 694yield return new ChatResponseUpdate(); 732yield return new ChatResponseUpdate
Microsoft.Extensions.AI.Tests (12)
ChatCompletion\ConfigureOptionsChatClientTests.cs (1)
38var expectedUpdates = Enumerable.Range(0, 3).Select(i => new ChatResponseUpdate()).ToArray();
ChatCompletion\FunctionInvokingChatClientTests.cs (3)
538new ChatResponseUpdate { Contents = [new FunctionCallContent("callId1", "Func1", new Dictionary<string, object?> { ["text"] = "Input 1" })] }, 539new ChatResponseUpdate { Contents = [new FunctionCallContent("callId2", "Func1", new Dictionary<string, object?> { ["text"] = "Input 2" })] }) 541new ChatResponseUpdate { Contents = [new TextContent("OK bye")] });
ChatCompletion\OpenTelemetryChatClientTests.cs (3)
72yield return new ChatResponseUpdate 80yield return new ChatResponseUpdate 85yield return new ChatResponseUpdate
ChatCompletion\UseDelegateChatClientTests.cs (5)
59return YieldUpdates(new ChatResponseUpdate { Text = "world" }); 141return YieldUpdates(new ChatResponseUpdate { Text = "hello" }); 162yield return new() { Text = " world" }; 201return YieldUpdates(new ChatResponseUpdate { Text = "streaming hello" }); 233yield return new() { Text = " world (streaming)" };
Microsoft.ML.GenAI.Core (1)
CausalLMPipelineChatClient.cs (1)
71yield return new ChatResponseUpdate
140 references to ChatResponseUpdate
Microsoft.Extensions.AI (35)
ChatCompletion\AnonymousDelegatingChatClient.cs (7)
28private readonly Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? _getStreamingResponseFunc; 75Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? getStreamingResponseFunc) 123public override IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync( 130var updates = Channel.CreateBounded<ChatResponseUpdate>(1); 141await foreach (var update in InnerClient.GetStreamingResponseAsync(chatMessages, options, cancellationToken).ConfigureAwait(false)) 169static async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsyncViaGetResponseAsync(Task<ChatResponse> task) 172foreach (var update in response.ToChatResponseUpdates())
ChatCompletion\CachingChatClient.cs (11)
67public override async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync( 82foreach (var chunk in chatResponse.ToChatResponseUpdates()) 90List<ChatResponseUpdate> capturedItems = []; 91await foreach (var chunk in base.GetStreamingResponseAsync(chatMessages, options, cancellationToken).ConfigureAwait(false)) 107foreach (var chunk in existingChunks) 115List<ChatResponseUpdate> capturedItems = []; 116await foreach (var chunk in base.GetStreamingResponseAsync(chatMessages, options, cancellationToken).ConfigureAwait(false)) 143/// Returns a previously cached list of <see cref="ChatResponseUpdate"/> values, if available. 149protected abstract Task<IReadOnlyList<ChatResponseUpdate>?> ReadCacheStreamingAsync(string key, CancellationToken cancellationToken); 162/// Stores a list of <see cref="ChatResponseUpdate"/> values in the underlying cache. 169protected abstract Task WriteCacheStreamingAsync(string key, IReadOnlyList<ChatResponseUpdate> value, CancellationToken cancellationToken);
ChatCompletion\ChatClientBuilder.cs (1)
133Func<IList<ChatMessage>, ChatOptions?, IChatClient, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? getStreamingResponseFunc)
ChatCompletion\ConfigureOptionsChatClient.cs (2)
43public override async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync( 46await foreach (var update in base.GetStreamingResponseAsync(chatMessages, Configure(options), cancellationToken).ConfigureAwait(false))
ChatCompletion\DistributedCachingChatClient.cs (5)
60protected override async Task<IReadOnlyList<ChatResponseUpdate>?> ReadCacheStreamingAsync(string key, CancellationToken cancellationToken) 67return (IReadOnlyList<ChatResponseUpdate>?)JsonSerializer.Deserialize(existingJson, _jsonSerializerOptions.GetTypeInfo(typeof(IReadOnlyList<ChatResponseUpdate>))); 85protected override async Task WriteCacheStreamingAsync(string key, IReadOnlyList<ChatResponseUpdate> value, CancellationToken cancellationToken) 91var newJson = JsonSerializer.SerializeToUtf8Bytes(value, _jsonSerializerOptions.GetTypeInfo(typeof(IReadOnlyList<ChatResponseUpdate>)));
ChatCompletion\FunctionInvokingChatClient.cs (2)
325public override async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync( 342await foreach (var update in base.GetStreamingResponseAsync(chatMessages, options, cancellationToken).ConfigureAwait(false))
ChatCompletion\LoggingChatClient.cs (3)
92public override async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync( 107IAsyncEnumerator<ChatResponseUpdate> e; 125ChatResponseUpdate? update = null;
ChatCompletion\OpenTelemetryChatClient.cs (4)
154public override async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync( 166IAsyncEnumerable<ChatResponseUpdate> updates; 178List<ChatResponseUpdate> trackedUpdates = []; 184ChatResponseUpdate update;
Microsoft.Extensions.AI.Abstractions (25)
ChatCompletion\ChatClientExtensions.cs (2)
131public static IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync( 151public static IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(
ChatCompletion\ChatResponse.cs (5)
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> 122public ChatResponseUpdate[] ToChatResponseUpdates() 124ChatResponseUpdate? extra = null; 139var updates = new ChatResponseUpdate[choicesCount + (extra is null ? 0 : 1)];
ChatCompletion\ChatResponseUpdate.cs (3)
16/// <see cref="ChatResponseUpdate"/> is so named because it represents updates 23/// The relationship between <see cref="ChatResponse"/> and <see cref="ChatResponseUpdate"/> is 85/// If a <see cref="ChatResponseUpdate"/> is created to represent some underlying object from another object
ChatCompletion\ChatResponseUpdateExtensions.cs (11)
21/// Provides extension methods for working with <see cref="ChatResponseUpdate"/> instances. 25/// <summary>Combines <see cref="ChatResponseUpdate"/> instances into a single <see cref="ChatResponse"/>.</summary> 35this IEnumerable<ChatResponseUpdate> updates, bool coalesceContent = true) 42foreach (var update in updates) 52/// <summary>Combines <see cref="ChatResponseUpdate"/> instances into a single <see cref="ChatResponse"/>.</summary> 63this IAsyncEnumerable<ChatResponseUpdate> updates, bool coalesceContent = true, CancellationToken cancellationToken = default) 70IAsyncEnumerable<ChatResponseUpdate> updates, bool coalesceContent, CancellationToken cancellationToken) 75await foreach (var update in updates.WithCancellation(cancellationToken).ConfigureAwait(false)) 86/// <summary>Processes the <see cref="ChatResponseUpdate"/>, incorporating its contents into <paramref name="messages"/> and <paramref name="response"/>.</summary> 88/// <param name="messages">The dictionary mapping <see cref="ChatResponseUpdate.ChoiceIndex"/> to the <see cref="ChatMessage"/> being built for that choice.</param> 90private static void ProcessUpdate(ChatResponseUpdate update, Dictionary<int, ChatMessage> messages, ChatResponse response)
ChatCompletion\DelegatingChatClient.cs (1)
47public virtual IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatCompletion\IChatClient.cs (1)
51IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(
Utilities\AIJsonUtilities.Defaults.cs (2)
86[JsonSerializable(typeof(ChatResponseUpdate))] 87[JsonSerializable(typeof(IReadOnlyList<ChatResponseUpdate>))]
Microsoft.Extensions.AI.Abstractions.Tests (25)
ChatCompletion\ChatResponseTests.cs (7)
217ChatResponseUpdate[] updates = response.ToChatResponseUpdates(); 221ChatResponseUpdate update0 = updates[0]; 229ChatResponseUpdate update1 = updates[1]; 267ChatResponseUpdate[] updates = response.ToChatResponseUpdates(); 271ChatResponseUpdate update0 = updates[0]; 282ChatResponseUpdate update1 = updates[1]; 292ChatResponseUpdate update2 = updates[2];
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (7)
21Assert.Throws<ArgumentNullException>("updates", () => ((List<ChatResponseUpdate>)null!).ToChatResponse()); 39ChatResponseUpdate[] updates = 143List<ChatResponseUpdate> updates = []; 200ChatResponseUpdate[] updates = 217private static async IAsyncEnumerable<ChatResponseUpdate> YieldAsync(IEnumerable<ChatResponseUpdate> updates) 219foreach (ChatResponseUpdate update in updates)
ChatCompletion\ChatResponseUpdateTests.cs (7)
16ChatResponseUpdate update = new(); 33ChatResponseUpdate update = new(); 89ChatResponseUpdate update = new() 118ChatResponseUpdate update = new() 135ChatResponseUpdate update = new() 165ChatResponseUpdate original = new() 187ChatResponseUpdate? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatResponseUpdate);
ChatCompletion\DelegatingChatClientTests.cs (1)
59ChatResponseUpdate[] expectedResults =
TestChatClient.cs (2)
22public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? GetStreamingResponseAsyncCallback { get; set; } 32public IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
TestJsonSerializerContext.cs (1)
18[JsonSerializable(typeof(ChatResponseUpdate))]
Microsoft.Extensions.AI.AzureAIInference (3)
AzureAIInferenceChatClient.cs (3)
148public async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync( 173ChatResponseUpdate responseUpdate = new() 234var responseUpdate = new ChatResponseUpdate
Microsoft.Extensions.AI.AzureAIInference.Tests (4)
AzureAIInferenceChatClientTests.cs (4)
231List<ChatResponseUpdate> updates = []; 232await foreach (var update in client.GetStreamingResponseAsync(chatMessages, new() 884List<ChatResponseUpdate> updates = []; 885await foreach (var update in client.GetStreamingResponseAsync("How old is Alice?", new()
Microsoft.Extensions.AI.Integration.Tests (7)
CallCountingChatClient.cs (1)
26public override IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(
ChatClientIntegrationTests.cs (4)
84await foreach (var chunk in _chatClient.GetStreamingResponseAsync(chatHistory)) 123List<ChatResponseUpdate> chunks = []; 124await foreach (var chunk in response) 228await foreach (var chunk in response)
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (2)
22public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? GetStreamingResponseAsyncCallback { get; set; } 32public IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.Ollama (2)
OllamaChatClient.cs (2)
116public async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync( 155ChatResponseUpdate update = new()
Microsoft.Extensions.AI.Ollama.Tests (2)
OllamaChatClientTests.cs (2)
173List<ChatResponseUpdate> updates = []; 174await foreach (var update in client.GetStreamingResponseAsync("hello", new()
Microsoft.Extensions.AI.OpenAI (9)
OpenAIAssistantClient.cs (2)
77public async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync( 136ChatResponseUpdate ruUpdate = new()
OpenAIChatClient.cs (1)
117public IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(
OpenAIModelMappers.StreamingChatCompletion.cs (5)
22IAsyncEnumerable<ChatResponseUpdate> updates, 26await foreach (var update in updates.WithCancellation(cancellationToken).ConfigureAwait(false)) 64public static async IAsyncEnumerable<ChatResponseUpdate> FromOpenAIStreamingChatCompletionAsync( 89ChatResponseUpdate responseUpdate = new() 167ChatResponseUpdate responseUpdate = new()
OpenAISerializationHelpers.cs (1)
71IAsyncEnumerable<ChatResponseUpdate> updates,
Microsoft.Extensions.AI.OpenAI.Tests (8)
OpenAIChatClientTests.cs (4)
270List<ChatResponseUpdate> updates = []; 271await foreach (var update in client.GetStreamingResponseAsync("hello", new() 872List<ChatResponseUpdate> updates = []; 873await foreach (var update in client.GetStreamingResponseAsync("How old is Alice?", new()
OpenAISerializationTests.cs (4)
586static async IAsyncEnumerable<ChatResponseUpdate> CreateStreamingResponse() 675static async IAsyncEnumerable<ChatResponseUpdate> GetStreamingChatResponse() 692static async IAsyncEnumerable<ChatResponseUpdate> GetStreamingChatResponse() 729async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponse()
Microsoft.Extensions.AI.Tests (17)
ChatCompletion\ConfigureOptionsChatClientTests.cs (3)
89static async IAsyncEnumerable<ChatResponseUpdate> YieldUpdates(ChatResponseUpdate[] updates) 91foreach (var update in updates)
ChatCompletion\FunctionInvokingChatClientTests.cs (2)
547var updates = new List<ChatResponseUpdate>(); 548await foreach (var update in client.GetStreamingResponseAsync(messages, options, CancellationToken.None))
ChatCompletion\OpenTelemetryChatClientTests.cs (2)
64async static IAsyncEnumerable<ChatResponseUpdate> CallbackAsync( 141await foreach (var update in chatClient.GetStreamingResponseAsync(chatMessages, options))
ChatCompletion\UseDelegateChatClientTests.cs (7)
154static async IAsyncEnumerable<ChatResponseUpdate> Impl( 157await foreach (var update in innerClient.GetStreamingResponseAsync(chatMessages, options, cancellationToken)) 225static async IAsyncEnumerable<ChatResponseUpdate> Impl( 228await foreach (var update in innerClient.GetStreamingResponseAsync(chatMessages, options, cancellationToken)) 247private static async IAsyncEnumerable<ChatResponseUpdate> YieldUpdates(params ChatResponseUpdate[] updates) 249foreach (var update in updates)
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (2)
22public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, IAsyncEnumerable<ChatResponseUpdate>>? GetStreamingResponseAsyncCallback { get; set; } 32public IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
TestJsonSerializerContext.cs (1)
15[JsonSerializable(typeof(IReadOnlyList<ChatResponseUpdate>))]
Microsoft.ML.GenAI.Core (1)
CausalLMPipelineChatClient.cs (1)
56public virtual async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(
Microsoft.ML.GenAI.LLaMA (1)
Llama3CausalLMChatClient.cs (1)
46public override IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(
Microsoft.ML.GenAI.Phi (1)
Phi3\Phi3CausalLMChatClient.cs (1)
51public override IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(