43 writes to OutputTokenCount
Microsoft.Extensions.AI.Abstractions (1)
UsageDetails.cs (1)
123OutputTokenCount = NullableSum(OutputTokenCount, usage.OutputTokenCount);
Microsoft.Extensions.AI.Abstractions.Tests (16)
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)
76new UsageContent(new UsageDetails { InputTokenCount = 10, OutputTokenCount = 20, TotalTokenCount = 30 }),
Contents\UsageContentTests.cs (1)
68OutputTokenCount = 20,
Realtime\RealtimeServerMessageTests.cs (2)
99var usage = new UsageDetails { InputTokenCount = 10, OutputTokenCount = 20 }; 198var usage = new UsageDetails { InputTokenCount = 15, OutputTokenCount = 25, TotalTokenCount = 40 };
SpeechToText\SpeechToTextResponseTests.cs (2)
161Usage = new() { InputTokenCount = 42, OutputTokenCount = 84, TotalTokenCount = 126 }, 219Usage = withUsage ? new UsageDetails { InputTokenCount = 100, OutputTokenCount = 200, TotalTokenCount = 300 } : null
TextToSpeech\TextToSpeechResponseTests.cs (2)
107Usage = new() { InputTokenCount = 42, OutputTokenCount = 84, TotalTokenCount = 126 }, 148Usage = withUsage ? new UsageDetails { InputTokenCount = 100, OutputTokenCount = 200, TotalTokenCount = 300 } : null
UsageDetailsTests.cs (6)
36OutputTokenCount = 20, 73OutputTokenCount = 20, 86OutputTokenCount = 25, 120OutputTokenCount = 25, 177OutputTokenCount = 20, 211OutputTokenCount = 20,
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (4)
ScenarioRunResultTests.cs (4)
69usage: new UsageDetails { InputTokenCount = 10, OutputTokenCount = 20, TotalTokenCount = 30 }, 77usage: new UsageDetails { InputTokenCount = 20, OutputTokenCount = 30, TotalTokenCount = 50 }, 161usage: new UsageDetails { InputTokenCount = 10, OutputTokenCount = 20, TotalTokenCount = 30 }, 169usage: new UsageDetails { InputTokenCount = 20, OutputTokenCount = 30, TotalTokenCount = 50 },
Microsoft.Extensions.AI.OpenAI (6)
OpenAIChatClient.cs (1)
725OutputTokenCount = tokenUsage.OutputTokenCount,
OpenAIImageGenerator.cs (1)
138OutputTokenCount = usage.OutputTokenCount,
OpenAIRealtimeClientSession.cs (1)
1261OutputTokenCount = usage.OutputTokenCount ?? 0,
OpenAIResponsesChatClient.cs (1)
1640OutputTokenCount = usage.OutputTokenCount,
OpenAISpeechToTextClient.cs (1)
282OutputTokenCount = tokenUsage.OutputTokenCount,
OpenAITextToSpeechClient.cs (1)
140OutputTokenCount = usage.OutputTokenCount,
Microsoft.Extensions.AI.OpenAI.Tests (2)
OpenAIConversionTests.cs (2)
1533OutputTokenCount = 12, 1749OutputTokenCount = 20,
Microsoft.Extensions.AI.Stabilization.Tests (1)
AIContentSerializationRegressionTests.cs (1)
24new UsageContent(new UsageDetails { InputTokenCount = 1, OutputTokenCount = 2 }),
Microsoft.Extensions.AI.Tests (13)
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)
2013OutputTokenCount = value,
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
2262OutputTokenCount = value,
ChatCompletion\OpenTelemetryChatClientTests.cs (2)
48OutputTokenCount = 20, 90OutputTokenCount = 20,
Image\OpenTelemetryImageGeneratorTests.cs (1)
54OutputTokenCount = 20,
Realtime\OpenTelemetryRealtimeClientTests.cs (1)
68OutputTokenCount = 25,
SpeechToText\OpenTelemetrySpeechToTextClientTests.cs (2)
52OutputTokenCount = 20, 79OutputTokenCount = 20,
TextToSpeech\OpenTelemetryTextToSpeechClientTests.cs (2)
49OutputTokenCount = 20, 75OutputTokenCount = 20,
98 references to OutputTokenCount
Microsoft.Extensions.AI (11)
ChatCompletion\FunctionInvokingChatClient.cs (1)
731if (usage.OutputTokenCount is long outputTokens)
ChatCompletion\OpenTelemetryChatClient.cs (2)
427if (usage.OutputTokenCount is long outputTokens) 471if (response.Usage?.OutputTokenCount is long outputTokens)
ChatCompletion\OpenTelemetryImageGenerator.cs (2)
252if (usage.OutputTokenCount is long outputTokens) 268if (usage.OutputTokenCount is long outputTokens)
Realtime\OpenTelemetryRealtimeClientSession.cs (2)
769if (usage.OutputTokenCount is long outputTokens) 845if (responseUsage.OutputTokenCount is long outputTokens)
SpeechToText\OpenTelemetrySpeechToTextClient.cs (2)
271if (usage.OutputTokenCount is long outputTokens) 303if (response.Usage?.OutputTokenCount is long outputTokens)
TextToSpeech\OpenTelemetryTextToSpeechClient.cs (2)
270if (usage.OutputTokenCount is long outputTokens) 298if (response.Usage?.OutputTokenCount is long outputTokens)
Microsoft.Extensions.AI.Abstractions (7)
UsageDetails.cs (7)
40/// Reasoning tokens should be counted as part of <see cref="OutputTokenCount"/>. 78/// Audio output tokens should be counted as part of <see cref="OutputTokenCount"/>. 94/// Text output tokens should be counted as part of <see cref="OutputTokenCount"/>. 123OutputTokenCount = NullableSum(OutputTokenCount, usage.OutputTokenCount); 163if (OutputTokenCount is { } output) 165parts.Add($"{nameof(OutputTokenCount)} = {output}");
Microsoft.Extensions.AI.Abstractions.Tests (21)
ChatCompletion\ChatResponseTests.cs (1)
219Assert.Equal(20, result.Usage.OutputTokenCount);
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (1)
46Assert.Equal(7, response.Usage.OutputTokenCount);
Contents\UsageContentTests.cs (4)
28Assert.Null(c.Details.OutputTokenCount); 80Assert.Equal(content.Details.OutputTokenCount, deserializedContent.Details.OutputTokenCount); 108Assert.Equal(20, usageContent.Details.OutputTokenCount);
Image\ImageGenerationResponseTests.cs (1)
183Assert.Equal(100, result.Usage.OutputTokenCount);
SpeechToText\SpeechToTextResponseTests.cs (3)
189Assert.Equal(84, result.Usage.OutputTokenCount); 248Assert.Equal(200, usage.Details.OutputTokenCount); 290Assert.Equal(50, result.Usage.OutputTokenCount);
TextToSpeech\TextToSpeechResponseTests.cs (3)
128Assert.Equal(84, result.Usage.OutputTokenCount); 174Assert.Equal(200, usage.Details.OutputTokenCount); 212Assert.Equal(50, result.Usage.OutputTokenCount);
UsageDetailsTests.cs (8)
19Assert.Null(details.OutputTokenCount); 48Assert.Equal(20, details.OutputTokenCount); 99Assert.Equal(45, details1.OutputTokenCount); 127Assert.Equal(25, details1.OutputTokenCount); 193Assert.Equal(details.OutputTokenCount, deserialized.OutputTokenCount); 219Assert.Equal(20, deserialized.OutputTokenCount); 253Assert.Equal(20, result.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)
516x?.Usage?.OutputTokenCount == y?.Usage?.OutputTokenCount &&
Microsoft.Extensions.AI.Integration.Tests (5)
ChatClientIntegrationTests.cs (5)
124Assert.True(response.Usage?.OutputTokenCount > 1); 125Assert.Equal(response.Usage?.InputTokenCount + response.Usage?.OutputTokenCount, response.Usage?.TotalTokenCount); 151Assert.True(usage.Details.OutputTokenCount > 1); 152Assert.Equal(usage.Details.InputTokenCount + usage.Details.OutputTokenCount, usage.Details.TotalTokenCount); 387Assert.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)
1659OutputTokenCount = (int?)usageDetails.OutputTokenCount ?? 0,
Microsoft.Extensions.AI.OpenAI.Tests (29)
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); 1239Assert.Equal(16, response.Usage.OutputTokenCount); 1355Assert.Equal(16, usage.Details.OutputTokenCount); 1497Assert.Equal(15, response.Usage.OutputTokenCount); 1617Assert.Equal(56, response.Usage.OutputTokenCount);
OpenAIConversionTests.cs (2)
901Assert.Equal(2, response.Usage.OutputTokenCount); 932Assert.Equal(2, response.Usage.OutputTokenCount);
OpenAIResponseClientTests.cs (15)
171Assert.Equal(10, response.Usage.OutputTokenCount); 348Assert.Equal(122, usage.Details.OutputTokenCount); 475Assert.Equal(25, usage.Details.OutputTokenCount); 885Assert.Equal(10, usage.Details.OutputTokenCount); 1025Assert.Equal(53, response.Usage.OutputTokenCount); 1127Assert.Equal(53, usage.Details.OutputTokenCount); 1488Assert.Equal(10, response.Usage.OutputTokenCount); 1754Assert.Equal(72, response.Usage.OutputTokenCount); 2142Assert.Equal(123, response.Usage.OutputTokenCount); 2553Assert.Equal(149, response.Usage.OutputTokenCount); 2750Assert.Equal(50, response.Usage.OutputTokenCount); 3736Assert.Equal(50, response.Usage.OutputTokenCount); 5623Assert.Equal(25, response.Usage.OutputTokenCount); 6250Assert.Equal(15, usage.Details.OutputTokenCount); 6654Assert.Equal(0, usage.Details.OutputTokenCount);
OpenAISpeechToTextClientTests.cs (1)
345Assert.Equal(13, usage.Details.OutputTokenCount);
OpenAITextToSpeechClientTests.cs (1)
339Assert.Equal(10, 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)
1996Assert.Equal(expectedTotalTokenCounts, actualUsage.OutputTokenCount);
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
2245Assert.Equal(expectedTotalTokenCounts, actualUsage.OutputTokenCount);