13 writes to Usage
Microsoft.Extensions.AI (2)
ChatCompletion\ChatResponse{T}.cs (1)
48Usage = response.Usage;
ChatCompletion\FunctionInvokingChatClient.cs (1)
295response.Usage = totalUsage;
Microsoft.Extensions.AI.Abstractions (1)
ChatCompletion\ChatResponseExtensions.cs (1)
306(response.Usage ??= new()).Add(usage.Details);
Microsoft.Extensions.AI.Abstractions.Tests (2)
ChatCompletion\ChatResponseTests.cs (2)
70response.Usage = usage; 93Usage = new UsageDetails(),
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
126Usage = usage,
Microsoft.Extensions.AI.OpenAI (2)
OpenAIChatClient.cs (1)
461response.Usage = FromOpenAIUsage(tokenUsage);
OpenAIResponseChatClient.cs (1)
95Usage = ToUsageDetails(openAIResponse),
Microsoft.Extensions.AI.Tests (5)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (2)
29Usage = new(), 111Usage = new(),
ChatCompletion\DistributedCachingChatClientTest.cs (1)
58Usage = new()
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
963return new ChatResponse(message) { Usage = usage };
ChatCompletion\OpenTelemetryChatClientTests.cs (1)
45Usage = new UsageDetails
78 references to Usage
Microsoft.Extensions.AI (7)
ChatCompletion\ChatResponse{T}.cs (1)
48Usage = response.Usage;
ChatCompletion\FunctionInvokingChatClient.cs (3)
256if (response.Usage is not null) 260totalUsage.Add(response.Usage); 264totalUsage = response.Usage;
ChatCompletion\OpenTelemetryChatClient.cs (3)
347if (_tokenUsageHistogram.Enabled && response?.Usage is { } usage) 396if (response.Usage?.InputTokenCount is long inputTokens) 401if (response.Usage?.OutputTokenCount is long outputTokens)
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatResponse.cs (2)
129if (AdditionalProperties is not null || Usage is not null) 136if (Usage is { } usage)
Microsoft.Extensions.AI.Abstractions.Tests (8)
ChatCompletion\ChatResponseTests.cs (3)
68Assert.Null(response.Usage); 71Assert.Same(usage, response.Usage); 110Assert.NotNull(result.Usage);
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (5)
44Assert.NotNull(response.Usage); 45Assert.Equal(5, response.Usage.InputTokenCount); 46Assert.Equal(7, response.Usage.OutputTokenCount); 200Assert.NotNull(response.Usage); 201Assert.Equal(42, response.Usage.TotalTokenCount);
Microsoft.Extensions.AI.AzureAIInference.Tests (8)
AzureAIInferenceChatClientTests.cs (8)
150Assert.NotNull(response.Usage); 151Assert.Equal(8, response.Usage.InputTokenCount); 152Assert.Equal(9, response.Usage.OutputTokenCount); 153Assert.Equal(17, response.Usage.TotalTokenCount); 674Assert.NotNull(response.Usage); 675Assert.Equal(42, response.Usage.InputTokenCount); 676Assert.Equal(15, response.Usage.OutputTokenCount); 677Assert.Equal(57, response.Usage.TotalTokenCount);
Microsoft.Extensions.AI.Evaluation.Quality (2)
RelevanceTruthAndCompletenessEvaluator.cs (1)
217if (evaluationResponse.Usage is UsageDetails usage)
SingleNumericMetricEvaluator.cs (1)
86if (evaluationResponse.Usage is UsageDetails usage)
Microsoft.Extensions.AI.Evaluation.Reporting (8)
ChatTurnDetails.cs (2)
27/// <see langword="null"/> if usage details were not available via <see cref="ChatResponse.Usage"/>. 63/// Returns <see langword="null"/> if usage details were not available via <see cref="ChatResponse.Usage"/>.
ResponseCachingChatClient.cs (4)
50usage: response.Usage, 80usage: response.Usage, 100usage: value.Usage, 122usage: response.Usage,
SimpleChatClient.cs (2)
44usage: response.Usage)); 81usage: response.Usage));
Microsoft.Extensions.AI.Integration.Tests (5)
ChatClientIntegrationTests.cs (5)
115Assert.True(response.Usage?.InputTokenCount > 1); 116Assert.True(response.Usage?.OutputTokenCount > 1); 117Assert.Equal(response.Usage?.InputTokenCount + response.Usage?.OutputTokenCount, response.Usage?.TotalTokenCount);
Microsoft.Extensions.AI.Ollama.Tests (4)
OllamaChatClientTests.cs (4)
128Assert.NotNull(response.Usage); 129Assert.Equal(11, response.Usage.InputTokenCount); 130Assert.Equal(10, response.Usage.OutputTokenCount); 131Assert.Equal(21, response.Usage.TotalTokenCount);
Microsoft.Extensions.AI.OpenAI.Tests (24)
OpenAIChatClientTests.cs (20)
174Assert.NotNull(response.Usage); 175Assert.Equal(8, response.Usage.InputTokenCount); 176Assert.Equal(9, response.Usage.OutputTokenCount); 177Assert.Equal(17, response.Usage.TotalTokenCount); 186}, response.Usage.AdditionalCounts); 536Assert.NotNull(response.Usage); 537Assert.Equal(42, response.Usage.InputTokenCount); 538Assert.Equal(15, response.Usage.OutputTokenCount); 539Assert.Equal(57, response.Usage.TotalTokenCount); 548}, response.Usage.AdditionalCounts); 637Assert.NotNull(response.Usage); 638Assert.Equal(42, response.Usage.InputTokenCount); 639Assert.Equal(15, response.Usage.OutputTokenCount); 640Assert.Equal(57, response.Usage.TotalTokenCount); 649}, response.Usage.AdditionalCounts); 1103Assert.NotNull(response.Usage); 1104Assert.Equal(42, response.Usage.InputTokenCount); 1105Assert.Equal(15, response.Usage.OutputTokenCount); 1106Assert.Equal(57, response.Usage.TotalTokenCount); 1115}, response.Usage.AdditionalCounts);
OpenAIResponseClientTests.cs (4)
168Assert.NotNull(response.Usage); 169Assert.Equal(26, response.Usage.InputTokenCount); 170Assert.Equal(10, response.Usage.OutputTokenCount); 171Assert.Equal(36, response.Usage.TotalTokenCount);
Microsoft.Extensions.AI.Tests (10)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (2)
91Assert.Same(expectedResponse.Usage, response.Usage); 152Assert.Same(expectedResponse.Usage, response.Usage);
ChatCompletion\DistributedCachingChatClientTest.cs (8)
719Assert.Equal(expected.Usage?.InputTokenCount, actual.Usage?.InputTokenCount); 720Assert.Equal(expected.Usage?.OutputTokenCount, actual.Usage?.OutputTokenCount); 721Assert.Equal(expected.Usage?.TotalTokenCount, actual.Usage?.TotalTokenCount); 722Assert.Equal(expected.Usage?.AdditionalCounts, actual.Usage?.AdditionalCounts);