33 writes to OutputTokenCount
Microsoft.Extensions.AI.Abstractions (1)
UsageDetails.cs (1)
56OutputTokenCount = NullableSum(OutputTokenCount, usage.OutputTokenCount);
Microsoft.Extensions.AI.Abstractions.Tests (12)
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (2)
35new() { Contents = [new UsageContent(new() { InputTokenCount = 1, OutputTokenCount = 2 })] }, 36new() { Contents = [new UsageContent(new() { InputTokenCount = 4, OutputTokenCount = 5 })] },
Contents\AIContentTests.cs (1)
72new UsageContent(new UsageDetails { InputTokenCount = 10, OutputTokenCount = 20, TotalTokenCount = 30 }),
Contents\UsageContentTests.cs (1)
68OutputTokenCount = 20,
SpeechToText\SpeechToTextResponseTests.cs (2)
161Usage = new() { InputTokenCount = 42, OutputTokenCount = 84, TotalTokenCount = 126 }, 219Usage = withUsage ? new UsageDetails { InputTokenCount = 100, OutputTokenCount = 200, TotalTokenCount = 300 } : null
UsageDetailsTests.cs (6)
30OutputTokenCount = 20, 59OutputTokenCount = 20, 68OutputTokenCount = 25, 94OutputTokenCount = 25, 151OutputTokenCount = 20, 177OutputTokenCount = 20,
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (4)
ScenarioRunResultTests.cs (4)
68usage: new UsageDetails { InputTokenCount = 10, OutputTokenCount = 20, TotalTokenCount = 30 }, 76usage: new UsageDetails { InputTokenCount = 20, OutputTokenCount = 30, TotalTokenCount = 50 }, 160usage: new UsageDetails { InputTokenCount = 10, OutputTokenCount = 20, TotalTokenCount = 30 }, 168usage: new UsageDetails { InputTokenCount = 20, OutputTokenCount = 30, TotalTokenCount = 50 },
Microsoft.Extensions.AI.OpenAI (4)
OpenAIAssistantsChatClient.cs (1)
184OutputTokenCount = usage.OutputTokenCount,
OpenAIChatClient.cs (1)
697OutputTokenCount = tokenUsage.OutputTokenCount,
OpenAIImageGenerator.cs (1)
152OutputTokenCount = usage.OutputTokenCount,
OpenAIResponsesChatClient.cs (1)
1219OutputTokenCount = usage.OutputTokenCount,
Microsoft.Extensions.AI.OpenAI.Tests (2)
OpenAIConversionTests.cs (2)
1002OutputTokenCount = 12, 1218OutputTokenCount = 20,
Microsoft.Extensions.AI.Tests (10)
ChatCompletion\DistributedCachingChatClientTest.cs (3)
67OutputTokenCount = 456, 256new UsageContent(new() { InputTokenCount = 123, OutputTokenCount = 456, TotalTokenCount = 99999 }), 270Contents = [new UsageContent(new() { InputTokenCount = 123, OutputTokenCount = 456, TotalTokenCount = 99999 })],
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (1)
1290OutputTokenCount = value,
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
2251OutputTokenCount = value,
ChatCompletion\OpenTelemetryChatClientTests.cs (2)
46OutputTokenCount = 20, 87OutputTokenCount = 20,
Image\OpenTelemetryImageGeneratorTests.cs (1)
52OutputTokenCount = 20,
SpeechToText\OpenTelemetrySpeechToTextClientTests.cs (2)
50OutputTokenCount = 20, 77OutputTokenCount = 20,
81 references to OutputTokenCount
Microsoft.Extensions.AI (7)
ChatCompletion\FunctionInvokingChatClient.cs (1)
711if (usage.OutputTokenCount is long outputTokens)
ChatCompletion\OpenTelemetryChatClient.cs (2)
701if (usage.OutputTokenCount is long outputTokens) 745if (response.Usage?.OutputTokenCount is long outputTokens)
ChatCompletion\OpenTelemetryImageGenerator.cs (2)
266if (usage.OutputTokenCount is long outputTokens) 282if (usage.OutputTokenCount is long outputTokens)
SpeechToText\OpenTelemetrySpeechToTextClient.cs (2)
277if (usage.OutputTokenCount is long outputTokens) 314if (response.Usage?.OutputTokenCount is long outputTokens)
Microsoft.Extensions.AI.Abstractions (5)
UsageDetails.cs (5)
37/// Reasoning tokens should be counted as part of <see cref="OutputTokenCount"/>. 56OutputTokenCount = NullableSum(OutputTokenCount, usage.OutputTokenCount); 92if (OutputTokenCount is { } output) 94parts.Add($"{nameof(OutputTokenCount)} = {output}");
Microsoft.Extensions.AI.Abstractions.Tests (13)
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (1)
46Assert.Equal(7, response.Usage.OutputTokenCount);
Contents\UsageContentTests.cs (3)
28Assert.Null(c.Details.OutputTokenCount); 80Assert.Equal(content.Details.OutputTokenCount, deserializedContent.Details.OutputTokenCount);
SpeechToText\SpeechToTextResponseTests.cs (2)
189Assert.Equal(84, result.Usage.OutputTokenCount); 248Assert.Equal(200, usage.Details.OutputTokenCount);
UsageDetailsTests.cs (7)
17Assert.Null(details.OutputTokenCount); 38Assert.Equal(20, details.OutputTokenCount); 77Assert.Equal(45, details1.OutputTokenCount); 101Assert.Equal(25, details1.OutputTokenCount); 163Assert.Equal(details.OutputTokenCount, deserialized.OutputTokenCount); 185Assert.Equal(20, deserialized.OutputTokenCount);
Microsoft.Extensions.AI.Evaluation (2)
EvaluationMetricExtensions.cs (2)
171if (usage.OutputTokenCount is not null) 175value: usage.OutputTokenCount.Value.ToInvariantString());
Microsoft.Extensions.AI.Evaluation.Console (3)
Commands\ReportCommand.cs (3)
364CachedOutputTokenCount += turn.Usage?.OutputTokenCount; 370NonCachedOutputTokenCount += turn.Usage?.OutputTokenCount; 391if (turn.Usage?.OutputTokenCount is not null)
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (11)
ChatTurnDetailsTests.cs (9)
137Assert.Equal(20, details.Usage.OutputTokenCount); 150Assert.Equal(details.Usage.OutputTokenCount, deserializedDetails.Usage.OutputTokenCount); 179Assert.Equal(20, details.Usage.OutputTokenCount); 192Assert.Equal(details.Usage.OutputTokenCount, deserializedDetails.Usage.OutputTokenCount); 222Assert.Equal(7, details.Usage.OutputTokenCount); 235Assert.Equal(details.Usage.OutputTokenCount, deserializedDetails.Usage.OutputTokenCount);
ScenarioRunResultTests.cs (2)
400x?.Usage?.OutputTokenCount == y?.Usage?.OutputTokenCount &&
Microsoft.Extensions.AI.Integration.Tests (5)
ChatClientIntegrationTests.cs (5)
134Assert.True(response.Usage?.OutputTokenCount > 1); 135Assert.Equal(response.Usage?.InputTokenCount + response.Usage?.OutputTokenCount, response.Usage?.TotalTokenCount); 161Assert.True(usage.Details.OutputTokenCount > 1); 162Assert.Equal(usage.Details.InputTokenCount + usage.Details.OutputTokenCount, usage.Details.TotalTokenCount); 397Assert.Equal(totalOutputTokens, finalUsage.OutputTokenCount * 2);
Microsoft.Extensions.AI.OpenAI (3)
MicrosoftExtensionsAIChatExtensions.cs (2)
69(int?)response.Usage?.OutputTokenCount ?? 0, 150(int?)usageContent.Details.OutputTokenCount ?? 0,
OpenAIResponsesChatClient.cs (1)
1238OutputTokenCount = (int?)usageDetails.OutputTokenCount ?? 0,
Microsoft.Extensions.AI.OpenAI.Tests (26)
OpenAIChatClientTests.cs (10)
174Assert.Equal(9, response.Usage.OutputTokenCount); 261Assert.Equal(9, usage.Details.OutputTokenCount); 848Assert.Equal(15, response.Usage.OutputTokenCount); 945Assert.Equal(15, response.Usage.OutputTokenCount); 1043Assert.Equal(15, response.Usage.OutputTokenCount); 1154Assert.Equal(16, response.Usage.OutputTokenCount); 1238Assert.Equal(16, response.Usage.OutputTokenCount); 1354Assert.Equal(16, usage.Details.OutputTokenCount); 1496Assert.Equal(15, response.Usage.OutputTokenCount); 1611Assert.Equal(56, response.Usage.OutputTokenCount);
OpenAIConversionTests.cs (2)
816Assert.Equal(2, response.Usage.OutputTokenCount); 847Assert.Equal(2, response.Usage.OutputTokenCount);
OpenAIResponseClientTests.cs (14)
171Assert.Equal(10, response.Usage.OutputTokenCount); 351Assert.Equal(122, usage.Details.OutputTokenCount); 478Assert.Equal(25, usage.Details.OutputTokenCount); 693Assert.Equal(10, usage.Details.OutputTokenCount); 831Assert.Equal(53, response.Usage.OutputTokenCount); 932Assert.Equal(53, usage.Details.OutputTokenCount); 1293Assert.Equal(10, response.Usage.OutputTokenCount); 1560Assert.Equal(72, response.Usage.OutputTokenCount); 1827Assert.Equal(123, response.Usage.OutputTokenCount); 2240Assert.Equal(149, response.Usage.OutputTokenCount); 3136Assert.Equal(50, response.Usage.OutputTokenCount); 4886Assert.Equal(25, response.Usage.OutputTokenCount); 5464Assert.Equal(15, usage.Details.OutputTokenCount); 5868Assert.Equal(0, usage.Details.OutputTokenCount);
Microsoft.Extensions.AI.Tests (6)
ChatCompletion\DistributedCachingChatClientTest.cs (4)
794Assert.Equal(expected.Usage?.OutputTokenCount, actual.Usage?.OutputTokenCount); 866Assert.Equal(expectedUsage.Details.OutputTokenCount, actualUsage.Details.OutputTokenCount);
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (1)
1273Assert.Equal(expectedTotalTokenCounts, actualUsage.OutputTokenCount);
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
2234Assert.Equal(expectedTotalTokenCounts, actualUsage.OutputTokenCount);