@@ -87,13 +87,18 @@ def _reset_time_to_live(self, group_identifier: str):
8787 if self .time_to_live is None :
8888 return
8989
90- items = self .get_all (group_identifier )
91- current_time = time .time ()
92-
93- for item in items :
94- item_dict = item .model_dump () if hasattr (item , 'model_dump' ) else item
95- item_dict ["created_at" ] = current_time
96- self .insert (group_identifier , item_dict )
90+ self .client .set_payload (
91+ collection_name = self .collection_name ,
92+ payload = {"created_at" : time .time ()},
93+ points = Filter (
94+ must = [
95+ FieldCondition (
96+ key = self .group_identifier ,
97+ match = MatchValue (value = group_identifier )
98+ )
99+ ]
100+ ),
101+ )
97102
98103 @abstractmethod
99104 def validate (self , payload : Any ) -> Any :
@@ -107,8 +112,11 @@ def insert(self, group_identifier: str, payload: Any) -> None:
107112 if "created_at" not in payload :
108113 payload ["created_at" ] = time .time ()
109114
110- payload_str = str (payload )
111- vector = self .model .encode (payload_str ).tolist ()
115+ semantic_payload = {
116+ k : v for k , v in payload .items ()
117+ if k not in ("created_at" , self .group_identifier )
118+ }
119+ vector = self .model .encode (str (semantic_payload )).tolist ()
112120
113121 payload [self .group_identifier ] = group_identifier
114122
0 commit comments