from sqlalchemy.orm import Session from models_db import Generation def save_generation( db: Session, prompt: str, generated_text: str, temperature: float, top_p: float, max_new_tokens: int, response_time_ms: float, ) -> Generation: record = Generation( prompt=prompt, generated_text=generated_text, temperature=temperature, top_p=top_p, max_new_tokens=max_new_tokens, response_time_ms=response_time_ms, ) db.add(record) db.commit() db.refresh(record) return record def get_all_generations(db: Session, limit: int = 50) -> list[Generation]: return ( db.query(Generation) .order_by(Generation.created_at.desc()) .limit(limit) .all() ) def get_generation_by_id(db: Session, generation_id: int) -> Generation | None: return db.query(Generation).filter(Generation.id == generation_id).first() def delete_generation(db: Session, generation_id: int) -> bool: record = get_generation_by_id(db, generation_id) if not record: return False db.delete(record) db.commit() return True