Arabic_EduGuide_Bot / chat_manager.py
aamirali13's picture
Upload 7 files
23b8b85 verified
raw
history blame contribute delete
971 Bytes
# chat_manager.py
from typing import Dict, List, Optional
from chat_state import ChatState
class ChatManager:
def __init__(self, system_prompt: str):
self.system_prompt = system_prompt
def create_new_chat(self) -> List[Dict[str, str]]:
return [{"role": "system", "content": self.system_prompt}]
def save_chat(
self,
temp_chat: List[Dict[str, str]],
chat_history: Dict[str, List[Dict[str, str]]],
) -> str:
if temp_chat and len(temp_chat) > 1:
new_chat_id = str(len(chat_history) + 1)
chat_history[new_chat_id] = temp_chat
return new_chat_id
return None
def delete_chat(self, chat_id: str, chat_state: ChatState) -> None:
if chat_id in chat_state.chat_history:
del chat_state.chat_history[chat_id]
if chat_state.current_chat_id == chat_id:
chat_state.current_chat_id = None
chat_state.delete_chat_id = None