50 writes to OutputTokenCount
Microsoft.Extensions.AI.Abstractions (2)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (1)
81Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount = value!,
UsageDetails.cs (1)
123OutputTokenCount = NullableSum(OutputTokenCount, usage.OutputTokenCount);
Microsoft.Extensions.AI.Abstractions.Tests (17)
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,
Generated\361d1da7f942c932\TestJsonSerializerContext.UsageDetails.g.cs (1)
79Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount = value!,
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 (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (1)
81Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount = value!,
Microsoft.Extensions.AI.Evaluation.Reporting.Azure (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (1)
81Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount = value!,
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 (7)
OpenAIAssistantsChatClient.cs (1)
184OutputTokenCount = usage.OutputTokenCount,
OpenAIChatClient.cs (1)
722OutputTokenCount = tokenUsage.OutputTokenCount,
OpenAIImageGenerator.cs (1)
138OutputTokenCount = usage.OutputTokenCount,
OpenAIRealtimeClientSession.cs (1)
1261OutputTokenCount = usage.OutputTokenCount ?? 0,
OpenAIResponsesChatClient.cs (1)
1637OutputTokenCount = 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 (2)
AIContentSerializationRegressionTests.cs (1)
24new UsageContent(new UsageDetails { InputTokenCount = 1, OutputTokenCount = 2 }),
Generated\361d1da7f942c932\AIContentSerializationRegressionContext.UsageDetails.g.cs (1)
79Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount = value!,
Microsoft.Extensions.AI.Tests (14)
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,
Generated\361d1da7f942c932\TestJsonSerializerContext.UsageDetails.g.cs (1)
79Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount = value!,
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,
110 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 (9)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (2)
80Getter = static obj => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount, 354long? __value_OutputTokenCount = ((global::Microsoft.Extensions.AI.UsageDetails)value).OutputTokenCount;
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 (23)
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);
Generated\361d1da7f942c932\TestJsonSerializerContext.UsageDetails.g.cs (2)
78Getter = static obj => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount, 272long? __value_OutputTokenCount = ((global::Microsoft.Extensions.AI.UsageDetails)value).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 (2)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (2)
80Getter = static obj => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount, 274long? __value_OutputTokenCount = ((global::Microsoft.Extensions.AI.UsageDetails)value).OutputTokenCount;
Microsoft.Extensions.AI.Evaluation.Reporting.Azure (2)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (2)
80Getter = static obj => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount, 274long? __value_OutputTokenCount = ((global::Microsoft.Extensions.AI.UsageDetails)value).OutputTokenCount;
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)
1656OutputTokenCount = (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); 1612Assert.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); 779Assert.Equal(10, usage.Details.OutputTokenCount); 919Assert.Equal(53, response.Usage.OutputTokenCount); 1021Assert.Equal(53, usage.Details.OutputTokenCount); 1382Assert.Equal(10, response.Usage.OutputTokenCount); 1648Assert.Equal(72, response.Usage.OutputTokenCount); 2036Assert.Equal(123, response.Usage.OutputTokenCount); 2447Assert.Equal(149, response.Usage.OutputTokenCount); 2644Assert.Equal(50, response.Usage.OutputTokenCount); 3630Assert.Equal(50, response.Usage.OutputTokenCount); 5517Assert.Equal(25, response.Usage.OutputTokenCount); 6099Assert.Equal(15, usage.Details.OutputTokenCount); 6503Assert.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.Stabilization.Tests (2)
Generated\361d1da7f942c932\AIContentSerializationRegressionContext.UsageDetails.g.cs (2)
78Getter = static obj => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount, 269global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.UsageDetails)value).OutputTokenCount, NullableInt64);
Microsoft.Extensions.AI.Tests (8)
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);
Generated\361d1da7f942c932\TestJsonSerializerContext.UsageDetails.g.cs (2)
78Getter = static obj => ((global::Microsoft.Extensions.AI.UsageDetails)obj).OutputTokenCount, 269global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.UsageDetails)value).OutputTokenCount, NullableInt64);