summaryrefslogtreecommitdiff
path: root/src/personalization/user_model/session_state.py
diff options
context:
space:
mode:
authorYurenHao0426 <Blackhao0426@gmail.com>2026-03-18 18:25:09 -0500
committerYurenHao0426 <Blackhao0426@gmail.com>2026-03-18 18:25:09 -0500
commitb6c3e4e51eeab703b40284459c6e9fff2151216c (patch)
tree221410886f23214575f93b9ef44fa8431c9a6dfc /src/personalization/user_model/session_state.py
Initial release: VARS - personalized LLM with RAG and user vector learning
Diffstat (limited to 'src/personalization/user_model/session_state.py')
-rw-r--r--src/personalization/user_model/session_state.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/personalization/user_model/session_state.py b/src/personalization/user_model/session_state.py
new file mode 100644
index 0000000..5cd2243
--- /dev/null
+++ b/src/personalization/user_model/session_state.py
@@ -0,0 +1,19 @@
+from dataclasses import dataclass, field
+from typing import List, Optional
+import numpy as np
+
+from personalization.retrieval.preference_store.schemas import ChatTurn, MemoryCard
+
+@dataclass
+class OnlineSessionState:
+ user_id: str
+ history: List[ChatTurn] = field(default_factory=list)
+ last_query: Optional[str] = None
+ last_answer: Optional[str] = None
+ last_memories: List[MemoryCard] = field(default_factory=list)
+ last_query_embedding: Optional[np.ndarray] = None
+ last_candidate_item_vectors: Optional[np.ndarray] = None # [K, k]
+ last_policy_probs: Optional[np.ndarray] = None # [K]
+ last_chosen_indices: List[int] = field(default_factory=list)
+
+