2121from vector_search import store_vectors
2222from vector_search import vector_search_basic
2323from vector_search import vector_search_distance_result_property
24+ from vector_search import vector_search_distance_result_property_projection
2425from vector_search import vector_search_distance_threshold
2526from vector_search import vector_search_prefilter
2627from vector_search import vector_search_large_response
@@ -49,13 +50,13 @@ def _clear_db(db):
4950
5051def add_coffee_beans_data (db ):
5152 entity1 = datastore .Entity (db .key ("coffee-beans" , "Arabica" ))
52- entity1 .update ({"embedding_field" : Vector ([10.0 , 1.0 , 2.0 ]), "color" : "red" })
53+ entity1 .update ({"embedding_field" : Vector ([0.80522226 , 0.18332680 , 0.24160706 ]), "color" : "red" })
5354 entity2 = datastore .Entity (db .key ("coffee-beans" , "Robusta" ))
54- entity2 .update ({"embedding_field" : Vector ([4.0 , 1.0 , 2.0 ]), "color" : "" })
55+ entity2 .update ({"embedding_field" : Vector ([0.43979567 , 0.18332680 , 0.24160706 ]), "color" : "" })
5556 entity3 = datastore .Entity (db .key ("coffee-beans" , "Excelsa" ))
56- entity3 .update ({"embedding_field" : Vector ([11.0 , 1.0 , 2.0 ]), "color" : "red" })
57+ entity3 .update ({"embedding_field" : Vector ([0.90477061 , 0.18332680 , 0.24160706 ]), "color" : "red" })
5758 entity4 = datastore .Entity (db .key ("coffee-beans" , "Liberica" ))
58- entity4 .update ({"embedding_field" : Vector ([3.0 , 1.0 , 2.0 ]), "color" : "green" })
59+ entity4 .update ({"embedding_field" : Vector ([0.3416704 , 0.18332680 , 0.24160706 ]), "color" : "green" })
5960
6061 entity_list = [entity1 , entity2 , entity3 , entity4 ]
6162 db .put_multi (entity_list )
@@ -93,16 +94,16 @@ def test_vector_search_distance_result_property(db):
9394 assert len (results ) == 4
9495 assert results [0 ].key .name == "Liberica"
9596 assert results [0 ]["vector_distance" ] == 0.0
96- assert results [0 ]["embedding_field" ] == Vector ([3.0 , 1.0 , 2.0 ])
97+ assert results [0 ]["embedding_field" ] == Vector ([0.3416704 , 0.18332680 , 0.24160706 ])
9798 assert results [1 ].key .name == "Robusta"
98- assert results [1 ]["vector_distance" ] == 1.0
99- assert results [1 ]["embedding_field" ] == Vector ([4.0 , 1.0 , 2.0 ])
99+ assert results [1 ]["vector_distance" ] == pytest . approx ( 0.09812527 )
100+ assert results [1 ]["embedding_field" ] == Vector ([0.43979567 , 0.18332680 , 0.24160706 ])
100101 assert results [2 ].key .name == "Arabica"
101- assert results [2 ]["vector_distance" ] == 7.0
102- assert results [2 ]["embedding_field" ] == Vector ([10.0 , 1.0 , 2.0 ])
102+ assert results [2 ]["vector_distance" ] == pytest . approx ( 0.46355186 )
103+ assert results [2 ]["embedding_field" ] == Vector ([0.80522226 , 0.18332680 , 0.24160706 ])
103104 assert results [3 ].key .name == "Excelsa"
104- assert results [3 ]["vector_distance" ] == 8.0
105- assert results [3 ]["embedding_field" ] == Vector ([11.0 , 1.0 , 2.0 ])
105+ assert results [3 ]["vector_distance" ] == pytest . approx ( 0.56310021 )
106+ assert results [3 ]["embedding_field" ] == Vector ([0.90477061 , 0.18332680 , 0.24160706 ])
106107
107108
108109def test_vector_search_distance_result_property_projection (db ):
@@ -113,11 +114,11 @@ def test_vector_search_distance_result_property_projection(db):
113114 assert results [0 ].key .name == "Liberica"
114115 assert results [0 ]["vector_distance" ] == 0.0
115116 assert results [1 ].key .name == "Robusta"
116- assert results [1 ]["vector_distance" ] == 1.0
117+ assert results [1 ]["vector_distance" ] == pytest . approx ( 0.09812527 )
117118 assert results [2 ].key .name == "Arabica"
118- assert results [2 ]["vector_distance" ] == 7.0
119+ assert results [2 ]["vector_distance" ] == pytest . approx ( 0.46355186 )
119120 assert results [3 ].key .name == "Excelsa"
120- assert results [3 ]["vector_distance" ] == 8.0
121+ assert results [3 ]["vector_distance" ] == pytest . approx ( 0.56310021 )
121122
122123 assert all ("embedding_field" not in d for d in results )
123124
0 commit comments