2024-12-20 09:48:10 +08:00
|
|
|
|
import json
|
|
|
|
|
|
import logging
|
|
|
|
|
|
|
|
|
|
|
|
from fastapi import APIRouter, HTTPException
|
|
|
|
|
|
|
2025-03-25 15:55:52 +08:00
|
|
|
|
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
|
2025-03-25 15:55:52 +08:00
|
|
|
|
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")
|
2025-03-25 15:55:52 +08:00
|
|
|
|
def seg_product(request_item: BrandDnaModel):
|
2024-12-20 09:48:10 +08:00
|
|
|
|
"""
|
|
|
|
|
|
创建一个具有以下参数的请求体:
|
|
|
|
|
|
- **image_url**: 提取图片url
|
|
|
|
|
|
- **is_brand_dna**: 是否提取属性
|
|
|
|
|
|
|
|
|
|
|
|
示例参数:
|
|
|
|
|
|
{
|
2025-03-24 15:24:54 +08:00
|
|
|
|
"image_url": "aida-results/result_00006a48-e315-11ee-b7c8-b48351119060.png",
|
|
|
|
|
|
"is_brand_dna": false
|
2024-12-20 09:48:10 +08:00
|
|
|
|
}
|
|
|
|
|
|
"""
|
|
|
|
|
|
try:
|
2025-12-30 16:49:08 +08:00
|
|
|
|
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)
|
2025-03-25 15:55:52 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/GenerateBrand")
|
2025-12-30 16:49:08 +08:00
|
|
|
|
def generate_brand(request_data: GenerateBrandModel):
|
2025-03-25 15:55:52 +08:00
|
|
|
|
"""
|
|
|
|
|
|
通过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)
|