74 instantiations of UsageDetails
Microsoft.Extensions.AI (1)
ChatCompletion\FunctionInvokingChatClient.cs (1)
446UsageDetails? totalUsage = activity is { IsAllDataRequested: true } ? new() : null; // tracked usage across all turns, to be used for activity purposes
Microsoft.Extensions.AI.Abstractions (4)
ChatCompletion\ChatResponseExtensions.cs (1)
626(response.Usage ??= new()).Add(usage.Details);
Contents\UsageContent.cs (1)
22_details = new();
SpeechToText\SpeechToTextResponseUpdateExtensions.cs (1)
101(response.Usage ??= new()).Add(usage.Details);
TextToSpeech\TextToSpeechResponseUpdateExtensions.cs (1)
85(response.Usage ??= new()).Add(usage.Details);
Microsoft.Extensions.AI.Abstractions.Tests (36)
ChatCompletion\ChatResponseTests.cs (3)
69UsageDetails usage = new(); 94Usage = new UsageDetails(), 131Usage = new UsageDetails(),
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (3)
35new() { Contents = [new UsageContent(new() { InputTokenCount = 1, OutputTokenCount = 2 })] }, 36new() { Contents = [new UsageContent(new() { InputTokenCount = 4, OutputTokenCount = 5 })] }, 806new() { Contents = [new UsageContent(new() { TotalTokenCount = 42 })] },
Contents\AIContentTests.cs (1)
76new UsageContent(new UsageDetails { InputTokenCount = 10, OutputTokenCount = 20, TotalTokenCount = 30 }),
Contents\UsageContentTests.cs (3)
36UsageDetails details = new(); 44UsageDetails details2 = new(); 65var content = new UsageContent(new UsageDetails
Embeddings\GeneratedEmbeddingsTests.cs (1)
99UsageDetails usage = new();
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 (3)
138UsageDetails usageDetails = new(); 161Usage = new() { InputTokenCount = 42, OutputTokenCount = 84, TotalTokenCount = 126 }, 219Usage = withUsage ? new UsageDetails { InputTokenCount = 100, OutputTokenCount = 200, TotalTokenCount = 300 } : null
SpeechToText\SpeechToTextResponseUpdateExtensionsTests.cs (2)
140new() { Contents = [new UsageContent(new() { TotalTokenCount = 42 })] }, 142new() { Contents = [new UsageContent(new() { InputTokenCount = 12, TotalTokenCount = 24 })] },
TextToSpeech\TextToSpeechResponseTests.cs (3)
89UsageDetails usageDetails = new(); 107Usage = new() { InputTokenCount = 42, OutputTokenCount = 84, TotalTokenCount = 126 }, 148Usage = withUsage ? new UsageDetails { InputTokenCount = 100, OutputTokenCount = 200, TotalTokenCount = 300 } : null
TextToSpeech\TextToSpeechResponseUpdateExtensionsTests.cs (2)
58new() { Contents = [new UsageContent(new() { TotalTokenCount = 42 })] }, 60new() { Contents = [new UsageContent(new() { InputTokenCount = 12, TotalTokenCount = 24 })] },
UsageDetailsTests.cs (13)
17UsageDetails details = new(); 33UsageDetails details = new() 63UsageDetails details = new(); 70UsageDetails details1 = new() 83UsageDetails details2 = new() 112UsageDetails details1 = new() 118UsageDetails details2 = new() 136UsageDetails details1 = new(); 138UsageDetails details2 = new() 153UsageDetails details1 = new() 158UsageDetails details2 = new() 174UsageDetails details = new() 208UsageDetails details = new()
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)
OpenAIChatClient.cs (1)
722var destination = new UsageDetails
OpenAIEmbeddingGenerator.cs (1)
78new()
OpenAIImageGenerator.cs (1)
135ud = new()
OpenAIRealtimeClientSession.cs (1)
1258var details = new UsageDetails
OpenAIResponsesChatClient.cs (1)
1637ud = new()
OpenAISpeechToTextClient.cs (1)
279var details = new UsageDetails
OpenAITextToSpeechClient.cs (1)
137sessionClose.Contents = [new UsageContent(new()
Microsoft.Extensions.AI.OpenAI.Tests (3)
OpenAIConversionTests.cs (3)
1530Usage = new UsageDetails 1746new UsageContent(new UsageDetails 1847new UsageContent(new UsageDetails { TotalTokenCount = 50 })
Microsoft.Extensions.AI.Stabilization.Tests (1)
AIContentSerializationRegressionTests.cs (1)
24new UsageContent(new UsageDetails { InputTokenCount = 1, OutputTokenCount = 2 }),
Microsoft.Extensions.AI.Tests (18)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (2)
29Usage = new(), 106Usage = new(),
ChatCompletion\DistributedCachingChatClientTest.cs (3)
64Usage = new() 256new UsageContent(new() { InputTokenCount = 123, OutputTokenCount = 456, TotalTokenCount = 99999 }), 270Contents = [new UsageContent(new() { InputTokenCount = 123, OutputTokenCount = 456, TotalTokenCount = 99999 })],
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (1)
2010return new UsageDetails
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
2259return new UsageDetails
ChatCompletion\ImageGeneratingChatClientTests.cs (2)
411new UsageContent(new UsageDetails { InputTokenCount = 5 })], 486new UsageContent(new UsageDetails { InputTokenCount = 5 })],
ChatCompletion\OpenTelemetryChatClientTests.cs (2)
45Usage = new UsageDetails 87Contents = [new UsageContent(new()
Embeddings\OpenTelemetryEmbeddingGeneratorTests.cs (1)
40Usage = new()
Image\OpenTelemetryImageGeneratorTests.cs (1)
51Usage = new()
Realtime\OpenTelemetryRealtimeClientTests.cs (1)
65Usage = new UsageDetails
SpeechToText\OpenTelemetrySpeechToTextClientTests.cs (2)
49Usage = new() 76new UsageContent(new()
TextToSpeech\OpenTelemetryTextToSpeechClientTests.cs (2)
46Usage = new() 72new UsageContent(new()
71 references to UsageDetails
Microsoft.Extensions.AI (3)
ChatCompletion\FunctionInvokingChatClient.cs (3)
295UsageDetails? totalUsage = null; // tracked usage across all turns, to be used for the final response 446UsageDetails? totalUsage = activity is { IsAllDataRequested: true } ? new() : null; // tracked usage across all turns, to be used for activity purposes 722private static void AddUsageTags(Activity? activity, UsageDetails? usage)
Microsoft.Extensions.AI.Abstractions (16)
ChatCompletion\ChatResponse.cs (1)
88public UsageDetails? Usage { get; set; }
Contents\UsageContent.cs (5)
17private UsageDetails _details; 19/// <summary>Initializes a new instance of the <see cref="UsageContent"/> class with an empty <see cref="UsageDetails"/>.</summary> 25/// <summary>Initializes a new instance of the <see cref="UsageContent"/> class with the specified <see cref="UsageDetails"/> instance.</summary> 28public UsageContent(UsageDetails details) 34public UsageDetails Details
Embeddings\GeneratedEmbeddings.cs (1)
43public UsageDetails? Usage { get; set; }
Image\ImageGenerationResponse.cs (1)
52public UsageDetails? Usage { get; set; }
Realtime\InputAudioTranscriptionRealtimeServerMessage.cs (1)
52public UsageDetails? Usage { get; set; }
Realtime\ResponseCreatedRealtimeServerMessage.cs (1)
124public UsageDetails? Usage { get; set; }
SpeechToText\SpeechToTextResponse.cs (1)
108public UsageDetails? Usage { get; set; }
TextToSpeech\TextToSpeechResponse.cs (1)
79public UsageDetails? Usage { get; set; }
UsageDetails.cs (4)
111/// service, it may sum the counts from multiple results to produce an overall <see cref="UsageDetails"/>. 115/// <summary>Adds usage data from another <see cref="UsageDetails"/> into this instance.</summary> 116/// <param name="usage">The source <see cref="UsageDetails"/> with which to augment this instance.</param> 118public void Add(UsageDetails usage)
Microsoft.Extensions.AI.Abstractions.Tests (28)
ChatCompletion\ChatResponseTests.cs (1)
69UsageDetails usage = new();
Contents\UsageContentTests.cs (3)
36UsageDetails details = new(); 44UsageDetails details2 = new(); 54UsageDetails d = c.Details;
Embeddings\GeneratedEmbeddingsTests.cs (1)
99UsageDetails usage = new();
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 (1)
138UsageDetails usageDetails = new();
TextToSpeech\TextToSpeechResponseTests.cs (1)
89UsageDetails usageDetails = new();
UsageDetailsTests.cs (19)
17UsageDetails details = new(); 33UsageDetails details = new() 63UsageDetails details = new(); 70UsageDetails details1 = new() 83UsageDetails details2 = new() 112UsageDetails details1 = new() 118UsageDetails details2 = new() 136UsageDetails details1 = new(); 138UsageDetails details2 = new() 153UsageDetails details1 = new() 158UsageDetails details2 = new() 174UsageDetails details = new() 189UsageDetails? deserialized = JsonSerializer.Deserialize<UsageDetails>(json, AIJsonUtilities.DefaultOptions); 208UsageDetails details = new() 215UsageDetails? deserialized = JsonSerializer.Deserialize<UsageDetails>(json, AIJsonUtilities.DefaultOptions); 249UsageDetails? result = JsonSerializer.Deserialize<UsageDetails>(Json, AIJsonUtilities.DefaultOptions);
Microsoft.Extensions.AI.Evaluation (1)
EvaluationMetricExtensions.cs (1)
162if (response.Usage is UsageDetails usage)
Microsoft.Extensions.AI.Evaluation.Reporting (3)
ChatTurnDetails.cs (3)
44public UsageDetails? Usage { get; set; } 89UsageDetails? usage = null, 130UsageDetails? usage = null,
Microsoft.Extensions.AI.OpenAI (14)
OpenAIChatClient.cs (2)
720private static UsageDetails FromOpenAIUsage(ChatTokenUsage tokenUsage) 722var destination = new UsageDetails
OpenAIEmbeddingGenerator.cs (1)
77UsageDetails? usage = embeddings.Usage is not null ?
OpenAIImageGenerator.cs (1)
132UsageDetails? ud = null;
OpenAIRealtimeClientSession.cs (2)
1251private static UsageDetails? MapUsageDetails(Sdk.RealtimeResponseUsage? usage) 1258var details = new UsageDetails
OpenAIResponsesChatClient.cs (5)
1631/// <summary>Extract usage details from a <see cref="ResponseResult"/> into a <see cref="UsageDetails"/>.</summary> 1632private static UsageDetails? ToUsageDetails(ResponseResult? responseResult) 1634UsageDetails? ud = null; 1650/// <summary>Converts a <see cref="UsageDetails"/> to a <see cref="ResponseTokenUsage"/>.</summary> 1651internal static ResponseTokenUsage? ToResponseTokenUsage(UsageDetails? usageDetails)
OpenAISpeechToTextClient.cs (3)
276/// <summary>Maps <see cref="AudioTranscriptionTokenUsage"/> to <see cref="UsageDetails"/>.</summary> 277private static UsageDetails ToUsageDetails(AudioTranscriptionTokenUsage tokenUsage) 279var details = new UsageDetails
Microsoft.Extensions.AI.Tests (6)
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (3)
1976var usage = CreateRandomUsage(); 1994var actualUsage = result.Usage!; 2005private static UsageDetails CreateRandomUsage()
ChatCompletion\FunctionInvokingChatClientTests.cs (3)
2221var usage = CreateRandomUsage(); 2243var actualUsage = result.Usage!; 2254private static UsageDetails CreateRandomUsage()