add omniparse is ready endpoint

This commit is contained in:
Thomas Dhome-Casanova
2025-01-27 22:40:37 -08:00
parent 72040b9ded
commit cda4795270

View File

@@ -3,14 +3,15 @@
import sys import sys
import os import os
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
import time
from utils import get_som_labeled_img, get_caption_model_processor, get_yolo_model, check_ocr_box from utils import get_som_labeled_img, get_caption_model_processor, get_yolo_model, check_ocr_box
import torch import torch
from PIL import Image from PIL import Image
from typing import Dict, Tuple, List from typing import Dict, Tuple, List
import base64 import base64
import io import io
from fastapi import FastAPI
from pydantic import BaseModel
config = { config = {
'som_model_path': '../weights/icon_detect_v1_5/model_v1_5.pt', 'som_model_path': '../weights/icon_detect_v1_5/model_v1_5.pt',
@@ -51,8 +52,7 @@ class Omniparser(object):
return dino_labled_img, parsed_content_list return dino_labled_img, parsed_content_list
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI() app = FastAPI()
@@ -65,9 +65,13 @@ Omniparser = Omniparser(config)
@app.post("/send_text/") @app.post("/send_text/")
async def send_text(item: Item): async def send_text(item: Item):
print('start parsing...') print('start parsing...')
import time
start = time.time() start = time.time()
dino_labled_img, parsed_content_list = Omniparser.parse(item.base64_image) dino_labled_img, parsed_content_list = Omniparser.parse(item.base64_image)
latency = time.time() - start latency = time.time() - start
print('time:', latency) print('time:', latency)
return {"som_image_base64": dino_labled_img, "parsed_content_list": parsed_content_list, 'latency': latency} return {"som_image_base64": dino_labled_img, "parsed_content_list": parsed_content_list, 'latency': latency}
@app.get("/")
async def root():
return {"message": "Omniparser API ready"}