AI_tutor / app /models.py
vishalshelke's picture
Upload 15 files
1d95600 verified
raw
history blame contribute delete
933 Bytes
from pydantic import BaseModel
from typing import List, Optional, Dict, Any
from datetime import datetime
class ChatMessage(BaseModel):
role: str # "user" or "assistant"
content: str
timestamp: datetime = datetime.now()
class ChatSession(BaseModel):
session_id: str
messages: List[ChatMessage] = []
pdf_content: Optional[str] = None
lecture_content: Optional[str] = None
created_at: datetime = datetime.now()
class LectureRequest(BaseModel):
pdf_content: str
style: str = "academic" # academic, casual, detailed
include_examples: bool = True
class LectureResponse(BaseModel):
title: str
content: str
sections: List[Dict[str, Any]]
word_count: int
estimated_duration: int # in minutes
class ProcessingStatus(BaseModel):
status: str # "processing", "completed", "error"
progress: int # 0-100
message: str
result: Optional[Dict[str, Any]] = None