47 instantiations of Embedding
Aspire.Azure.AI.OpenAI.Tests (1)
AspireAzureOpenAIClientBuilderEmbeddingGeneratorExtensionsTests.cs (1)
224return Task.FromResult(new GeneratedEmbeddings<Embedding<float>>(inputs.Select(i => new Embedding<float>(floats))));
Aspire.OpenAI.Tests (1)
AspireOpenAIClientBuilderEmbeddingGeneratorExtensionsTests.cs (1)
271return Task.FromResult(new GeneratedEmbeddings<Embedding<float>>(inputs.Select(i => new Embedding<float>(floats))));
Microsoft.Extensions.AI.Abstractions.Tests (31)
Embeddings\DelegatingEmbeddingGeneratorTests.cs (1)
28var expectedEmbedding = new GeneratedEmbeddings<Embedding<float>>([new(new float[] { 1.0f, 2.0f, 3.0f })]);
Embeddings\EmbeddingGeneratorExtensionsTests.cs (2)
89Embedding<float> result = new(new float[] { 1f, 2f, 3f }); 110.Select(i => new Embedding<float>(Enumerable.Range(i, 4).Select(i => (float)i).ToArray()))
Embeddings\EmbeddingTests.cs (5)
22Embedding<float> e = new(floats) 42Embedding<byte> e = new(bytes); 55Embedding<sbyte> e = new(bytes); 83Embedding<float> e = new(floats); 96Embedding<double> e = new(floats);
Embeddings\GeneratedEmbeddingsTests.cs (23)
42Assert.False(instance.Contains(new Embedding<float>(new float[] { 1, 2, 3 }))); 45Assert.Equal(-1, instance.IndexOf(new Embedding<float>(new float[] { 1, 2, 3 }))); 60new(new float[] { 1, 2, 3 }), 61new(new float[] { 4, 5, 6 }), 86var e = new Embedding<float>(new float[] { 7, 8, 9 }); 117var e = new Embedding<float>(new float[] { 1, 2, 3 }); 129var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 130var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 144var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 145var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 160var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 161var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 183var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 184var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 202var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 203var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 208var e3 = new Embedding<float>(new float[] { 7, 8, 9 }); 220var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 221var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 226var e3 = new Embedding<float>(new float[] { 7, 8, 9 }); 238var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 239var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 251var expectedGeneratedEmbeddings = new GeneratedEmbeddings<Embedding<float>>([new Embedding<float>(new float[] { 1, 2, 3 })]);
Microsoft.Extensions.AI.AzureAIInference (2)
AzureAIInferenceEmbeddingGenerator.cs (1)
99new Embedding<float>(ParseBase64Floats(e.Embedding))
AzureAIInferenceImageEmbeddingGenerator.cs (1)
95new Embedding<float>(AzureAIInferenceEmbeddingGenerator.ParseBase64Floats(e.Embedding))
Microsoft.Extensions.AI.Integration.Tests (1)
QuantizationEmbeddingGenerator.cs (1)
84return new(result)
Microsoft.Extensions.AI.OpenAI (1)
OpenAIEmbeddingGenerator.cs (1)
72new Embedding<float>(e.ToFloats())
Microsoft.Extensions.AI.Tests (10)
Embeddings\DistributedCachingEmbeddingGeneratorTest.cs (7)
17private readonly Embedding<float> _expectedEmbedding = new(new float[] { 1.0f, 2.0f, 3.0f }) 71new Embedding<float>(new[] { 1.0f, 2.0f, 3.0f }) 235return [new(((string)options!.AdditionalProperties!["someKey"]!).Select(c => (float)c).ToArray())]; 255AssertEmbeddingsEqual(new("value 1".Select(c => (float)c).ToArray()), result1); 256AssertEmbeddingsEqual(new("value 1".Select(c => (float)c).ToArray()), result2); 270AssertEmbeddingsEqual(new("value 1".Select(c => (float)c).ToArray()), result3); 271AssertEmbeddingsEqual(new("value 2".Select(c => (float)c).ToArray()), result4);
Embeddings\LoggingEmbeddingGeneratorTests.cs (1)
58return Task.FromResult(new GeneratedEmbeddings<Embedding<float>>([new Embedding<float>(new float[] { 1f, 2f, 3f })]));
Embeddings\OpenTelemetryEmbeddingGeneratorTests.cs (1)
39return new GeneratedEmbeddings<Embedding<float>>([new Embedding<float>(new float[] { 1, 2, 3 })])
Embeddings\UseDelegateEmbeddingGeneratorTests.cs (1)
53e.Add(new Embedding<float>(default));
279 references to Embedding
Aspire.Azure.AI.OpenAI.Tests (18)
AspireAzureOpenAIClientBuilderEmbeddingGeneratorExtensionsTests.cs (18)
36host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 37host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 66host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 67host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 94host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 95host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 125host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 126host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 156host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 157host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 187host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 188host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 190Assert.Equal(disableOpenTelemetry, generator.GetService<OpenTelemetryEmbeddingGenerator<string, Embedding<float>>>() is null); 214host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 215host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 221private Task<GeneratedEmbeddings<Embedding<float>>> TestMiddleware(IEnumerable<string> inputs, EmbeddingGenerationOptions? options, IEmbeddingGenerator<string, Embedding<float>> nextAsync, CancellationToken cancellationToken) 224return Task.FromResult(new GeneratedEmbeddings<Embedding<float>>(inputs.Select(i => new Embedding<float>(floats))));
Aspire.OpenAI (5)
AspireOpenAIClientBuilderEmbeddingGeneratorExtensions.cs (5)
23public static EmbeddingGeneratorBuilder<string, Embedding<float>> AddEmbeddingGenerator( 40public static EmbeddingGeneratorBuilder<string, Embedding<float>> AddKeyedEmbeddingGenerator( 58private static IEmbeddingGenerator<string, Embedding<float>> CreateInnerEmbeddingGenerator( 76return new OpenTelemetryEmbeddingGenerator<string, Embedding<float>>( 78loggerFactory?.CreateLogger(typeof(OpenTelemetryEmbeddingGenerator<string, Embedding<float>>)));
Aspire.OpenAI.Tests (20)
AspireOpenAIClientBuilderEmbeddingGeneratorExtensionsTests.cs (20)
39host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 40host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 69host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 70host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 97host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 98host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 128host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 129host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 159host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 160host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 190host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 191host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 193Assert.Equal(disableOpenTelemetry, generator.GetService<OpenTelemetryEmbeddingGenerator<string, Embedding<float>>>() is null); 217host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 218host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 250host.Services.GetRequiredKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("openai_embeddinggenerator") : 251host.Services.GetRequiredService<IEmbeddingGenerator<string, Embedding<float>>>(); 268private Task<GeneratedEmbeddings<Embedding<float>>> TestMiddleware(IEnumerable<string> inputs, EmbeddingGenerationOptions? options, IEmbeddingGenerator<string, Embedding<float>> nextAsync, CancellationToken cancellationToken) 271return Task.FromResult(new GeneratedEmbeddings<Embedding<float>>(inputs.Select(i => new Embedding<float>(floats))));
Microsoft.Extensions.AI (1)
Embeddings\CachingEmbeddingGenerator.cs (1)
114/// <summary>Returns a previously cached <see cref="Embedding{TEmbedding}"/>, if available.</summary>
Microsoft.Extensions.AI.Abstractions (13)
Embeddings\Embedding.cs (4)
14[JsonDerivedType(typeof(Embedding<byte>), typeDiscriminator: "uint8")] 15[JsonDerivedType(typeof(Embedding<sbyte>), typeDiscriminator: "int8")] 19[JsonDerivedType(typeof(Embedding<float>), typeDiscriminator: "float32")] 20[JsonDerivedType(typeof(Embedding<double>), typeDiscriminator: "float64")]
Embeddings\Embedding{T}.cs (1)
14/// <summary>Initializes a new instance of the <see cref="Embedding{T}"/> class with the embedding vector.</summary>
Embeddings\EmbeddingGeneratorExtensions.cs (4)
103/// resulting <see cref="Embedding{T}"/>'s <see cref="Embedding{T}.Vector"/> property. 106this IEmbeddingGenerator<TInput, Embedding<TEmbeddingElement>> generator, 111var embedding = await GenerateAsync(generator, value, options, cancellationToken).ConfigureAwait(false);
Utilities\AIJsonUtilities.Defaults.cs (4)
108[JsonSerializable(typeof(Embedding<byte>))] 109[JsonSerializable(typeof(Embedding<int>))] 113[JsonSerializable(typeof(Embedding<float>))] 114[JsonSerializable(typeof(Embedding<double>))]
Microsoft.Extensions.AI.Abstractions.Tests (64)
Embeddings\DelegatingEmbeddingGeneratorTests.cs (6)
27var expectedResult = new TaskCompletionSource<GeneratedEmbeddings<Embedding<float>>>(); 28var expectedEmbedding = new GeneratedEmbeddings<Embedding<float>>([new(new float[] { 1.0f, 2.0f, 3.0f })]); 67var service = delegating.GetService<DelegatingEmbeddingGenerator<string, Embedding<float>>>(); 87var service = delegating.GetService<IEmbeddingGenerator<string, Embedding<float>>>(expectedKey); 115private sealed class NoOpDelegatingEmbeddingGenerator(IEmbeddingGenerator<string, Embedding<float>> innerGenerator) : 116DelegatingEmbeddingGenerator<string, Embedding<float>>(innerGenerator);
Embeddings\EmbeddingGeneratorExtensionsTests.cs (6)
31using IEmbeddingGenerator<string, Embedding<float>> generator = new TestEmbeddingGenerator 40if (serviceType == typeof(IEmbeddingGenerator<string, Embedding<float>>)) 89Embedding<float> result = new(new float[] { 1f, 2f, 3f }); 94Task.FromResult<GeneratedEmbeddings<Embedding<float>>>([result]) 108Embedding<float>[] embeddings = Enumerable 116Task.FromResult<GeneratedEmbeddings<Embedding<float>>>(new(embeddings))
Embeddings\EmbeddingTests.cs (13)
22Embedding<float> e = new(floats) 42Embedding<byte> e = new(bytes); 47Embedding<byte> result = Assert.IsType<Embedding<byte>>(JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.Embedding)); 55Embedding<sbyte> e = new(bytes); 60Embedding<sbyte> result = Assert.IsType<Embedding<sbyte>>(JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.Embedding)); 83Embedding<float> e = new(floats); 88Embedding<float> result = Assert.IsType<Embedding<float>>(JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.Embedding)); 96Embedding<double> e = new(floats); 101Embedding<double> result = Assert.IsType<Embedding<double>>(JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.Embedding));
Embeddings\GeneratedEmbeddingsTests.cs (38)
20Assert.Throws<ArgumentNullException>("embeddings", () => new GeneratedEmbeddings<Embedding<float>>(null!)); 21Assert.Throws<ArgumentOutOfRangeException>("capacity", () => new GeneratedEmbeddings<Embedding<float>>(-1)); 27GeneratedEmbeddings<Embedding<float>>[] instances = 39Assert.False(((ICollection<Embedding<float>>)instance).IsReadOnly); 48instance.CopyTo(Array.Empty<Embedding<float>>(), 0); 58List<Embedding<float>> embeddings = 64var generatedEmbeddings = new GeneratedEmbeddings<Embedding<float>>(embeddings); 86var e = new Embedding<float>(new float[] { 7, 8, 9 }); 95GeneratedEmbeddings<Embedding<float>> embeddings = []; 116GeneratedEmbeddings<Embedding<float>> embeddings = []; 117var e = new Embedding<float>(new float[] { 1, 2, 3 }); 127GeneratedEmbeddings<Embedding<float>> embeddings = []; 129var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 130var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 142GeneratedEmbeddings<Embedding<float>> embeddings = []; 144var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 145var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 158GeneratedEmbeddings<Embedding<float>> embeddings = []; 160var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 161var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 181GeneratedEmbeddings<Embedding<float>> embeddings = []; 183var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 184var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 200GeneratedEmbeddings<Embedding<float>> embeddings = []; 202var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 203var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 208var e3 = new Embedding<float>(new float[] { 7, 8, 9 }); 218GeneratedEmbeddings<Embedding<float>> embeddings = []; 220var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 221var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 226var e3 = new Embedding<float>(new float[] { 7, 8, 9 }); 236GeneratedEmbeddings<Embedding<float>> embeddings = []; 238var e1 = new Embedding<float>(new float[] { 1, 2, 3 }); 239var e2 = new Embedding<float>(new float[] { 4, 5, 6 }); 251var expectedGeneratedEmbeddings = new GeneratedEmbeddings<Embedding<float>>([new Embedding<float>(new float[] { 1, 2, 3 })]); 253using IEmbeddingGenerator<object, Embedding<float>> acceptsObject = new TestEmbeddingGenerator<object, Embedding<float>> 258IEmbeddingGenerator<string, Embedding<float>> acceptsString = acceptsObject;
TestEmbeddingGenerator.cs (1)
41public sealed class TestEmbeddingGenerator : TestEmbeddingGenerator<string, Embedding<float>>;
Microsoft.Extensions.AI.AzureAIInference (8)
AzureAIInferenceEmbeddingGenerator.cs (3)
26IEmbeddingGenerator<string, Embedding<float>> 89public async Task<GeneratedEmbeddings<Embedding<float>>> GenerateAsync( 98GeneratedEmbeddings<Embedding<float>> result = new(embeddings.Data.Select(e =>
AzureAIInferenceExtensions.cs (2)
24public static IEmbeddingGenerator<string, Embedding<float>> AsIEmbeddingGenerator( 33public static IEmbeddingGenerator<DataContent, Embedding<float>> AsIEmbeddingGenerator(
AzureAIInferenceImageEmbeddingGenerator.cs (3)
22IEmbeddingGenerator<DataContent, Embedding<float>> 85public async Task<GeneratedEmbeddings<Embedding<float>>> GenerateAsync( 94GeneratedEmbeddings<Embedding<float>> result = new(embeddings.Data.Select(e =>
Microsoft.Extensions.AI.AzureAIInference.Tests (25)
AzureAIInferenceEmbeddingGeneratorIntegrationTests.cs (1)
8protected override IEmbeddingGenerator<string, Embedding<float>>? CreateEmbeddingGenerator() =>
AzureAIInferenceEmbeddingGeneratorTests.cs (12)
39IEmbeddingGenerator<string, Embedding<float>> embeddingGenerator = client.AsIEmbeddingGenerator(model); 52Assert.Same(embeddingGenerator, embeddingGenerator.GetService<IEmbeddingGenerator<string, Embedding<float>>>()); 55using IEmbeddingGenerator<string, Embedding<float>> pipeline = embeddingGenerator 61Assert.NotNull(pipeline.GetService<DistributedCachingEmbeddingGenerator<string, Embedding<float>>>()); 62Assert.NotNull(pipeline.GetService<CachingEmbeddingGenerator<string, Embedding<float>>>()); 63Assert.NotNull(pipeline.GetService<OpenTelemetryEmbeddingGenerator<string, Embedding<float>>>()); 66Assert.IsType<OpenTelemetryEmbeddingGenerator<string, Embedding<float>>>(pipeline.GetService<IEmbeddingGenerator<string, Embedding<float>>>()); 101using IEmbeddingGenerator<string, Embedding<float>> generator = new EmbeddingsClient(new("http://somewhere"), new AzureKeyCredential("key"), new() 117foreach (Embedding<float> e in response) 159using IEmbeddingGenerator<string, Embedding<float>> generator = new EmbeddingsClient(new("http://somewhere"), new AzureKeyCredential("key"), new() 180foreach (Embedding<float> e in response)
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>>>()); 106using IEmbeddingGenerator<DataContent, Embedding<float>> generator = new ImageEmbeddingsClient( 120foreach (Embedding<float> e in response) 167using IEmbeddingGenerator<DataContent, Embedding<float>> generator = new ImageEmbeddingsClient( 187foreach (Embedding<float> e in response)
Microsoft.Extensions.AI.Integration.Tests (20)
CallCountingEmbeddingGenerator.cs (5)
13internal sealed class CallCountingEmbeddingGenerator(IEmbeddingGenerator<string, Embedding<float>> innerGenerator) 14: DelegatingEmbeddingGenerator<string, Embedding<float>>(innerGenerator) 20public override Task<GeneratedEmbeddings<Embedding<float>>> GenerateAsync( 30public static EmbeddingGeneratorBuilder<string, Embedding<float>> UseCallCounting( 31this EmbeddingGeneratorBuilder<string, Embedding<float>> builder) =>
EmbeddingGeneratorIntegrationTests.cs (7)
30private readonly IEmbeddingGenerator<string, Embedding<float>>? _embeddingGenerator; 43protected abstract IEmbeddingGenerator<string, Embedding<float>>? CreateEmbeddingGenerator(); 94var embedding1 = await generator.GenerateAsync(input); 95var embedding2 = await generator.GenerateAsync(input); 96var embedding3 = await generator.GenerateAsync(input + "... and Green"); 97var embedding4 = await generator.GenerateAsync(input); 186using IEmbeddingGenerator<string, Embedding<Half>> generator =
QuantizationEmbeddingGenerator.cs (8)
19, IEmbeddingGenerator<string, Embedding<Half>> 22private readonly IEmbeddingGenerator<string, Embedding<float>> _floatService; 24public QuantizationEmbeddingGenerator(IEmbeddingGenerator<string, Embedding<float>> floatService) 46private static BinaryEmbedding QuantizeToBinary(Embedding<float> embedding) 68async Task<GeneratedEmbeddings<Embedding<Half>>> IEmbeddingGenerator<string, Embedding<Half>>.GenerateAsync( 79private static Embedding<Half> QuantizeToHalf(Embedding<float> embedding)
Microsoft.Extensions.AI.Ollama (2)
OllamaEmbeddingGenerator.cs (2)
18public sealed class OllamaEmbeddingGenerator : IEmbeddingGenerator<string, Embedding<float>> 85public async Task<GeneratedEmbeddings<Embedding<float>>> GenerateAsync(
Microsoft.Extensions.AI.Ollama.Tests (11)
OllamaEmbeddingGeneratorIntegrationTests.cs (1)
13protected override IEmbeddingGenerator<string, Embedding<float>>? CreateEmbeddingGenerator() =>
OllamaEmbeddingGeneratorTests.cs (10)
30Assert.Same(generator, generator.GetService<IEmbeddingGenerator<string, Embedding<float>>>()); 32using IEmbeddingGenerator<string, Embedding<float>> pipeline = generator 38Assert.NotNull(pipeline.GetService<DistributedCachingEmbeddingGenerator<string, Embedding<float>>>()); 39Assert.NotNull(pipeline.GetService<CachingEmbeddingGenerator<string, Embedding<float>>>()); 40Assert.NotNull(pipeline.GetService<OpenTelemetryEmbeddingGenerator<string, Embedding<float>>>()); 43Assert.IsType<OpenTelemetryEmbeddingGenerator<string, Embedding<float>>>(pipeline.GetService<IEmbeddingGenerator<string, Embedding<float>>>()); 52using IEmbeddingGenerator<string, Embedding<float>> generator = new OllamaEmbeddingGenerator(endpoint, model); 81using IEmbeddingGenerator<string, Embedding<float>> generator = new OllamaEmbeddingGenerator("http://localhost:11434", "all-minilm", httpClient); 94foreach (Embedding<float> e in response)
Microsoft.Extensions.AI.OllamaSharp.Integration.Tests (1)
OllamaSharpEmbeddingGeneratorIntegrationTests.cs (1)
11protected override IEmbeddingGenerator<string, Embedding<float>>? CreateEmbeddingGenerator() =>
Microsoft.Extensions.AI.OpenAI (3)
OpenAIClientExtensions.cs (1)
39public static IEmbeddingGenerator<string, Embedding<float>> AsIEmbeddingGenerator(this EmbeddingClient embeddingClient, int? defaultModelDimensions = null) =>
OpenAIEmbeddingGenerator.cs (2)
20internal sealed class OpenAIEmbeddingGenerator : IEmbeddingGenerator<string, Embedding<float>> 65public async Task<GeneratedEmbeddings<Embedding<float>>> GenerateAsync(IEnumerable<string> values, EmbeddingGenerationOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.OpenAI.Tests (22)
OpenAIEmbeddingGeneratorIntegrationTests.cs (1)
8protected override IEmbeddingGenerator<string, Embedding<float>>? CreateEmbeddingGenerator() =>
OpenAIEmbeddingGeneratorTests.cs (21)
40IEmbeddingGenerator<string, Embedding<float>> embeddingGenerator = client.GetEmbeddingClient(model).AsIEmbeddingGenerator(); 56IEmbeddingGenerator<string, Embedding<float>> embeddingGenerator = openAIClient.AsIEmbeddingGenerator(); 58Assert.Same(embeddingGenerator, embeddingGenerator.GetService<IEmbeddingGenerator<string, Embedding<float>>>()); 64using IEmbeddingGenerator<string, Embedding<float>> pipeline = embeddingGenerator 70Assert.NotNull(pipeline.GetService<DistributedCachingEmbeddingGenerator<string, Embedding<float>>>()); 71Assert.NotNull(pipeline.GetService<CachingEmbeddingGenerator<string, Embedding<float>>>()); 72Assert.NotNull(pipeline.GetService<OpenTelemetryEmbeddingGenerator<string, Embedding<float>>>()); 75Assert.IsType<OpenTelemetryEmbeddingGenerator<string, Embedding<float>>>(pipeline.GetService<IEmbeddingGenerator<string, Embedding<float>>>()); 82IEmbeddingGenerator<string, Embedding<float>> embeddingGenerator = openAIClient.AsIEmbeddingGenerator(); 84Assert.Same(embeddingGenerator, embeddingGenerator.GetService<IEmbeddingGenerator<string, Embedding<float>>>()); 87using IEmbeddingGenerator<string, Embedding<float>> pipeline = embeddingGenerator 93Assert.NotNull(pipeline.GetService<DistributedCachingEmbeddingGenerator<string, Embedding<float>>>()); 94Assert.NotNull(pipeline.GetService<CachingEmbeddingGenerator<string, Embedding<float>>>()); 95Assert.NotNull(pipeline.GetService<OpenTelemetryEmbeddingGenerator<string, Embedding<float>>>()); 98Assert.IsType<OpenTelemetryEmbeddingGenerator<string, Embedding<float>>>(pipeline.GetService<IEmbeddingGenerator<string, Embedding<float>>>()); 133using IEmbeddingGenerator<string, Embedding<float>> generator = new OpenAIClient(new ApiKeyCredential("apikey"), new OpenAIClientOptions 149foreach (Embedding<float> e in response) 196using IEmbeddingGenerator<string, Embedding<float>> generator = new OpenAIClient(new ApiKeyCredential("apikey"), new OpenAIClientOptions 221foreach (Embedding<float> e in response)
Microsoft.Extensions.AI.Tests (66)
ChatCompletion\DependencyInjectionPatterns.cs (6)
172Assert.Equal(typeof(IEmbeddingGenerator<string, Embedding<float>>), sd.ServiceType); 194IEmbeddingGenerator<string, Embedding<float>>? g = sp.GetService<IEmbeddingGenerator<string, Embedding<float>>>(); 217Assert.Equal(typeof(IEmbeddingGenerator<string, Embedding<float>>), sd.ServiceType); 240IEmbeddingGenerator<string, Embedding<float>>? g = sp.GetKeyedService<IEmbeddingGenerator<string, Embedding<float>>>("key");
Embeddings\ConfigureOptionsEmbeddingGeneratorTests.cs (4)
16Assert.Throws<ArgumentNullException>("innerGenerator", () => new ConfigureOptionsEmbeddingGenerator<string, Embedding<float>>(null!, _ => { })); 17Assert.Throws<ArgumentNullException>("configure", () => new ConfigureOptionsEmbeddingGenerator<string, Embedding<float>>(new TestEmbeddingGenerator(), null!)); 35GeneratedEmbeddings<Embedding<float>> expectedEmbeddings = []; 38using IEmbeddingGenerator<string, Embedding<float>> innerGenerator = new TestEmbeddingGenerator
Embeddings\DistributedCachingEmbeddingGeneratorTest.cs (25)
17private readonly Embedding<float> _expectedEmbedding = new(new float[] { 1.0f, 2.0f, 3.0f }) 37return Task.FromResult<GeneratedEmbeddings<Embedding<float>>>([_expectedEmbedding]); 40using var outer = new DistributedCachingEmbeddingGenerator<string, Embedding<float>>(testGenerator, _storage) 46var result1 = await outer.GenerateAsync("abc"); 51var result2 = await outer.GenerateAsync("abc"); 70Embedding<float>[] expected = Enumerable.Range(0, 10).Select(i => 83return Task.FromResult<GeneratedEmbeddings<Embedding<float>>>(new(values.Select(i => expected[int.Parse(i)]))); 86using var outer = new DistributedCachingEmbeddingGenerator<string, Embedding<float>>(testGenerator, _storage) 131using var outer = new DistributedCachingEmbeddingGenerator<string, Embedding<float>>(innerGenerator, _storage) 149var result3 = await outer.GenerateAsync("abc"); 167using var outer = new DistributedCachingEmbeddingGenerator<string, Embedding<float>>(innerGenerator, _storage) 204using var outer = new DistributedCachingEmbeddingGenerator<string, Embedding<float>>(innerGenerator, _storage) 218var result2 = await outer.GenerateAsync("abc"); 238using var outer = new DistributedCachingEmbeddingGenerator<string, Embedding<float>>(innerGenerator, _storage) 244var result1 = await outer.GenerateAsync("abc", new EmbeddingGenerationOptions 248var result2 = await outer.GenerateAsync("abc", new EmbeddingGenerationOptions 259var result3 = await outer.GenerateAsync("abc", new EmbeddingGenerationOptions 263var result4 = await outer.GenerateAsync("abc", new EmbeddingGenerationOptions 295var result1 = await outer.GenerateAsync("abc", new EmbeddingGenerationOptions 299var result2 = await outer.GenerateAsync("abc", new EmbeddingGenerationOptions 321return Task.FromResult<GeneratedEmbeddings<Embedding<float>>>([_expectedEmbedding]); 341private static void AssertEmbeddingsEqual(Embedding<float> expected, Embedding<float> actual) 351private sealed class CachingEmbeddingGeneratorWithCustomKey(IEmbeddingGenerator<string, Embedding<float>> innerGenerator, IDistributedCache storage) 352: DistributedCachingEmbeddingGenerator<string, Embedding<float>>(innerGenerator, storage)
Embeddings\EmbeddingGeneratorBuilderTests.cs (9)
19var builder = new EmbeddingGeneratorBuilder<string, Embedding<float>>(services => 60Assert.Throws<ArgumentNullException>("innerGenerator", () => new EmbeddingGeneratorBuilder<string, Embedding<float>>((IEmbeddingGenerator<string, Embedding<float>>)null!)); 61Assert.Throws<ArgumentNullException>("innerGenerator", () => ((IEmbeddingGenerator<string, Embedding<float>>)null!).AsBuilder()); 68() => new EmbeddingGeneratorBuilder<string, Embedding<float>>((Func<IServiceProvider, IEmbeddingGenerator<string, Embedding<float>>>)null!)); 81private sealed class InnerServiceCapturingEmbeddingGenerator(string name, IEmbeddingGenerator<string, Embedding<float>> innerGenerator) : 82DelegatingEmbeddingGenerator<string, Embedding<float>>(innerGenerator) 87public new IEmbeddingGenerator<string, Embedding<float>> InnerGenerator => base.InnerGenerator;
Embeddings\LoggingEmbeddingGeneratorTests.cs (11)
19Assert.Throws<ArgumentNullException>("innerGenerator", () => new LoggingEmbeddingGenerator<string, Embedding<float>>(null!, NullLogger.Instance)); 20Assert.Throws<ArgumentNullException>("logger", () => new LoggingEmbeddingGenerator<string, Embedding<float>>(new TestEmbeddingGenerator(), null!)); 28Assert.Null(innerGenerator.AsBuilder().UseLogging(NullLoggerFactory.Instance).Build().GetService(typeof(LoggingEmbeddingGenerator<string, Embedding<float>>))); 29Assert.Same(innerGenerator, innerGenerator.AsBuilder().UseLogging(NullLoggerFactory.Instance).Build().GetService(typeof(IEmbeddingGenerator<string, Embedding<float>>))); 32Assert.NotNull(innerGenerator.AsBuilder().UseLogging(factory).Build().GetService(typeof(LoggingEmbeddingGenerator<string, Embedding<float>>))); 37Assert.NotNull(innerGenerator.AsBuilder().UseLogging().Build(services).GetService(typeof(LoggingEmbeddingGenerator<string, Embedding<float>>))); 38Assert.NotNull(innerGenerator.AsBuilder().UseLogging(null).Build(services).GetService(typeof(LoggingEmbeddingGenerator<string, Embedding<float>>))); 39Assert.Null(innerGenerator.AsBuilder().UseLogging(NullLoggerFactory.Instance).Build(services).GetService(typeof(LoggingEmbeddingGenerator<string, Embedding<float>>))); 54using IEmbeddingGenerator<string, Embedding<float>> innerGenerator = new TestEmbeddingGenerator 58return Task.FromResult(new GeneratedEmbeddings<Embedding<float>>([new Embedding<float>(new float[] { 1f, 2f, 3f })])); 62using IEmbeddingGenerator<string, Embedding<float>> generator = innerGenerator
Embeddings\OpenTelemetryEmbeddingGeneratorTests.cs (1)
39return new GeneratedEmbeddings<Embedding<float>>([new Embedding<float>(new float[] { 1, 2, 3 })])
Embeddings\UseDelegateEmbeddingGeneratorTests.cs (8)
18EmbeddingGeneratorBuilder<string, Embedding<float>> builder = new(generator); 21builder.Use((Func<IEnumerable<string>, EmbeddingGenerationOptions?, IEmbeddingGenerator<string, Embedding<float>>, CancellationToken, Task<GeneratedEmbeddings<Embedding<float>>>>)null!)); 27GeneratedEmbeddings<Embedding<float>> expectedEmbeddings = []; 33using IEmbeddingGenerator<string, Embedding<float>> innerGenerator = new TestEmbeddingGenerator 45using IEmbeddingGenerator<string, Embedding<float>> generator = new EmbeddingGeneratorBuilder<string, Embedding<float>>(innerGenerator) 60GeneratedEmbeddings<Embedding<float>> actual = await generator.GenerateAsync(expectedValues, expectedOptions, expectedCts.Token);
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestEmbeddingGenerator.cs (1)
41public sealed class TestEmbeddingGenerator : TestEmbeddingGenerator<string, Embedding<float>>;
TestJsonSerializerContext.cs (1)
21[JsonSerializable(typeof(Embedding<float>))]