20 instantiations of UsageContent
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatResponse.cs (1)
120extra.Contents.Add(new UsageContent(usage));
SpeechToText\SpeechToTextResponse.cs (1)
82contents = [.. contents, new UsageContent(usage)];
Microsoft.Extensions.AI.Abstractions.Tests (9)
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (3)
35new() { Contents = [new UsageContent(new() { InputTokenCount = 1, OutputTokenCount = 2 })] }, 36new() { Contents = [new UsageContent(new() { InputTokenCount = 4, OutputTokenCount = 5 })] }, 294new() { Contents = [new UsageContent(new() { TotalTokenCount = 42 })] },
Contents\UsageContentTests.cs (4)
14Assert.Throws<ArgumentNullException>("details", () => new UsageContent(null!)); 20UsageContent c = new(); 37UsageContent c = new(details); 51UsageContent c = new();
SpeechToText\SpeechToTextResponseUpdateExtensionsTests.cs (2)
140new() { Contents = [new UsageContent(new() { TotalTokenCount = 42 })] }, 142new() { Contents = [new UsageContent(new() { InputTokenCount = 12, TotalTokenCount = 24 })] },
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
213responseUpdate.Contents.Add(new UsageContent(new()
Microsoft.Extensions.AI.OpenAI (3)
OpenAIAssistantsChatClient.cs (1)
192ruUpdate.Contents.Add(new UsageContent(new()
OpenAIChatClient.cs (1)
384responseUpdate.Contents.Add(new UsageContent(FromOpenAIUsage(tokenUsage))
OpenAIResponsesChatClient.cs (1)
216Contents = ToUsageDetails(completedUpdate.Response) is { } usage ? [new UsageContent(usage)] : [],
Microsoft.Extensions.AI.OpenAI.Tests (2)
OpenAIConversionTests.cs (2)
624new UsageContent(new UsageDetails 725new UsageContent(new UsageDetails { TotalTokenCount = 50 })
Microsoft.Extensions.AI.Tests (3)
ChatCompletion\DistributedCachingChatClientTest.cs (2)
255new UsageContent(new() { InputTokenCount = 123, OutputTokenCount = 456, TotalTokenCount = 99999 }), 269Contents = [new UsageContent(new() { InputTokenCount = 123, OutputTokenCount = 456, TotalTokenCount = 99999 })],
ChatCompletion\OpenTelemetryChatClientTests.cs (1)
85Contents = [new UsageContent(new()
25 references to UsageContent
Microsoft.Extensions.AI (1)
ChatCompletion\FunctionInvokingChatClient.cs (1)
367if (contents[i] is UsageContent uc)
Microsoft.Extensions.AI.Abstractions (5)
ChatCompletion\ChatResponseExtensions.cs (1)
327case UsageContent usage:
Contents\AIContent.cs (1)
18[JsonDerivedType(typeof(UsageContent), typeDiscriminator: "usage")]
Contents\UsageContent.cs (2)
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>
SpeechToText\SpeechToTextResponseUpdateExtensions.cs (1)
101case UsageContent usage:
Microsoft.Extensions.AI.Abstractions.Tests (5)
Contents\UsageContentTests.cs (3)
20UsageContent c = new(); 37UsageContent c = new(details); 51UsageContent c = new();
SpeechToText\SpeechToTextResponseTests.cs (2)
246var usage = Assert.IsType<UsageContent>(update.Contents[3]);
Microsoft.Extensions.AI.Evaluation.Safety (1)
AIContentExtensions.cs (1)
11=> content is TextContent || content is UsageContent;
Microsoft.Extensions.AI.Integration.Tests (2)
ChatClientIntegrationTests.cs (2)
150UsageContent usage = chunks.SelectMany(c => c.Contents).OfType<UsageContent>().Single();
Microsoft.Extensions.AI.OpenAI (2)
MicrosoftExtensionsAIChatExtensions.cs (2)
134var usage = update.Contents.FirstOrDefault(c => c is UsageContent) is UsageContent usageContent ?
Microsoft.Extensions.AI.OpenAI.Tests (6)
OpenAIChatClientTests.cs (4)
258UsageContent usage = updates.SelectMany(u => u.Contents).OfType<UsageContent>().Single(); 1335UsageContent usage = updates.SelectMany(u => u.Contents).OfType<UsageContent>().Single();
OpenAIResponseClientTests.cs (2)
280UsageContent usage = updates.SelectMany(u => u.Contents).OfType<UsageContent>().Single();
Microsoft.Extensions.AI.Tests (3)
ChatCompletion\DistributedCachingChatClientTest.cs (3)
864else if (expectedItemItem is UsageContent expectedUsage) 866var actualUsage = (UsageContent)actualItemItem;