22 instantiations of UsageContent
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatResponse.cs (1)
136extra.Contents.Add(new UsageContent(usage));
SpeechToText\SpeechToTextResponse.cs (1)
80contents = [.. contents, new UsageContent(usage)];
Microsoft.Extensions.AI.Abstractions.Tests (11)
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (3)
36new() { Contents = [new UsageContent(new() { InputTokenCount = 1, OutputTokenCount = 2 })] }, 37new() { Contents = [new UsageContent(new() { InputTokenCount = 4, OutputTokenCount = 5 })] }, 722new() { Contents = [new UsageContent(new() { TotalTokenCount = 42 })] },
Contents\AIContentTests.cs (1)
72new UsageContent(new UsageDetails { InputTokenCount = 10, OutputTokenCount = 20, TotalTokenCount = 30 }),
Contents\UsageContentTests.cs (5)
15Assert.Throws<ArgumentNullException>("details", () => new UsageContent(null!)); 21UsageContent c = new(); 38UsageContent c = new(details); 52UsageContent c = new(); 65var content = new UsageContent(new UsageDetails
SpeechToText\SpeechToTextResponseUpdateExtensionsTests.cs (2)
140new() { Contents = [new UsageContent(new() { TotalTokenCount = 42 })] }, 142new() { Contents = [new UsageContent(new() { InputTokenCount = 12, TotalTokenCount = 24 })] },
Microsoft.Extensions.AI.OpenAI (3)
OpenAIAssistantsChatClient.cs (1)
178ruUpdate.Contents.Add(new UsageContent(new()
OpenAIChatClient.cs (1)
403responseUpdate.Contents.Add(new UsageContent(FromOpenAIUsage(tokenUsage))
OpenAIResponsesChatClient.cs (1)
358var update = CreateUpdate(ToUsageDetails(completedUpdate.Response) is { } usage ? new UsageContent(usage) : null);
Microsoft.Extensions.AI.OpenAI.Tests (2)
OpenAIConversionTests.cs (2)
1170new UsageContent(new UsageDetails 1271new UsageContent(new UsageDetails { TotalTokenCount = 50 })
Microsoft.Extensions.AI.Tests (4)
ChatCompletion\DistributedCachingChatClientTest.cs (2)
256new UsageContent(new() { InputTokenCount = 123, OutputTokenCount = 456, TotalTokenCount = 99999 }), 270Contents = [new UsageContent(new() { InputTokenCount = 123, OutputTokenCount = 456, TotalTokenCount = 99999 })],
ChatCompletion\OpenTelemetryChatClientTests.cs (1)
82Contents = [new UsageContent(new()
SpeechToText\OpenTelemetrySpeechToTextClientTests.cs (1)
74new UsageContent(new()
37 references to UsageContent
Microsoft.Extensions.AI (1)
ChatCompletion\FunctionInvokingChatClient.cs (1)
510if (contents[i] is UsageContent uc)
Microsoft.Extensions.AI.Abstractions (5)
ChatCompletion\ChatResponseExtensions.cs (1)
543case UsageContent usage:
Contents\AIContent.cs (1)
20[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)
99case UsageContent usage:
Microsoft.Extensions.AI.Abstractions.Tests (8)
Contents\UsageContentTests.cs (6)
21UsageContent c = new(); 38UsageContent c = new(details); 52UsageContent c = new(); 65var content = new UsageContent(new UsageDetails 75var deserializedContent = JsonSerializer.Deserialize<UsageContent>(json, AIJsonUtilities.DefaultOptions);
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)
159UsageContent usage = chunks.SelectMany(c => c.Contents).OfType<UsageContent>().Single();
Microsoft.Extensions.AI.OpenAI (2)
MicrosoftExtensionsAIChatExtensions.cs (2)
143var usage = update.Contents.FirstOrDefault(c => c is UsageContent) is UsageContent usageContent ?
Microsoft.Extensions.AI.OpenAI.Tests (15)
OpenAIChatClientTests.cs (4)
257UsageContent usage = updates.SelectMany(u => u.Contents).OfType<UsageContent>().Single(); 1350UsageContent usage = updates.SelectMany(u => u.Contents).OfType<UsageContent>().Single();
OpenAIResponseClientTests.cs (11)
347UsageContent usage = updates.SelectMany(u => u.Contents).OfType<UsageContent>().Single(); 474UsageContent usage = updates.SelectMany(u => u.Contents).OfType<UsageContent>().Single(); 589UsageContent usage = updates.SelectMany(u => u.Contents).OfType<UsageContent>().Single(); 819UsageContent usage = Assert.IsType<UsageContent>(Assert.Single(updates[4].Contents)); 5396u.Contents != null && u.Contents.Any(c => c is UsageContent)); 5398var usage = completionUpdate.Contents.OfType<UsageContent>().First();
Microsoft.Extensions.AI.Tests (3)
ChatCompletion\DistributedCachingChatClientTest.cs (3)
862else if (expectedItemItem is UsageContent expectedUsage) 864var actualUsage = (UsageContent)actualItemItem;