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