from pyexpat import model from typing import Annotated from fastapi import FastAPI, Depends from .utils.authentication import verify_token from .utils.payload_model import SingleInferencePayload, VideoInferencePayload from .utils.qwen_inference import Qwen2_5 import os from dotenv import load_dotenv load_dotenv() model_path = os.getenv("MODEL_PATH") model_object = Qwen2_5(model_path) app = FastAPI() @app.get("/") def greet_json(): return { "message": "Welcome! The backend API for Qwen2.5-VL-3B-Instruct model is running.", "status": "active" } @app.post("/single_inference") def single_inference(payload: SingleInferencePayload, _token: Annotated[dict, Depends(verify_token)]): return model_object.get_single_inference(payload) @app.post("/video_inference") def video_inference(payload: VideoInferencePayload, _token: Annotated[dict, Depends(verify_token)]): return model_object.get_video_inference(payload)