From 9f575c3c32a2674512ea740fb9737d014b9a7566 Mon Sep 17 00:00:00 2001 From: Allen Kim Date: Thu, 23 Oct 2025 11:11:59 -0700 Subject: [PATCH 1/8] Adding test for checking float16 datatype for vector embedding policy --- .../azure-cosmos/tests/test_vector_policy.py | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py index 924f4d784043..3cafe082b381 100644 --- a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py +++ b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py @@ -35,6 +35,28 @@ def setUpClass(cls): def tearDownClass(cls): test_config.TestConfig.try_delete_database_with_id(cls.client, cls.test_db.id) + @unittest.skip + def test_create_valid_vector_embedding_policy(self): + # Using valid data types + data_types = ["float32", "float16", "int8", "uint8"] + for data_type in data_types: + print("Testing data type: ", data_type) + vector_embedding_policy = { + "vectorEmbeddings": [ + { + "path": "/vector1", + "dataType": data_type, + "dimensions": 256, + "distanceFunction": "euclidean" + }]} + created_container = self.test_db.create_container( + id='vector_container_' + data_type, + partition_key=PartitionKey(path="/id"), + vector_embedding_policy=vector_embedding_policy) + properties = created_container.read() + assert properties["vectorEmbeddingPolicy"]["vectorEmbeddings"][0]["dataType"] == data_type + self.test_db.delete_container('vector_container_' + data_type) + def test_create_vector_embedding_container(self): indexing_policy = { "vectorIndexes": [ @@ -440,7 +462,7 @@ def test_fail_create_vector_embedding_policy(self): "vectorEmbeddings": [ { "path": "/vector1", - "dataType": "float33", + "dataType": "float16", "dimensions": 256, "distanceFunction": "euclidean" }]} From 867296b2a4ea7a4bd5049f244f0c794a4b96a815 Mon Sep 17 00:00:00 2001 From: Allen Kim Date: Thu, 23 Oct 2025 11:15:36 -0700 Subject: [PATCH 2/8] Revert unnecessary change --- sdk/cosmos/azure-cosmos/tests/test_vector_policy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py index 3cafe082b381..9c0ff1636230 100644 --- a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py +++ b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py @@ -462,7 +462,7 @@ def test_fail_create_vector_embedding_policy(self): "vectorEmbeddings": [ { "path": "/vector1", - "dataType": "float16", + "dataType": "float32", "dimensions": 256, "distanceFunction": "euclidean" }]} From 698a8dccf8d0ef098ddc271b0db5d1ec55ab975c Mon Sep 17 00:00:00 2001 From: Allen Kim Date: Thu, 23 Oct 2025 11:16:05 -0700 Subject: [PATCH 3/8] Remove unnecessary print --- sdk/cosmos/azure-cosmos/tests/test_vector_policy.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py index 9c0ff1636230..3887106e1041 100644 --- a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py +++ b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py @@ -40,7 +40,6 @@ def test_create_valid_vector_embedding_policy(self): # Using valid data types data_types = ["float32", "float16", "int8", "uint8"] for data_type in data_types: - print("Testing data type: ", data_type) vector_embedding_policy = { "vectorEmbeddings": [ { From 187cc6f6bc30dfdf56ee9fcbd807cdd52a91dbc4 Mon Sep 17 00:00:00 2001 From: Allen Kim Date: Thu, 23 Oct 2025 11:17:32 -0700 Subject: [PATCH 4/8] Revert unnecessary change --- sdk/cosmos/azure-cosmos/tests/test_vector_policy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py index 3887106e1041..5b63e8b76ef3 100644 --- a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py +++ b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py @@ -461,7 +461,7 @@ def test_fail_create_vector_embedding_policy(self): "vectorEmbeddings": [ { "path": "/vector1", - "dataType": "float32", + "dataType": "float33", "dimensions": 256, "distanceFunction": "euclidean" }]} From db5f77dca334c445ca4d8bc5ff97069b3464df79 Mon Sep 17 00:00:00 2001 From: Allen Kim Date: Mon, 22 Dec 2025 12:14:08 -0800 Subject: [PATCH 5/8] Enable float16 tests --- sdk/cosmos/azure-cosmos/tests/test_vector_policy.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py index 214896e12a60..7ab3c1925086 100644 --- a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py +++ b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py @@ -35,7 +35,6 @@ def setUpClass(cls): def tearDownClass(cls): test_config.TestConfig.try_delete_database_with_id(cls.client, cls.test_db.id) - @unittest.skip def test_create_valid_vector_embedding_policy(self): # Using valid data types data_types = ["float32", "float16", "int8", "uint8"] From aa28682adf6bec74fd170034bdea22ef8effb1ef Mon Sep 17 00:00:00 2001 From: Allen Kim Date: Mon, 22 Dec 2025 13:01:50 -0800 Subject: [PATCH 6/8] Add async float16 tests --- .../tests/test_vector_policy_async.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/sdk/cosmos/azure-cosmos/tests/test_vector_policy_async.py b/sdk/cosmos/azure-cosmos/tests/test_vector_policy_async.py index 61c623b79270..fa0da7af7075 100644 --- a/sdk/cosmos/azure-cosmos/tests/test_vector_policy_async.py +++ b/sdk/cosmos/azure-cosmos/tests/test_vector_policy_async.py @@ -46,6 +46,26 @@ async def asyncSetUp(self): async def asyncTearDown(self): await self.client.close() + async def test_create_valid_vector_embedding_policy_async(self): + # Using valid data types + data_types = ["float32", "float16", "int8", "uint8"] + for data_type in data_types: + vector_embedding_policy = { + "vectorEmbeddings": [ + { + "path": "/vector1", + "dataType": data_type, + "dimensions": 256, + "distanceFunction": "euclidean" + }]} + created_container = await self.test_db.create_container( + id='vector_container_' + data_type, + partition_key=PartitionKey(path="/id"), + vector_embedding_policy=vector_embedding_policy) + properties = await created_container.read() + assert properties["vectorEmbeddingPolicy"]["vectorEmbeddings"][0]["dataType"] == data_type + self.test_db.delete_container('vector_container_' + data_type) + async def test_create_vector_embedding_container_async(self): indexing_policy = { "vectorIndexes": [ From 416ce2f72ecac92aaebb6bc1d378ece30ddac67c Mon Sep 17 00:00:00 2001 From: Allen Kim Date: Tue, 23 Dec 2025 11:28:35 -0800 Subject: [PATCH 7/8] address comments --- sdk/cosmos/azure-cosmos/tests/test_vector_policy_async.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk/cosmos/azure-cosmos/tests/test_vector_policy_async.py b/sdk/cosmos/azure-cosmos/tests/test_vector_policy_async.py index fa0da7af7075..1963ff2e26d9 100644 --- a/sdk/cosmos/azure-cosmos/tests/test_vector_policy_async.py +++ b/sdk/cosmos/azure-cosmos/tests/test_vector_policy_async.py @@ -64,7 +64,6 @@ async def test_create_valid_vector_embedding_policy_async(self): vector_embedding_policy=vector_embedding_policy) properties = await created_container.read() assert properties["vectorEmbeddingPolicy"]["vectorEmbeddings"][0]["dataType"] == data_type - self.test_db.delete_container('vector_container_' + data_type) async def test_create_vector_embedding_container_async(self): indexing_policy = { From a7f5af4e0017abb133ad609f46ecfa12a394bd9b Mon Sep 17 00:00:00 2001 From: Allen Kim Date: Tue, 23 Dec 2025 11:35:43 -0800 Subject: [PATCH 8/8] address comments --- sdk/cosmos/azure-cosmos/tests/test_vector_policy.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py index 7ab3c1925086..7a465654d2db 100644 --- a/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py +++ b/sdk/cosmos/azure-cosmos/tests/test_vector_policy.py @@ -53,7 +53,6 @@ def test_create_valid_vector_embedding_policy(self): vector_embedding_policy=vector_embedding_policy) properties = created_container.read() assert properties["vectorEmbeddingPolicy"]["vectorEmbeddings"][0]["dataType"] == data_type - self.test_db.delete_container('vector_container_' + data_type) def test_create_vector_embedding_container(self): indexing_policy = {