Skip to content

Commit ad5f3b5

Browse files
committed
RecallSettings now extends cat.utils.BaseModelDict
1 parent b25f221 commit ad5f3b5

File tree

2 files changed

+32
-31
lines changed

2 files changed

+32
-31
lines changed
Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,27 @@
11
"""Module for retrieving default configurations for episodic, declarative and procedural memories"""
22

3+
from typing import Any
4+
from cat.utils import BaseModelDict
35

4-
class RecallSettings:
5-
"""Class for retrieving default configurations for episodic, declarative and procedural memories"""
6+
class RecallSettingsMetadata(BaseModelDict):
7+
"""Settigs's metadata for default configurations
8+
9+
Variables:
10+
source (str): the source of the recall query
11+
"""
12+
source: str
613

7-
DEFAULT_K = 3
8-
DEFAULT_TRESHOLD = 0.5
14+
class RecallSettings(BaseModelDict):
15+
"""Class for retrieving default configurations for episodic, declarative and procedural memories
916
10-
def _build_settings(
11-
self,
12-
recall_query_embedding,
13-
user_id=None,
14-
k=DEFAULT_K,
15-
treshold=DEFAULT_TRESHOLD,
16-
):
17-
return {
18-
"embedding": recall_query_embedding,
19-
"k": k,
20-
"threshold": treshold,
21-
"metadata": {"source": user_id} if user_id else None,
22-
}
17+
Variables:
18+
embedding (Any): the embedding of the recall query - default None
19+
k (int): the number of memories to return - default 3
20+
threshold (float): the threshold - default 0.5
21+
metadata (RecallSettingsMetadata): metadata - default None
22+
"""
2323

24-
def default_episodic_config(self, recall_query_embedding, user_id):
25-
return self._build_settings(recall_query_embedding, user_id)
26-
27-
def default_declarative_config(self, recall_query_embedding):
28-
return self._build_settings(recall_query_embedding)
29-
30-
def default_procedural_config(self, recall_query_embedding):
31-
return self._build_settings(recall_query_embedding)
24+
embedding: Any
25+
k: int = 3
26+
threshold: float = 0.5
27+
metadata: RecallSettingsMetadata = None

core/cat/looking_glass/stray_cat.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from cat.log import log
1616
from cat.looking_glass.cheshire_cat import CheshireCat
1717
from cat.looking_glass.callbacks import NewTokenHandler, ModelInteractionHandler
18-
from cat.looking_glass.recall_settings import RecallSettings
18+
from cat.looking_glass.recall_settings import RecallSettingsMetadata, RecallSettings
1919
from cat.memory.working_memory import WorkingMemory
2020
from cat.convo.messages import CatMessage, UserMessage, MessageWhy, Role, EmbedderModelInteraction
2121
from cat.agents import AgentOutput
@@ -233,13 +233,18 @@ def recall_relevant_memories_to_working_memory(self, query=None):
233233
self.mad_hatter.execute_hook("before_cat_recalls_memories", cat=self)
234234

235235
# Setting default recall configs for each memory
236-
recall_settings = RecallSettings()
237-
238-
default_episodic_recall_config = recall_settings.default_episodic_config(recall_query_embedding=recall_query_embedding, user_id=self.user_id)
236+
default_episodic_recall_config = RecallSettings(
237+
embedding=recall_query_embedding,
238+
metadata=RecallSettingsMetadata(source=self.user_id),
239+
)
239240

240-
default_declarative_recall_config = recall_settings.default_declarative_config(recall_query_embedding=recall_query_embedding)
241+
default_declarative_recall_config = RecallSettings(
242+
embedding=recall_query_embedding
243+
)
241244

242-
default_procedural_recall_config = recall_settings.default_procedural_config(recall_query_embedding=recall_query_embedding)
245+
default_procedural_recall_config = RecallSettings(
246+
embedding=recall_query_embedding
247+
)
243248

244249
# hooks to change recall configs for each memory
245250
recall_configs = [

0 commit comments

Comments
 (0)