仪评指标联分析模块
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
from uuid import UUID
|
||||
|
||||
from fastapi import APIRouter, File, Form, Depends
|
||||
|
||||
import db.postgres as pg
|
||||
from config.security import get_user_id_from_token
|
||||
from llm.ticketLLM import *
|
||||
from models.BaseResponse import BaseResponse
|
||||
from models.ImageRequest import ImageRequest
|
||||
from service.vision import process_ticket_image
|
||||
from utils import MyUtils
|
||||
|
||||
visionRouter = APIRouter()
|
||||
|
||||
|
||||
# 测试接口,已经可以实现
|
||||
@visionRouter.post("/cocoonTicket")
|
||||
def cocoonTicket(data: ImageRequest, user_id: UUID = Depends(get_user_id_from_token)):
|
||||
if not user_id:
|
||||
return {"error": "userId is required"}
|
||||
try:
|
||||
json = get_ticket_response(data.image)
|
||||
return BaseResponse(data=json)
|
||||
except:
|
||||
return BaseResponse(status=False, message="unknown error", data=None)
|
||||
|
||||
|
||||
@visionRouter.post("/createTicketImageTask")
|
||||
async def createTicketImageTask(
|
||||
file: UploadFile = File(...),
|
||||
projectName: str = Form(...),
|
||||
user_id: UUID = Depends(get_user_id_from_token),
|
||||
):
|
||||
if not user_id:
|
||||
return {"error": "userId is required"}
|
||||
try:
|
||||
contents = await file.read()
|
||||
json_data = await MyUtils.async_task(
|
||||
process_ticket_image, contents, file.filename, projectName, user_id
|
||||
)
|
||||
return BaseResponse(data=json_data)
|
||||
except Exception as e:
|
||||
print(str(e))
|
||||
return BaseResponse(status=False, message=f"解析失败: {str(e)}", data=None)
|
||||
|
||||
|
||||
@visionRouter.get("/getTicketImageList")
|
||||
def cocoonTicket(user_id: UUID = Depends(get_user_id_from_token)):
|
||||
if not user_id:
|
||||
return {"error": "userId is required"}
|
||||
return BaseResponse(data=pg.get_ticket_image_list(user_id))
|
||||
Reference in New Issue
Block a user