Nyxar / models /batch_summary_model.py
Sanjeev2501's picture
feat: added a new sections feature and recommendations and aseessments and report metadata for the ai intelligence page
12e21d8
Raw
History Blame Contribute Delete
1.22 kB
from app.core.database import Base
from sqlalchemy import Column, Float, String, Text, DateTime, Boolean, Integer, UniqueConstraint, ForeignKey
from datetime import datetime, UTC
from sqlalchemy.dialects.postgresql import JSON
class BatchSummary(Base):
__tablename__ = "batch_summaries"
id = Column(Integer, primary_key=True, index=True)
job_id = Column(Integer, ForeignKey("batch_jobs.id"))
summary_type = Column(String, default="full")
summary = Column(JSON, nullable=True)
provider = Column(String)
fallback_used = Column(Boolean, default=False)
fallback_reason = Column(String, nullable=True)
llm_latency = Column(Float, nullable=True)
estimated_token = Column(Integer, nullable=True)
input_tokens = Column(Integer, nullable=True)
thoughts_tokens = Column(Integer, nullable=True)
output_tokens = Column(Integer, nullable=True)
total_tokens = Column(Integer, nullable=True)
prompt_version = Column(String, default="v1")
error = Column(Text, nullable=True)
created_at = Column(DateTime, default = lambda: datetime.now(UTC))
__table_args__ = (UniqueConstraint("job_id", "summary_type", name="unique_job_summary_type"), )