| 123456789101112131415161718192021222324 |
- 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))
|