File size: 1,309 Bytes
825a805
a467728
 
825a805
 
 
 
 
 
 
0733fd6
 
825a805
0733fd6
825a805
 
 
 
 
 
0733fd6
a467728
 
 
 
 
 
 
0733fd6
a467728
 
0733fd6
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
# database_module/models.py
from sqlalchemy import Column, String, Date, Integer, Float, Text, JSON, DateTime
from datetime import datetime
from .db import Base

class ModelEntry(Base):
    __tablename__ = "models"

    id = Column(Integer, primary_key=True, index=True)
    name = Column(String, unique=True, nullable=False, index=True)
    created = Column(DateTime, nullable=False, default=datetime.now)
    updated = Column(DateTime, nullable=True)  # Added updated field
    description = Column(Text, nullable=True)
    capabilities = Column(Text, nullable=True)  # Store model_capabilities

class DriftEntry(Base):
    __tablename__ = "drift_history"

    id = Column(Integer, primary_key=True, index=True)
    model_name = Column(String, nullable=False, index=True)
    date = Column(DateTime, nullable=False, default=datetime.now)
    drift_score = Column(Float, nullable=True)

class DiagnosticData(Base):
    __tablename__ = "diagnostic_data"

    id = Column(Integer, primary_key=True, index=True)
    model_name = Column(String, nullable=False, index=True)
    created = Column(DateTime, nullable=False, default=datetime.now)
    is_baseline = Column(Integer, nullable=False, default=0)  # 0=latest, 1=baseline
    questions = Column(JSON, nullable=True)
    answers = Column(JSON, nullable=True)