self-trained2 / services /chat_service.py
DeepImagix's picture
Upload 4 files
7a56a18 verified
Raw
History Blame Contribute Delete
1.32 kB
"""
Chat Service - Handles all chat logic
"""
from typing import Dict
import models.registry as model_registry
from services.memory_service import MemoryService
from services.persona_service import PersonaService
from services.model_service import ModelService
class ChatService:
@staticmethod
async def process_message(user_id: str, message: str, model_id: str, **kwargs) -> Dict:
try:
model_cfg = model_registry.get(model_id)
# Get persona
persona = kwargs.get("persona", "default")
persona_data = PersonaService.get_persona(persona)
# Load memory
memory = MemoryService.load_recent_memory(user_id, 8)
# Call model-specific logic
result = await ModelService.get_model_response(
user_id=user_id,
message=message,
model_id=model_id,
persona=persona_data,
memory=memory,
**kwargs
)
return result
except Exception as e:
logging.error(f"[ChatService] Error: {e}")
return {
"response": "๐Ÿ˜” Something went wrong. Please try again.",
"error": True
}