from fastapi import APIRouter, Depends from fastapi.responses import StreamingResponse from pydantic import BaseModel, Field from app.core.security import get_current_user router = APIRouter(prefix="/exam/qa", tags=["学习-答疑"]) class ExamQARequest(BaseModel): question: str = Field(..., min_length=1, max_length=2000) subject: str = Field(default="", description="科目过滤") @router.post("/ask") async def exam_ask( req: ExamQARequest, user: dict = Depends(get_current_user), ): return {"answer": "待考试知识库构建后可用", "sources": []} @router.post("/stream") async def exam_stream( req: ExamQARequest, user: dict = Depends(get_current_user), ): async def stream_gen(): yield "data: 待考试知识库构建后可用\n\n" yield "data: [DONE]\n\n" return StreamingResponse(stream_gen(), media_type="text/event-stream")