Dhruv Pawar
Initial commit: add all project files
5e0ae28
"""
Conversation entry data model
"""
from dataclasses import dataclass, field, asdict
from datetime import datetime
import uuid
from typing import Optional
from src.utils.helpers import format_timestamp
@dataclass
class ConversationEntry:
"""
💬 ENHANCED CONVERSATION ENTRY WITH METADATA
"""
user_message: str
assistant_response: str
model: str
reasoning_mode: str
timestamp: str = field(default_factory=lambda: format_timestamp())
entry_id: str = field(default_factory=lambda: str(uuid.uuid4()))
temperature: float = 0.7
max_tokens: int = 4000
tokens_used: int = 0
inference_time: float = 0.0
reasoning_depth: int = 1
confidence_score: float = 100.0
critique_enabled: bool = False
cache_hit: bool = False
def to_dict(self) -> dict:
"""Convert to dictionary"""
return asdict(self)
def __str__(self) -> str:
return (f"ConversationEntry(id={self.entry_id[:8]}, "
f"model={self.model}, mode={self.reasoning_mode})")