63 instantiations of DataContent
Microsoft.Extensions.AI.Abstractions (1)
Image\ImageGeneratorExtensions.cs (1)
195var dataContent = new DataContent(originalImageData, mediaType) { Name = fileName };
Microsoft.Extensions.AI.Abstractions.Tests (46)
ChatCompletion\ChatMessageTests.cs (4)
147new DataContent("data:text/image;base64,aGVsbG8="), 148new DataContent("data:text/plain;base64,aGVsbG8="), 260new DataContent(new Uri("data:text/plain;base64,aGVsbG8="), "mime-type/2") 264new DataContent(new BinaryData(new[] { 1, 2, 3 }, options: TestJsonSerializerContext.Default.Options), "mime-type/3")
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (1)
187updates.Add(new() { Contents = [new DataContent("data:image/png;base64,aGVsbG8=")] });
ChatCompletion\ChatResponseUpdateTests.cs (4)
92new DataContent("data:image/audio;base64,aGVsbG8="), 93new DataContent("data:image/image;base64,aGVsbG8="), 122new DataContent("data:image/png;base64,aGVsbG8="), 124new DataContent("data"u8.ToArray(), "text/plain"),
Contents\DataContentTests.cs (19)
46Assert.Throws(exception, () => new DataContent(path)); 58Assert.Throws<ArgumentException>("mediaType", () => new DataContent("data:image/png;base64,aGVsbG8=", type)); 68var content = new DataContent("data:image/png;base64,aGVsbG8=", mediaType); 72content = new DataContent("data:,", mediaType); 76content = new DataContent("data:text/plain,", mediaType); 80content = new DataContent(new Uri("data:text/plain,"), mediaType); 84content = new DataContent(new byte[] { 0, 1, 2 }, mediaType); 88content = new DataContent(content.Uri); 98content = new DataContent("data:image/png;base64,aGVsbG8="); 103content = new DataContent(new Uri("data:image/png;base64,aGVsbG8=")); 115new DataContent(uri: "data:application/octet-stream;base64,AQIDBA=="), 121new DataContent(new ReadOnlyMemory<byte>([0x01, 0x02, 0x03, 0x04]), "application/octet-stream"), 127new DataContent(new ReadOnlyMemory<byte>([0x01, 0x02, 0x03, 0x04]), "application/octet-stream") { Name = "test.bin" }, 216DataContent c = new("data:,", mediaType); 229var content = new DataContent("data:application/octet-stream;base64,AQIDBA==", mediaType); 242var content = new DataContent("data:application/octet-stream;base64,AQIDBA==", mediaType); 255var content = new DataContent(data, "application/octet-stream"); 265var content = new DataContent("data:text/plain,hello world"); 274DataContent content = new(new byte[] { 1, 2, 3 }, "application/octet-stream");
HostedCodeInterpreterToolTests.cs (1)
29new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")
Image\ImageGenerationResponseTests.cs (3)
74new DataContent(imageData, "image/jpeg") 100new DataContent((byte[])[1, 2, 3, 4], "image/jpeg") 138new DataContent((byte[])[255, 216, 255, 224], "image/jpeg"),
Image\ImageGeneratorExtensionsTests.cs (3)
64var dataContent = new DataContent(imageData, "image/png") { Name = "test.png" }; 92var dataContent = new DataContent(new byte[] { 1, 2, 3 }, "image/png"); 202var dataContent = new DataContent(imageData, "image/png");
Image\ImageGeneratorTests.cs (1)
140AIContent[] originalImages = [new DataContent((byte[])[1, 2, 3, 4], "image/png")];
SpeechToText\SpeechToTextClientExtensionsTests.cs (3)
28var content = new DataContent("data:audio/wav;base64,AQIDBA=="); 42var content = new DataContent("data:audio/wav;base64,AQIDBA=="); 73new DataContent("data:audio/wav;base64,AQIDBA=="),
SpeechToText\SpeechToTextClientTests.cs (2)
34new DataContent("data:audio/wav;base64,AQIDBA=="), 62new DataContent("data:audio/wav;base64,AQIDBA=="),
SpeechToText\SpeechToTextResponseTests.cs (1)
211new DataContent("data:image/png;base64,AQIDBA==", mediaType: "image/png"),
SpeechToText\SpeechToTextResponseUpdateExtensionsTests.cs (1)
117updates.Add(new() { Contents = [new DataContent("data:image/png;base64,aGVsbG8=")] });
SpeechToText\SpeechToTextResponseUpdateTests.cs (3)
63new DataContent("data:audio/wav;base64,AQIDBA==", "application/octet-stream"), 64new DataContent("data:image/wav;base64,AQIDBA==", "application/octet-stream"), 95new DataContent("data:audio/wav;base64,AQIDBA==", "application/octet-stream")
Microsoft.Extensions.AI.AzureAIInference.Tests (2)
AzureAIInferenceImageEmbeddingGeneratorTests.cs (2)
72DataContent dotnetPng = new(ImageDataUri.GetImageDataUri()); 132DataContent dotnetPng = new(ImageDataUri.GetImageDataUri());
Microsoft.Extensions.AI.Evaluation.Integration.Tests (2)
SafetyEvaluatorTests.cs (2)
376new DataContent(ImageDataUri.GetImageDataUri())], 410new DataContent(ImageDataUri.GetImageDataUri())],
Microsoft.Extensions.AI.Integration.Tests (3)
ChatClientIntegrationTests.cs (2)
187new DataContent(ImageDataUri.GetImageDataUri(), "image/png"), 205new DataContent(ImageDataUri.GetPdfDataUri(), "application/pdf") { Name = "sample.pdf" },
ImageGeneratorIntegrationTests.cs (1)
86AIContent[] originalImages = [new DataContent(imageData, "image/png") { Name = "dotnet.png" }];
Microsoft.Extensions.AI.OpenAI (6)
OpenAIChatClient.cs (4)
350responseUpdate.Contents.Add(new DataContent(audioUpdate.AudioBytesUpdate.ToMemory(), GetOutputAudioMimeType(options)) 468returnMessage.Contents.Add(new DataContent(audio.AudioBytes.ToMemory(), GetOutputAudioMimeType(chatCompletionOptions)) 689contentPart.ImageBytes is not null ? new DataContent(contentPart.ImageBytes.ToMemory(), contentPart.ImageBytesMediaType) : 702contentPart.FileBytes is not null ? new DataContent(contentPart.FileBytes.ToMemory(), contentPart.FileBytesMediaType) { Name = contentPart.Filename } :
OpenAIImageGenerator.cs (1)
163contents.Add(new DataContent(image.ImageBytes.ToMemory(), contentType));
OpenAIResponsesChatClient.cs (1)
645results.Add(new DataContent(part.InputFileBytes, part.InputFileBytesMediaType ?? "application/octet-stream")
Microsoft.Extensions.AI.OpenAI.Tests (2)
OpenAIChatClientTests.cs (1)
1572new DataContent(ImageDataUri.GetImageDataUri(), "image/png")
OpenAIConversionTests.cs (1)
401new DataContent(new byte[] { 1, 2, 3, 4 }, "application/octet-stream")
Microsoft.Extensions.AI.Tests (1)
Image\LoggingImageGeneratorTests.cs (1)
117AIContent[] originalImages = [new DataContent((byte[])[1, 2, 3, 4], "image/png")];
93 references to DataContent
Microsoft.Extensions.AI (1)
Image\LoggingImageGenerator.cs (1)
81if (_logger.IsEnabled(LogLevel.Trace) && response.Contents.All(c => c is not DataContent))
Microsoft.Extensions.AI.Abstractions (15)
Contents\AIContent.cs (1)
11[JsonDerivedType(typeof(DataContent), typeDiscriminator: "data")]
Contents\DataContent.cs (4)
54/// Initializes a new instance of the <see cref="DataContent"/> class. 71/// Initializes a new instance of the <see cref="DataContent"/> class. 114/// Initializes a new instance of the <see cref="DataContent"/> class. 140/// <summary>Gets the data URI for this <see cref="DataContent"/>.</summary>
Contents\HostedFileContent.cs (1)
14/// Unlike <see cref="DataContent"/> which contains the data for a file or blob, this class represents a file that is hosted
Contents\UriContent.cs (1)
16/// For data URIs, use <see cref="DataContent"/> instead.
HostedCodeInterpreterTool.cs (1)
23/// represented via <see cref="HostedFileContent"/>. Some also support binary data, represented via <see cref="DataContent"/>.
HostedFileSearchTool.cs (1)
24/// others may support binary data uploaded as part of the request in <see cref="DataContent"/>, while others may support
Image\ImageGeneratorExtensions.cs (2)
155DataContent originalImage, 195var dataContent = new DataContent(originalImageData, mediaType) { Name = fileName };
SpeechToText\SpeechToTextClientExtensions.cs (4)
34/// <summary>Generates text from speech providing a single audio speech <see cref="DataContent"/>.</summary> 42DataContent audioSpeechContent, 56/// <summary>Generates text from speech providing a single audio speech <see cref="DataContent"/>.</summary> 64DataContent audioSpeechContent,
Microsoft.Extensions.AI.Abstractions.Tests (38)
ChatCompletion\ChatMessageTests.cs (3)
304var dataContent = deserializedMessage.Contents[1] as DataContent; 312dataContent = deserializedMessage.Contents[2] as DataContent;
ChatCompletion\ChatResponseUpdateTests.cs (4)
145Assert.IsType<DataContent>(result.Contents[1]); 146Assert.Equal("data:image/png;base64,aGVsbG8=", ((DataContent)result.Contents[1]).Uri); 151Assert.IsType<DataContent>(result.Contents[3]); 152Assert.Equal("data"u8.ToArray(), ((DataContent)result.Contents[3]).Data.ToArray());
Contents\DataContentTests.cs (15)
68var content = new DataContent("data:image/png;base64,aGVsbG8=", mediaType); 96DataContent content; 136Assert.Throws<ArgumentNullException>("uri", () => JsonSerializer.Deserialize<DataContent>(json, TestJsonSerializerContext.Default.Options)!); 143var content = JsonSerializer.Deserialize<DataContent>("""{"uri":"data:application/octet-stream;base64,AQIDBA=="}""", TestJsonSerializerContext.Default.Options)!; 151content = JsonSerializer.Deserialize<DataContent>("""{"uri":"data:application/octet-stream;base64,AQIDBA=="}""", TestJsonSerializerContext.Default.Options)!; 157content = JsonSerializer.Deserialize<DataContent>(""" 184var content = JsonSerializer.Deserialize<DataContent>(serialized, TestJsonSerializerContext.Default.Options)!; 216DataContent c = new("data:,", mediaType); 229var content = new DataContent("data:application/octet-stream;base64,AQIDBA==", mediaType); 242var content = new DataContent("data:application/octet-stream;base64,AQIDBA==", mediaType); 255var content = new DataContent(data, "application/octet-stream"); 265var content = new DataContent("data:text/plain,hello world"); 274DataContent content = new(new byte[] { 1, 2, 3 }, "application/octet-stream");
HostedCodeInterpreterToolTests.cs (1)
36Assert.IsType<DataContent>(tool.Inputs[1]);
Image\ImageGenerationResponseTests.cs (3)
116DataContent dataContent = Assert.IsType<DataContent>(deserialized.Contents[1]); 151Assert.IsType<DataContent>(deserialized.Contents[1]);
Image\ImageGeneratorExtensionsTests.cs (7)
64var dataContent = new DataContent(imageData, "image/png") { Name = "test.png" }; 92var dataContent = new DataContent(new byte[] { 1, 2, 3 }, "image/png"); 120var dataContent = Assert.IsType<DataContent>(Assert.Single(request.OriginalImages)); 187var dataContent = Assert.IsType<DataContent>(Assert.Single(request.OriginalImages)); 202var dataContent = new DataContent(imageData, "image/png");
SpeechToText\SpeechToTextClientExtensionsTests.cs (4)
28var content = new DataContent("data:audio/wav;base64,AQIDBA=="); 33DataContent? nullContent = null; 42var content = new DataContent("data:audio/wav;base64,AQIDBA=="); 47DataContent? nullContent = null;
SpeechToText\SpeechToTextResponseTests.cs (1)
237Assert.Equal("image/png", Assert.IsType<DataContent>(update.Contents[1]).MediaType);
Microsoft.Extensions.AI.AzureAIInference (6)
AzureAIInferenceChatClient.cs (2)
527case DataContent dataContent when dataContent.HasTopLevelMediaType("image"): 535case DataContent dataContent when dataContent.HasTopLevelMediaType("audio"):
AzureAIInferenceExtensions.cs (1)
33public static IEmbeddingGenerator<DataContent, Embedding<float>> AsIEmbeddingGenerator(
AzureAIInferenceImageEmbeddingGenerator.cs (3)
22IEmbeddingGenerator<DataContent, Embedding<float>> 86IEnumerable<DataContent> values, EmbeddingGenerationOptions? options = null, CancellationToken cancellationToken = default) 120private ImageEmbeddingsOptions ToAzureAIOptions(IEnumerable<DataContent> inputs, EmbeddingGenerationOptions? options)
Microsoft.Extensions.AI.AzureAIInference.Tests (12)
AzureAIInferenceImageEmbeddingGeneratorTests.cs (12)
39IEmbeddingGenerator<DataContent, Embedding<float>> embeddingGenerator = client.AsIEmbeddingGenerator(model); 52Assert.Same(embeddingGenerator, embeddingGenerator.GetService<IEmbeddingGenerator<DataContent, Embedding<float>>>()); 55using IEmbeddingGenerator<DataContent, Embedding<float>> pipeline = embeddingGenerator 61Assert.NotNull(pipeline.GetService<DistributedCachingEmbeddingGenerator<DataContent, Embedding<float>>>()); 62Assert.NotNull(pipeline.GetService<CachingEmbeddingGenerator<DataContent, Embedding<float>>>()); 63Assert.NotNull(pipeline.GetService<OpenTelemetryEmbeddingGenerator<DataContent, Embedding<float>>>()); 66Assert.IsType<OpenTelemetryEmbeddingGenerator<DataContent, Embedding<float>>>(pipeline.GetService<IEmbeddingGenerator<DataContent, Embedding<float>>>()); 72DataContent dotnetPng = new(ImageDataUri.GetImageDataUri()); 106using IEmbeddingGenerator<DataContent, Embedding<float>> generator = new ImageEmbeddingsClient( 132DataContent dotnetPng = new(ImageDataUri.GetImageDataUri()); 167using IEmbeddingGenerator<DataContent, Embedding<float>> generator = new ImageEmbeddingsClient(
Microsoft.Extensions.AI.Evaluation (1)
EvaluationContext.cs (1)
66/// <see cref="TextContent"/> objects for text, <see cref="DataContent"/> or <see cref="UriContent"/> objects for
Microsoft.Extensions.AI.Evaluation.Safety (4)
AIContentExtensions.cs (1)
15(content is DataContent dataContent && IsSupportedImageFormat(dataContent.MediaType));
ContentSafetyServicePayloadUtilities.cs (3)
344else if (content is DataContent dataContent && dataContent.HasTopLevelMediaType("image")) 519$"The current evaluation being performed by {evaluatorName} only supports content of type '{nameof(TextContent)}', '{nameof(UriContent)}' and '{nameof(DataContent)}'. " + 520$"For '{nameof(UriContent)}' and '{nameof(DataContent)}', only content with media type 'image/png', 'image/jpeg' and 'image/gif' are supported. " +
Microsoft.Extensions.AI.Integration.Tests (9)
ImageGeneratorIntegrationTests.cs (9)
49Assert.IsType<DataContent>(content); 50var dataContent = (DataContent)content; 73Assert.IsType<DataContent>(content); 74var dataContent = (DataContent)content; 100Assert.IsType<DataContent>(content); 101var dataContent = (DataContent)content;
Microsoft.Extensions.AI.OpenAI (7)
MicrosoftExtensionsAIChatExtensions.cs (1)
73outputAudio: lastMessage?.Contents.OfType<DataContent>().Where(dc => dc.HasTopLevelMediaType("audio")).Select(a => OpenAIChatModelFactory.ChatOutputAudio(new(a.Data))).FirstOrDefault(),
OpenAIChatClient.cs (3)
266case DataContent dataContent when dataContent.HasTopLevelMediaType("image"): 269case DataContent dataContent when dataContent.HasTopLevelMediaType("audio"): 282case DataContent dataContent when dataContent.MediaType.StartsWith("application/pdf", StringComparison.OrdinalIgnoreCase):
OpenAIImageGenerator.cs (1)
80if (originalImage is DataContent dataContent)
OpenAIResponsesChatClient.cs (2)
710case DataContent dataContent when dataContent.HasTopLevelMediaType("image"): 714case DataContent dataContent when dataContent.MediaType.StartsWith("application/pdf", StringComparison.OrdinalIgnoreCase):