from fastapi import APIRouter, Depends from app.clients.llm.base import LLMClient from app.clients.storage.base import StorageClient from app.core.dependencies import get_llm_client, get_storage_client from app.models.qa_models import ( GenImageQARequest, GenTextQARequest, ImageQAResponse, TextQAResponse, ) from app.services import qa_service router = APIRouter(tags=["QA"]) @router.post("/qa/gen-text", response_model=TextQAResponse) async def gen_text_qa( req: GenTextQARequest, llm: LLMClient = Depends(get_llm_client), ) -> TextQAResponse: return await qa_service.gen_text_qa(req, llm) @router.post("/qa/gen-image", response_model=ImageQAResponse) async def gen_image_qa( req: GenImageQARequest, llm: LLMClient = Depends(get_llm_client), storage: StorageClient = Depends(get_storage_client), ) -> ImageQAResponse: return await qa_service.gen_image_qa(req, llm, storage)