Files
AiDA_Python/app/api/api_brand_dna.py

60 lines
1.9 KiB
Python
Raw Permalink Normal View History

2024-12-20 09:48:10 +08:00
import json
import logging
from fastapi import APIRouter, HTTPException
from app.schemas.brand_dna import BrandDnaModel, GenerateBrandModel
2024-12-20 09:48:10 +08:00
from app.schemas.response_template import ResponseModel
from app.service.brand_dna.service import BrandDna
from app.service.brand_dna.service_generate_brand_info import GenerateBrandInfo
2024-12-20 09:48:10 +08:00
router = APIRouter()
logger = logging.getLogger()
@router.post("/seg_product")
def seg_product(request_item: BrandDnaModel):
2024-12-20 09:48:10 +08:00
"""
创建一个具有以下参数的请求体:
- **image_url**: 提取图片url
- **is_brand_dna**: 是否提取属性
示例参数
{
"image_url": "aida-results/result_00006a48-e315-11ee-b7c8-b48351119060.png",
"is_brand_dna": false
2024-12-20 09:48:10 +08:00
}
"""
try:
logger.info(f"brand dna request item is : @@@@@@:{json.dumps(request_item.dict(),indent=4)}")
2024-12-20 09:48:10 +08:00
service = BrandDna(request_item)
result_url = service.get_result()
except Exception as e:
logger.warning(f"brand dna Run Exception @@@@@@:{e}")
raise HTTPException(status_code=404, detail=str(e))
return ResponseModel(data=result_url)
@router.post("/GenerateBrand")
def generate_brand(request_data: GenerateBrandModel):
"""
通过prompt 生成 brand name brand slogan , brand logo
创建一个具有以下参数的请求体:
- **prompt**:
示例参数
{
"prompt": "xiaomi",
"user_id": "89"
}
"""
try:
logger.info(f"GenerateBrand request item is : @@@@@@:{request_data}")
service = GenerateBrandInfo(request_data)
data = service.get_result()
logger.info(f"GenerateBrand response @@@@@@:{data}")
except Exception as e:
logger.warning(f"GenerateBrand Run Exception @@@@@@:{e}")
raise HTTPException(status_code=404, detail=str(e))
return ResponseModel(data=data)