45 instantiations of DataContent
Microsoft.Extensions.AI.Abstractions.Tests (36)
ChatCompletion\ChatMessageTests.cs (4)
144new DataContent("data:text/image;base64,aGVsbG8="), 145new DataContent("data:text/plain;base64,aGVsbG8="), 243new DataContent(new Uri("data:text/plain;base64,aGVsbG8="), "mime-type/2") 247new DataContent(new BinaryData(new[] { 1, 2, 3 }, options: TestJsonSerializerContext.Default.Options), "mime-type/3")
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (1)
128updates.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 (17)
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=")); 114JsonSerializer.Serialize(new DataContent( 119JsonSerializer.Serialize(new DataContent( 209DataContent c = new("data:,", mediaType); 222var content = new DataContent("data:application/octet-stream;base64,AQIDBA==", mediaType); 235var content = new DataContent("data:application/octet-stream;base64,AQIDBA==", mediaType); 248var content = new DataContent(data, "application/octet-stream"); 258var content = new DataContent("data:text/plain,hello world");
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)
197new DataContent("data:image/png;base64,AQIDBA==", mediaType: "image/png"),
SpeechToText\SpeechToTextResponseUpdateExtensionsTests.cs (1)
115updates.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)
313new DataContent(ImageDataUri.GetImageDataUri())], 347new DataContent(ImageDataUri.GetImageDataUri())],
Microsoft.Extensions.AI.Integration.Tests (2)
ChatClientIntegrationTests.cs (2)
180new DataContent(ImageDataUri.GetImageDataUri(), "image/png"), 198new DataContent(ImageDataUri.GetPdfDataUri(), "application/pdf"),
Microsoft.Extensions.AI.OpenAI (2)
OpenAIChatClient.cs (2)
438var dc = new DataContent(audio.AudioBytes.ToMemory(), mimeType); 641contentPart.ImageBytes is not null ? new DataContent(contentPart.ImageBytes.ToMemory(), contentPart.ImageBytesMediaType) :
Microsoft.Extensions.AI.OpenAI.Tests (1)
OpenAIChatClientTests.cs (1)
1531new DataContent(ImageDataUri.GetImageDataUri(), "image/png")
66 references to DataContent
Microsoft.Extensions.AI.Abstractions (10)
Contents\AIContent.cs (1)
10[JsonDerivedType(typeof(DataContent), typeDiscriminator: "data")]
Contents\DataContent.cs (4)
53/// Initializes a new instance of the <see cref="DataContent"/> class. 70/// Initializes a new instance of the <see cref="DataContent"/> class. 113/// Initializes a new instance of the <see cref="DataContent"/> class. 139/// <summary>Gets the data URI for this <see cref="DataContent"/>.</summary>
Contents\UriContent.cs (1)
16/// For data URIs, use <see cref="DataContent"/> instead.
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 (26)
ChatCompletion\ChatMessageTests.cs (3)
287var dataContent = deserializedMessage.Contents[1] as DataContent; 295dataContent = 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 (14)
68var content = new DataContent("data:image/png;base64,aGVsbG8=", mediaType); 96DataContent content; 129Assert.Throws<ArgumentNullException>("uri", () => JsonSerializer.Deserialize<DataContent>(json, TestJsonSerializerContext.Default.Options)!); 136var content = JsonSerializer.Deserialize<DataContent>("""{"uri":"data:application/octet-stream;base64,AQIDBA=="}""", TestJsonSerializerContext.Default.Options)!; 144content = JsonSerializer.Deserialize<DataContent>("""{"uri":"data:application/octet-stream;base64,AQIDBA=="}""", TestJsonSerializerContext.Default.Options)!; 150content = JsonSerializer.Deserialize<DataContent>(""" 177var content = JsonSerializer.Deserialize<DataContent>(serialized, TestJsonSerializerContext.Default.Options)!; 209DataContent c = new("data:,", mediaType); 222var content = new DataContent("data:application/octet-stream;base64,AQIDBA==", mediaType); 235var content = new DataContent("data:application/octet-stream;base64,AQIDBA==", mediaType); 248var content = new DataContent(data, "application/octet-stream"); 258var content = new DataContent("data:text/plain,hello world");
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)
222Assert.Equal("image/png", Assert.IsType<DataContent>(update.Contents[1]).MediaType);
Microsoft.Extensions.AI.AzureAIInference (6)
AzureAIInferenceChatClient.cs (2)
521case DataContent dataContent when dataContent.HasTopLevelMediaType("image"): 529case 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.Ollama (1)
OllamaChatClient.cs (1)
407if (item is DataContent dataContent && dataContent.HasTopLevelMediaType("image"))
Microsoft.Extensions.AI.OpenAI (6)
OpenAIChatClient.cs (4)
246case DataContent dataContent when dataContent.HasTopLevelMediaType("image"): 249case DataContent dataContent when dataContent.HasTopLevelMediaType("audio"): 262case DataContent dataContent when dataContent.MediaType.StartsWith("application/pdf", StringComparison.OrdinalIgnoreCase): 438var dc = new DataContent(audio.AudioBytes.ToMemory(), mimeType);
OpenAIResponseChatClient.cs (2)
561case DataContent dataContent when dataContent.HasTopLevelMediaType("image"): 565case DataContent dataContent when dataContent.MediaType.StartsWith("application/pdf", StringComparison.OrdinalIgnoreCase):