45 lines
1.8 KiB
Python
45 lines
1.8 KiB
Python
import json
|
|
import logging
|
|
import os
|
|
|
|
from fastapi import APIRouter, HTTPException
|
|
|
|
from app.schemas.attribute_retrieve import *
|
|
from app.schemas.response_template import ResponseModel
|
|
from app.service.attribute.config import const
|
|
from app.service.attribute.service_att_recognition import AttributeRecognition
|
|
from app.service.attribute.service_category_recognition import CategoryRecognition
|
|
|
|
router = APIRouter()
|
|
logger = logging.getLogger()
|
|
|
|
|
|
# 属性识别
|
|
@router.post("/attribute_recognition", response_model=ResponseModel)
|
|
def attribute_recognition(request_item: list[AttributeRecognitionModel]):
|
|
try:
|
|
logger.info(f"attribute_recognition request item is : @@@@@@:{request_item}")
|
|
logger.info(const.top_description_list)
|
|
logger.info(os.getcwd())
|
|
service = AttributeRecognition(const=const, request_data=request_item)
|
|
data = service.get_result()
|
|
logger.info(f"attribute_recognition response @@@@@@:{json.dumps(data, indent=4)}")
|
|
except Exception as e:
|
|
logger.warning(f"attribute_recognition Run Exception @@@@@@:{e}")
|
|
raise HTTPException(status_code=404, detail=str(e))
|
|
return ResponseModel(data=data)
|
|
|
|
|
|
# 类别识别
|
|
@router.post("/category_recognition")
|
|
def category_recognition(request_item: list[CategoryRecognitionModel]):
|
|
try:
|
|
logger.info(f"category_recognition request item is : @@@@@@:{request_item}")
|
|
service = CategoryRecognition(request_data=request_item)
|
|
data = service.get_result()
|
|
logger.info(f"category_recognition response @@@@@@:{json.dumps(data, indent=4)}")
|
|
except Exception as e:
|
|
logger.warning(f"category_recognition Run Exception @@@@@@:{e}")
|
|
raise HTTPException(status_code=404, detail=str(e))
|
|
return ResponseModel(data=data)
|