MJ-Prod commited on
Commit
35a1d9a
·
1 Parent(s): 6450c68

conersationMemory

Browse files
Files changed (1) hide show
  1. app.py +29 -0
app.py CHANGED
@@ -67,6 +67,35 @@ def health():
67
  return {"status": "ok", "service": "FISCAL"}
68
 
69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  @app.post("/chat", response_model=ChatResponse)
71
  def chat(
72
  request: ChatRequest,
 
67
  return {"status": "ok", "service": "FISCAL"}
68
 
69
 
70
+ class LoadHistoryRequest(BaseModel):
71
+ messages: list
72
+
73
+ @app.post("/load_history")
74
+ def load_history(
75
+ request: LoadHistoryRequest,
76
+ credentials: HTTPAuthorizationCredentials = Depends(security),
77
+ ):
78
+ user = verify_token(credentials.credentials)
79
+ if not user:
80
+ raise HTTPException(status_code=401, detail="Unauthorized")
81
+
82
+ from fiscal import _get_memory
83
+ memory = _get_memory(user["sub"])
84
+ memory.clear()
85
+
86
+ # Rebuild memory from saved messages
87
+ messages = request.messages
88
+ for i in range(0, len(messages) - 1, 2):
89
+ if i + 1 < len(messages):
90
+ human_msg = messages[i].get("text", "")
91
+ ai_msg = messages[i + 1].get("text", "")
92
+ if human_msg and ai_msg:
93
+ memory.chat_memory.add_user_message(human_msg)
94
+ memory.chat_memory.add_ai_message(ai_msg)
95
+
96
+ return {"status": "history loaded"}
97
+
98
+
99
  @app.post("/chat", response_model=ChatResponse)
100
  def chat(
101
  request: ChatRequest,