38 instantiations of DataContent
Microsoft.Extensions.AI.Abstractions.Tests (30)
ChatCompletion\ChatCompletionTests.cs (1)
242new DataContent("http://localhost/image.png", mediaType: "image/png"),
ChatCompletion\ChatMessageTests.cs (6)
127new DataContent("http://localhost/audio"), 128new DataContent("http://localhost/image"), 166new DataContent("http://localhost/audio"), 167new DataContent("http://localhost/image"), 268new DataContent(new Uri("https://fake-random-test-host:123"), "mime-type/2") 272new DataContent(new BinaryData(new[] { 1, 2, 3 }, options: TestJsonSerializerContext.Default.Options), "mime-type/3")
ChatCompletion\StreamingChatCompletionUpdateExtensionsTests.cs (1)
177updates.Add(new() { Contents = [new DataContent("https://uri", mediaType: "image/png")] });
ChatCompletion\StreamingChatCompletionUpdateTests.cs (5)
94new DataContent("http://localhost/audio"), 95new DataContent("http://localhost/image"), 139new DataContent("http://localhost/audio"), 140new DataContent("http://localhost/image"), 172new DataContent("http://localhost/image"),
Contents\DataContentTests.cs (17)
39Assert.Throws(exception, () => new DataContent(path)); 51Assert.Throws<ArgumentException>("mediaType", () => new DataContent("http://localhost/test", type)); 61var content = new DataContent("http://localhost/test", mediaType); 64content = new DataContent("data:,", mediaType); 67content = new DataContent("data:text/plain,", mediaType); 70content = new DataContent(new Uri("data:text/plain,"), mediaType); 73content = new DataContent(new byte[] { 0, 1, 2 }, mediaType); 76content = new DataContent(content.Uri); 87content = new DataContent(url); 93content = new DataContent("data:,something"); 98content = new DataContent("data:,Hello+%3C%3E"); 109JsonSerializer.Serialize(new DataContent("data:,"), TestJsonSerializerContext.Default.Options)); 113JsonSerializer.Serialize(new DataContent(new Uri("http://localhost/")), TestJsonSerializerContext.Default.Options)); 117JsonSerializer.Serialize(new DataContent( 220DataContent c = new("data:,", mediaType); 235var content = new DataContent("http://localhost/image.png", mediaType); 248var content = new DataContent("http://localhost/image.png", mediaType);
Microsoft.Extensions.AI.AzureAIInference.Tests (1)
AzureAIInferenceChatClientTests.cs (1)
590new DataContent("http://dot.net/someimage.png", mediaType: "image/png"),
Microsoft.Extensions.AI.Integration.Tests (1)
ChatClientIntegrationTests.cs (1)
149new DataContent(GetImageDataUri(), "image/png"),
Microsoft.Extensions.AI.OpenAI (5)
OpenAIModelMapper.ChatCompletion.cs (3)
109var dc = new DataContent(audio.AudioBytes.ToMemory(), mimeType) 580contentPart.ImageUri is not null ? new DataContent(contentPart.ImageUri, contentPart.ImageBytesMediaType) : 581contentPart.ImageBytes is not null ? new DataContent(contentPart.ImageBytes.ToMemory(), contentPart.ImageBytesMediaType) :
OpenAIModelMapper.ChatMessage.cs (2)
208contents.Add(new DataContent(bytes.ToArray(), openAiContentPart.ImageBytesMediaType)); 212contents.Add(new DataContent(openAiContentPart.ImageUri?.ToString() ?? string.Empty));
Microsoft.Extensions.AI.Tests (1)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (1)
151var expectedCompletion = new ChatCompletion(new ChatMessage(ChatRole.Assistant, [new DataContent("https://example.com")]));
32 references to DataContent
Microsoft.Extensions.AI.Abstractions (5)
Contents\AIContent.cs (1)
10[JsonDerivedType(typeof(DataContent), typeDiscriminator: "data")]
Contents\DataContent.cs (4)
45/// Initializes a new instance of the <see cref="DataContent"/> class. 55/// Initializes a new instance of the <see cref="DataContent"/> class. 96/// Initializes a new instance of the <see cref="DataContent"/> class. 125/// <summary>Gets the URI for this <see cref="DataContent"/>.</summary>
Microsoft.Extensions.AI.Abstractions.Tests (20)
ChatCompletion\ChatCompletionTests.cs (1)
278Assert.Equal("image/png", Assert.IsType<DataContent>(update0.Contents[1]).MediaType);
ChatCompletion\ChatMessageTests.cs (3)
311var dataContent = deserializedMessage.Contents[1] as DataContent; 319dataContent = deserializedMessage.Contents[2] as DataContent;
ChatCompletion\StreamingChatCompletionUpdateTests.cs (4)
195Assert.IsType<DataContent>(result.Contents[1]); 196Assert.Equal("http://localhost/image", ((DataContent)result.Contents[1]).Uri); 201Assert.IsType<DataContent>(result.Contents[3]); 202Assert.Equal("data"u8.ToArray(), ((DataContent)result.Contents[3]).Data?.ToArray());
Contents\DataContentTests.cs (12)
61var content = new DataContent("http://localhost/test", mediaType); 83DataContent content; 132Assert.Throws<ArgumentNullException>("uri", () => JsonSerializer.Deserialize<DataContent>(json, TestJsonSerializerContext.Default.Options)!); 139var content = JsonSerializer.Deserialize<DataContent>("""{"mediaType":"application/octet-stream","uri":"data:;base64,AQIDBA=="}""", TestJsonSerializerContext.Default.Options)!; 147content = JsonSerializer.Deserialize<DataContent>("""{"mediaType":"application/octet-stream","uri":"http://localhost/"}""", TestJsonSerializerContext.Default.Options)!; 154content = JsonSerializer.Deserialize<DataContent>(""" 188var content = JsonSerializer.Deserialize<DataContent>(serialized, TestJsonSerializerContext.Default.Options)!; 220DataContent c = new("data:,", mediaType); 235var content = new DataContent("http://localhost/image.png", mediaType); 248var content = new DataContent("http://localhost/image.png", mediaType);
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
470case DataContent dataContent when dataContent.MediaTypeStartsWith("image/"):
Microsoft.Extensions.AI.Ollama (1)
OllamaChatClient.cs (1)
392if (item is DataContent dataContent && dataContent.MediaTypeStartsWith("image/") && dataContent.Data.HasValue)
Microsoft.Extensions.AI.OpenAI (5)
OpenAIAssistantClient.cs (1)
289case DataContent dc when dc.MediaTypeStartsWith("image/"):
OpenAIModelMapper.ChatCompletion.cs (2)
109var dc = new DataContent(audio.AudioBytes.ToMemory(), mimeType) 578DataContent? imageContent;
OpenAIModelMapper.ChatMessage.cs (2)
232case DataContent dataContent when dataContent.MediaTypeStartsWith("image/"): 244case DataContent dataContent when dataContent.MediaTypeStartsWith("audio/") && dataContent.Data.HasValue: