diff --git a/ai-hub/app/core/services/rag.py b/ai-hub/app/core/services/rag.py index 8d90b11..f6cf471 100644 --- a/ai-hub/app/core/services/rag.py +++ b/ai-hub/app/core/services/rag.py @@ -76,13 +76,14 @@ "input_tokens": state["usage"]["input"], "output_tokens": state["usage"]["output"] } - def _resolve_session(self, db: Session, session_id: int, prompt: str) -> models.Session: + def _resolve_session(self, db: Session, session_id: int, prompt: str, save_prompt: bool = True) -> models.Session: """Fetches and initializes the session state.""" session = db.query(models.Session).options(joinedload(models.Session.messages)).filter(models.Session.id == session_id).first() if not session: raise ValueError(f"Session {session_id} not found.") # Save user message - db.add(models.Message(session_id=session_id, sender="user", content=prompt)) + if save_prompt: + db.add(models.Message(session_id=session_id, sender="user", content=prompt)) if session.title in (None, "New Chat Session", ""): session.title = prompt[:60].strip() + ("..." if len(prompt) > 60 else "")