feat generate slogan | to product image | slogan 接口部署

This commit is contained in:
zhouchengrong
2024-05-30 15:01:39 +08:00
parent 1f47d94431
commit 401b76bd95
11 changed files with 280 additions and 174 deletions

View File

@@ -1,11 +1,15 @@
import logging
from fastapi import APIRouter, BackgroundTasks
from app.schemas.generate_image import GenerateImageModel
from app.service.generate_image.service import GenerateImage, infer_cancel
from app.schemas.generate_image import GenerateImageModel, GenerateProductImageModel, GenerateSingleLogoImageModel
from app.service.generate_image.service_generate_image import GenerateImage, infer_cancel as generate_image_infer_cancel
from app.service.generate_image.service_generate_product_image import GenerateProductImage, infer_cancel as generate_product_image_cancel
from app.service.generate_image.service_generate_single_logo import GenerateSingleLogoImage, infer_cancel as generate_single_logo_cancel
router = APIRouter()
logger = logging.getLogger()
'''generate image'''
@router.post("/generate_image")
def generate_image(request_item: GenerateImageModel, background_tasks: BackgroundTasks):
@@ -24,5 +28,53 @@ def generate_image(request_item: GenerateImageModel, background_tasks: Backgroun
@router.get("/generate_cancel/{tasks_id}>")
def generate_image(tasks_id):
result = infer_cancel(tasks_id)
result = generate_image_infer_cancel(tasks_id)
return {"code": 200, "message": result['message'], "data": result['data']}
'''single logo'''
@router.post("/generate_single_logo")
def generate_single_logo(request_item: GenerateSingleLogoImageModel, background_tasks: BackgroundTasks):
try:
logger.info(f"request data ### : {request_item}")
service = GenerateSingleLogoImage(request_item)
background_tasks.add_task(service.get_result)
code = 200
message = "access"
except Exception as e:
code = 400
message = e
logger.warning(e)
return {"code": code, "message": message}
@router.get("/generate_single_logo_cancel/{tasks_id}>")
def generate_single_logo_image(tasks_id):
result = generate_single_logo_cancel(tasks_id)
return {"code": 200, "message": result['message'], "data": result['data']}
'''product image'''
@router.post("/generate_product_image")
def generate_product_image(request_item: GenerateProductImageModel, background_tasks: BackgroundTasks):
try:
logger.info(f"request data ### : {request_item}")
service = GenerateProductImage(request_item)
background_tasks.add_task(service.get_result)
code = 200
message = "access"
except Exception as e:
code = 400
message = e
logger.warning(e)
return {"code": code, "message": message}
@router.get("/generate_product_image_cancel_cancel/{tasks_id}>")
def generate_single_logo_image(tasks_id):
result = generate_product_image_cancel(tasks_id)
return {"code": 200, "message": result['message'], "data": result['data']}

View File

@@ -8,6 +8,7 @@ from app.api import api_design
from app.api import api_chat_robot
from app.api import api_prompt_generation
from app.api import api_design_pre_processing
from app.api import api_slogan
router = APIRouter()
@@ -20,3 +21,4 @@ router.include_router(api_design.router, tags=['design'], prefix="/api")
router.include_router(api_chat_robot.router, tags=['chat_robot'], prefix="/api")
router.include_router(api_prompt_generation.router, tags=['prompt_generation'], prefix="/api")
router.include_router(api_design_pre_processing.router, tags=['design_pre_processing'], prefix="/api")
router.include_router(api_slogan.router, tags=['slogan'], prefix="/api")

24
app/api/api_slogan.py Normal file
View File

@@ -0,0 +1,24 @@
import logging
import time
from fastapi import APIRouter, BackgroundTasks
from app.schemas.slogan import SloganModel
from app.service.slogan.service import Slogan
router = APIRouter()
logger = logging.getLogger()
@router.post("/slogan")
def slogan(request_item: SloganModel, background_tasks: BackgroundTasks):
try:
logger.info(f"request data ### : {request_item}")
service = Slogan(request_item)
background_tasks.add_task(service.get_result)
code = 200
message = "access"
except Exception as e:
code = 400
message = e
logger.warning(e)
return {"code": code, "message": message}