(self, knowledge_text, knowledge_deque: deque, type_name="knowledge")
| 46 | return self.user_profiles.get(user_id, {}) |
| 47 | |
| 48 | def add_knowledge_entry(self, knowledge_text, knowledge_deque: deque, type_name="knowledge"): |
| 49 | if not knowledge_text or knowledge_text.strip().lower() in ["", "none", "- none", "- none."]: |
| 50 | print(f"LongTermMemory: Empty {type_name} received, not saving.") |
| 51 | return |
| 52 | |
| 53 | # If deque is full, the oldest item is automatically removed when appending. |
| 54 | vec = get_embedding( |
| 55 | knowledge_text, |
| 56 | model_name=self.embedding_model_name, |
| 57 | **self.embedding_model_kwargs |
| 58 | ) |
| 59 | vec = normalize_vector(vec).tolist() |
| 60 | entry = { |
| 61 | "knowledge": knowledge_text, |
| 62 | "timestamp": get_timestamp(), |
| 63 | "knowledge_embedding": vec |
| 64 | } |
| 65 | knowledge_deque.append(entry) |
| 66 | print(f"LongTermMemory: Added {type_name}. Current count: {len(knowledge_deque)}.") |
| 67 | self.save() |
| 68 | |
| 69 | def add_user_knowledge(self, knowledge_text): |
| 70 | self.add_knowledge_entry(knowledge_text, self.knowledge_base, "user knowledge") |
no test coverage detected