55from submodules .model import enums
66from submodules .model .models import Embedding
77from util import notification
8- from . import util
98from . import connector
109from .terms import TERMS_INFO
1110from controller .model_provider import manager as model_manager
1413 embedding ,
1514 agreement ,
1615 general ,
17- project ,
1816)
1917from submodules .model import daemon
20- from submodules .model .util import sql_alchemy_to_dict
21- from controller .embedding .connector import collection_on_qdrant
2218
2319
2420def get_terms_info (
@@ -29,19 +25,6 @@ def get_terms_info(
2925 return list (TERMS_INFO .values ())
3026
3127
32- def get_current_terms_text (
33- platform : str ,
34- ) -> Optional [str ]:
35- terms = TERMS_INFO [platform ]
36- term_text = terms .get ("terms" )
37- if not term_text :
38- return None
39- link = terms .get ("link" )
40- if link :
41- term_text = term_text .replace ("@@PLACEHOLDER@@" , link )
42- return term_text
43-
44-
4528def get_recommended_encoders () -> List [Any ]:
4629 # can run into circular import problems if directly resolved here by helper method
4730 recommendations = connector .request_listing_recommended_encoders ()
@@ -71,17 +54,6 @@ def get_recommended_encoders() -> List[Any]:
7154 return recommendations
7255
7356
74- def create_embedding (project_id : str , embedding_id : str ) -> None :
75- daemon .run_without_db_token (connector .request_embedding , project_id , embedding_id )
76-
77-
78- def create_embeddings_one_by_one (
79- project_id : str ,
80- embeddings_ids : List [str ],
81- ) -> None :
82- daemon .run_without_db_token (__embed_one_by_one_helper , project_id , embeddings_ids )
83-
84-
8557def request_tensor_upload (project_id : str , embedding_id : str ) -> Any :
8658 connector .request_tensor_upload (project_id , embedding_id )
8759
@@ -92,21 +64,6 @@ def delete_embedding(project_id: str, embedding_id: str) -> None:
9264 connector .request_deleting_embedding (project_id , embedding_id )
9365
9466
95- def __embed_one_by_one_helper (project_id : str , embeddings_ids : List [str ]) -> None :
96- ctx_token = general .get_ctx_token ()
97- for embedding_id in embeddings_ids :
98- connector .request_embedding (project_id , embedding_id )
99- time .sleep (5 )
100- c = 1
101- while util .has_encoder_running (project_id ):
102- c += 1
103- if c > 12 :
104- ctx_token = general .remove_and_refresh_session (ctx_token , True )
105- c = 1
106- time .sleep (5 )
107- general .remove_and_refresh_session (ctx_token , False )
108-
109-
11067def get_embedding_name (
11168 project_id : str ,
11269 attribute_id : str ,
@@ -142,62 +99,6 @@ def get_embedding_name(
14299 return name
143100
144101
145- EMBEDDING_SCHEMA_WHITELIST = [
146- "id" ,
147- "name" ,
148- "custom" ,
149- "type" ,
150- "state" ,
151- "progress" ,
152- "dimension" ,
153- "count" ,
154- "platform" ,
155- "model" ,
156- "filter_attributes" ,
157- "attribute_id" ,
158- ]
159-
160-
161- def get_embedding_schema (project_id : str ) -> List [Dict [str , Any ]]:
162- embeddings = embedding .get_all_embeddings_by_project_id (project_id )
163- embedding_dict = sql_alchemy_to_dict (
164- embeddings , column_whitelist = EMBEDDING_SCHEMA_WHITELIST
165- )
166- number_records = len (project .get (project_id ).records )
167- expanded_embeddings = []
168- for embed in embedding_dict :
169- count = embedding .get_tensor_count (embed ["id" ])
170- onQdrant = collection_on_qdrant (project_id , embed ["id" ])
171-
172- embedding_item = embedding .get_tensor (embed ["id" ])
173- dimension = 0
174- if embedding_item is not None :
175- # distinguish between token and attribute embeddings
176- if type (embedding_item .data [0 ]) is list :
177- dimension = len (embedding_item .data [0 ])
178- else :
179- dimension = len (embedding_item .data )
180-
181- if embed ["state" ] == "FINISHED" :
182- progress = 1
183- elif embed ["state" ] == "INITIALIZING" or embed ["state" ] == "WAITING" :
184- progress = 0.0
185- else :
186- progress = min (
187- 0.1 + (count / number_records * 0.9 ),
188- 0.99 ,
189- )
190- expanded_embed = {
191- ** embed ,
192- "progress" : progress ,
193- "count" : count ,
194- "dimension" : dimension ,
195- "onQdrant" : onQdrant ,
196- }
197- expanded_embeddings .append (expanded_embed )
198- return {"id" : project_id , "embeddings" : expanded_embeddings }
199-
200-
201102def recreate_embeddings (
202103 project_id : str , embedding_ids : Optional [List [str ]] = None , user_id : str = None
203104) -> None :
0 commit comments