17
17
18
18
import abc
19
19
from dataclasses import dataclass
20
+ from dataclasses import field
20
21
import enum
21
- import proto
22
- from typing_extensions import override
23
22
from typing import Any , Dict , List , Optional
24
23
from google .cloud .aiplatform .compat .types import (
25
24
feature_online_store_service as fos_service ,
26
25
)
26
+ import proto
27
+ from typing_extensions import override
27
28
28
29
29
30
def get_feature_online_store_name (online_store_name : str ) -> str :
30
31
"""Extract Feature Online Store's name from FeatureView's full resource name.
31
32
32
33
Args:
33
34
online_store_name: Full resource name is projects/project_number/
34
- locations/us-central1/featureOnlineStores/fos_name/featureViews/fv_name
35
+ locations/us-central1/featureOnlineStores/fos_name/featureViews/fv_name
35
36
36
37
Returns:
37
38
str: feature online store name.
@@ -105,11 +106,12 @@ def as_dict(self) -> Dict:
105
106
@dataclass
106
107
class TreeAhConfig (AlgorithmConfig ):
107
108
"""Configuration options for using the tree-AH algorithm (Shallow tree + Asymmetric Hashing).
109
+
108
110
Please refer to this paper for more details: https://arxiv.org/abs/1908.10396
109
111
110
112
Args:
111
- leaf_node_embedding_count (int):
112
- Optional. Number of embeddings on each leaf node. The default value is 1000 if not set.
113
+ leaf_node_embedding_count (int): Optional. Number of embeddings on each
114
+ leaf node. The default value is 1000 if not set.
113
115
"""
114
116
115
117
leaf_node_embedding_count : Optional [int ] = None
@@ -122,8 +124,9 @@ def as_dict(self) -> Dict:
122
124
@dataclass
123
125
class BruteForceConfig (AlgorithmConfig ):
124
126
"""Configuration options for using brute force search.
125
- It simply implements the standard linear search in the database for
126
- each query.
127
+
128
+ It simply implements the standard linear search in the database for each
129
+ query.
127
130
"""
128
131
129
132
@override
@@ -137,7 +140,7 @@ class IndexConfig:
137
140
138
141
embedding_column : str
139
142
dimensions : int
140
- algorithm_config : AlgorithmConfig
143
+ algorithm_config : AlgorithmConfig = field ( default_factory = TreeAhConfig ())
141
144
filter_columns : Optional [List [str ]] = None
142
145
crowding_column : Optional [str ] = None
143
146
distance_measure_type : Optional [DistanceMeasureType ] = None
0 commit comments