from fastapi import APIRouter from app.models.article_quiz import ArticleQuizRequest, ArticleQuizResponse from app.graphs.article_quiz_graph import ArticleQuizAgent import logging logger = logging.getLogger(__name__) router = APIRouter(prefix="/api/v1", tags=["article_quiz"]) _agent = None def get_agent() -> ArticleQuizAgent: global _agent if _agent is None: _agent = ArticleQuizAgent() return _agent @router.post("/article/quiz/generate", response_model=ArticleQuizResponse) async def generate_article_quiz(req: ArticleQuizRequest): agent = get_agent() result = await agent.run(req.article_title, req.article_content, req.profile_summary) return ArticleQuizResponse(questions=result.get("questions", []), fallback_used=result.get("fallback_used", True))