diff --git a/dotnet/Directory.Packages.props b/dotnet/Directory.Packages.props index 465355394d67..5664a440ce2b 100644 --- a/dotnet/Directory.Packages.props +++ b/dotnet/Directory.Packages.props @@ -114,7 +114,7 @@ - + diff --git a/dotnet/src/Connectors/Connectors.AzureCosmosDBNoSQL.UnitTests/AzureCosmosDBNoSQLVectorStoreRecordCollectionTests.cs b/dotnet/src/Connectors/Connectors.AzureCosmosDBNoSQL.UnitTests/AzureCosmosDBNoSQLVectorStoreRecordCollectionTests.cs index fc78fb74c244..d8718eb2f2b5 100644 --- a/dotnet/src/Connectors/Connectors.AzureCosmosDBNoSQL.UnitTests/AzureCosmosDBNoSQLVectorStoreRecordCollectionTests.cs +++ b/dotnet/src/Connectors/Connectors.AzureCosmosDBNoSQL.UnitTests/AzureCosmosDBNoSQLVectorStoreRecordCollectionTests.cs @@ -123,13 +123,6 @@ public async Task CreateCollectionUsesValidContainerPropertiesAsync(IndexingMode var expectedVectorEmbeddingPolicy = new VectorEmbeddingPolicy( [ - new Embedding - { - DataType = VectorDataType.Float16, - Dimensions = 1, - DistanceFunction = Microsoft.Azure.Cosmos.DistanceFunction.Cosine, - Path = "/DescriptionEmbedding1" - }, new Embedding { DataType = VectorDataType.Float32, @@ -157,7 +150,6 @@ public async Task CreateCollectionUsesValidContainerPropertiesAsync(IndexingMode { VectorIndexes = [ - new VectorIndexPath { Type = VectorIndexType.Flat, Path = "/DescriptionEmbedding1" }, new VectorIndexPath { Type = VectorIndexType.Flat, Path = "/DescriptionEmbedding2" }, new VectorIndexPath { Type = VectorIndexType.QuantizedFlat, Path = "/DescriptionEmbedding3" }, new VectorIndexPath { Type = VectorIndexType.DiskANN, Path = "/DescriptionEmbedding4" }, @@ -172,7 +164,6 @@ public async Task CreateCollectionUsesValidContainerPropertiesAsync(IndexingMode expectedIndexingPolicy.IncludedPaths.Add(new IncludedPath { Path = "/IndexableData2/?" }); expectedIndexingPolicy.IncludedPaths.Add(new IncludedPath { Path = "/" }); - expectedIndexingPolicy.ExcludedPaths.Add(new ExcludedPath { Path = "/DescriptionEmbedding1/*" }); expectedIndexingPolicy.ExcludedPaths.Add(new ExcludedPath { Path = "/DescriptionEmbedding2/*" }); expectedIndexingPolicy.ExcludedPaths.Add(new ExcludedPath { Path = "/DescriptionEmbedding3/*" }); expectedIndexingPolicy.ExcludedPaths.Add(new ExcludedPath { Path = "/DescriptionEmbedding4/*" }); @@ -704,9 +695,6 @@ private sealed class TestIndexingModel [VectorStoreRecordKey] public string? Id { get; set; } - [VectorStoreRecordVector(Dimensions: 1, DistanceFunction: DistanceFunction.CosineSimilarity, IndexKind: IndexKind.Flat)] - public ReadOnlyMemory? DescriptionEmbedding1 { get; set; } - [VectorStoreRecordVector(Dimensions: 2, DistanceFunction: DistanceFunction.CosineSimilarity, IndexKind: IndexKind.Flat)] public ReadOnlyMemory? DescriptionEmbedding2 { get; set; } diff --git a/dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBNoSQL/AzureCosmosDBNoSQLMemoryStore.cs b/dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBNoSQL/AzureCosmosDBNoSQLMemoryStore.cs index f89481ed107b..ab898fad6c13 100644 --- a/dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBNoSQL/AzureCosmosDBNoSQLMemoryStore.cs +++ b/dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBNoSQL/AzureCosmosDBNoSQLMemoryStore.cs @@ -63,7 +63,7 @@ public AzureCosmosDBNoSQLMemoryStore( new Embedding { DataType = vectorDataType, - Dimensions = dimensions, + Dimensions = (int)dimensions, DistanceFunction = DistanceFunction.Cosine, Path = EmbeddingPath, } @@ -141,10 +141,10 @@ contain an embedding path at {EmbeddingPath}. It's also recommended to include t be specified as {nameof(DistanceFunction)}.{nameof(DistanceFunction.Cosine)}. """); } - else if (embedding.DataType != VectorDataType.Float16 && embedding.DataType != VectorDataType.Float32) + else if (embedding.DataType != VectorDataType.Float32) { throw new NotSupportedException($""" - Only {nameof(VectorDataType)}.{nameof(VectorDataType.Float16)} and {nameof(VectorDataType)}.{nameof(VectorDataType.Float32)} + Only {nameof(VectorDataType)}.{nameof(VectorDataType.Float32)} are supported. """); } diff --git a/dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBNoSQL/AzureCosmosDBNoSQLVectorStoreRecordCollection.cs b/dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBNoSQL/AzureCosmosDBNoSQLVectorStoreRecordCollection.cs index e458713bfff3..ba993c758dc8 100644 --- a/dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBNoSQL/AzureCosmosDBNoSQLVectorStoreRecordCollection.cs +++ b/dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBNoSQL/AzureCosmosDBNoSQLVectorStoreRecordCollection.cs @@ -57,11 +57,6 @@ public sealed class AzureCosmosDBNoSQLVectorStoreRecordCollection : /// A of types that vector properties on the provided model may have, based on enumeration. private static readonly HashSet s_supportedVectorTypes = [ - // Float16 -#if NET5_0_OR_GREATER - typeof(ReadOnlyMemory), - typeof(ReadOnlyMemory?), -#endif // Float32 typeof(ReadOnlyMemory), typeof(ReadOnlyMemory?), @@ -485,7 +480,7 @@ private ContainerProperties GetContainerProperties() var embedding = new Embedding { DataType = GetDataType(property.PropertyType, vectorPropertyName), - Dimensions = (ulong)property.Dimensions, + Dimensions = (int)property.Dimensions, DistanceFunction = GetDistanceFunction(property.DistanceFunction, vectorPropertyName), Path = path }; @@ -576,9 +571,6 @@ private static VectorDataType GetDataType(Type vectorDataType, string vectorProp { return vectorDataType switch { -#if NET5_0_OR_GREATER - Type type when type == typeof(ReadOnlyMemory) || type == typeof(ReadOnlyMemory?) => VectorDataType.Float16, -#endif Type type when type == typeof(ReadOnlyMemory) || type == typeof(ReadOnlyMemory?) => VectorDataType.Float32, Type type when type == typeof(ReadOnlyMemory) || type == typeof(ReadOnlyMemory?) => VectorDataType.Uint8, Type type when type == typeof(ReadOnlyMemory) || type == typeof(ReadOnlyMemory?) => VectorDataType.Int8,