DeepMedAI / backend /app /models /message.py
PBThuong's picture
Thiết lập lại thư viện y khoa sạch và cập nhật chroma_db
8eaa451
Raw
History Blame Contribute Delete
1.12 kB
"""
MediGenius — models/message.py
SQLAlchemy ORM model for chat messages.
"""
from datetime import datetime
from typing import Dict
from sqlalchemy import Column, DateTime, Integer, String, Text
from sqlalchemy.orm import declarative_base
Base = declarative_base()
class Message(Base):
"""Persisted chat message (user or assistant turn)."""
__tablename__ = "messages"
id = Column(Integer, primary_key=True, autoincrement=True)
session_id = Column(String(255), nullable=False, index=True)
role = Column(String(50), nullable=False) # "user" | "assistant"
content = Column(Text, nullable=False)
source = Column(String(255), nullable=True) # e.g. "Wikipedia Medical Information"
timestamp = Column(DateTime, default=datetime.utcnow, nullable=False)
def to_dict(self) -> Dict:
return {
"id": self.id,
"session_id": self.session_id,
"role": self.role,
"content": self.content,
"source": self.source,
"timestamp": self.timestamp.isoformat() if self.timestamp else None,
}