CoolFace
Apppublic

ruby2210/rag-chatbot

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
__init__.py27 linesDownload Raw Back to models
1"""2Base models for the RAG Chatbot application.3"""4from sqlalchemy import Column, String, DateTime, Text, Integer, ForeignKey5from sqlalchemy.dialects.postgresql import JSONB6from sqlalchemy.orm import relationship7from datetime import datetime8from ..utils.database import Base9 10 11class ChatSession(Base):12    """13    Represents a user's conversation with the RAG chatbot, containing conversation history and state.14    """15    __tablename__ = "chat_sessions"16 17    id = Column(String, primary_key=True, index=True)18    user_id = Column(String, index=True)  # Optional user identifier19    created_at = Column(DateTime, default=datetime.utcnow)20    updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)21    session_metadata = Column(JSONB, default={})  # Additional metadata about the session22 23    # Relationship to chat history24    history = relationship("ChatHistory", back_populates="session", cascade="all, delete-orphan")25 26    def __repr__(self):27        return f"<ChatSession(id={self.id}, user_id={self.user_id})>"