File size: 2,319 Bytes
e316397
0106562
 
 
 
 
 
cfc6443
0106562
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# chat_engine.py
import logging
import time
from typing import Dict, Any

logger = logging.getLogger("barouia_real_chat")

class RealChatEngine:
    def __init__(self):
        self.conversations: Dict[str, list] = {}
        logger.info("Moteur de chat Barouia-Cortex initialisé")
    
    def process_message(self, conversation_id: str, message: str) -> str:
        try:
            logger.info(f"Message reçu: {message} (conversation: {conversation_id})")
            
            # Simulation de traitement
            time.sleep(1)  # Simule un temps de réflexion
            
            # Stocker dans l'historique
            if conversation_id not in self.conversations:
                self.conversations[conversation_id] = []
            
            self.conversations[conversation_id].append({
                "user": message,
                "timestamp": time.time()
            })
            
            # Réponse intelligente basique
            response = self.generate_response(message)
            logger.info(f"Réponse envoyée: {response}")
            
            return response
            
        except Exception as e:
            logger.error(f"Erreur dans process_message: {e}")
            return "Désolé, une erreur s'est produite lors du traitement de votre message."
    
    def generate_response(self, message: str) -> str:
        message_lower = message.lower()
        
        # Réponses contextuelles simples
        if "bonjour" in message_lower or "salut" in message_lower:
            return "Bonjour ! Je suis Barouia-Cortex. Comment puis-je vous aider aujourd'hui ?"
        elif "ça va" in message_lower or "comment vas-tu" in message_lower:
            return "Je fonctionne parfaitement bien, merci ! Et vous, comment allez-vous ?"
        elif "merci" in message_lower:
            return "Je vous en prie ! N'hésitez pas si vous avez d'autres questions."
        elif "au revoir" in message_lower or "bye" in message_lower:
            return "Au revoir ! Ce fut un plaisir de discuter avec vous."
        elif "aide" in message_lower:
            return "Je suis là pour vous aider ! Posez-moi n'importe quelle question."
        else:
            return f"J'ai bien reçu votre message : '{message}'. C'est intéressant ! Pouvez-vous me en dire plus ?"