aida agent (基础版)搭建完成
This commit is contained in:
47
app/api/api_fashion_agent.py
Normal file
47
app/api/api_fashion_agent.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import json
|
||||
import logging
|
||||
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from fastapi.responses import StreamingResponse
|
||||
|
||||
from app.schemas.fashion_agent import FashionAgentRequest
|
||||
from app.service.fashion_agent.service import FashionAgentService
|
||||
|
||||
router = APIRouter()
|
||||
logger = logging.getLogger()
|
||||
|
||||
|
||||
@router.post("/agent/stream")
|
||||
async def fashion_agent_stream(request_item: FashionAgentRequest):
|
||||
"""
|
||||
服装设计 Agent(流式输出)
|
||||
|
||||
- **message**: 用户输入的消息(必填)
|
||||
- **user_id**: 用户ID,默认 "agent"
|
||||
- **enable_thinking**: 是否开启思考模式
|
||||
- **call_print**: 是否直接调用 print 生成印花
|
||||
- **print_need_prompt_generation**: print 是否需要 LLM 生成 prompt
|
||||
- **call_logo**: 是否直接调用 logo 生成装饰图案
|
||||
- **call_sketch**: 是否直接调用 sketch 生成草图
|
||||
- **sketch_need_prompt_generation**: sketch 是否需要 LLM 生成 prompt
|
||||
- **call_design**: 是否直接调用 design 生成设计系列
|
||||
- **design_request_data**: design 请求参数(objects, process_id, requestId, callback_url)
|
||||
- **call_trending**: 是否直接调用 trending 趋势分析
|
||||
- **call_explor**: 是否直接调用 explorer 灵感探索
|
||||
- **provider**: 图片源 (pexels/unsplash),默认 unsplash
|
||||
|
||||
返回 SSE 事件流:
|
||||
- **tools** 事件:工具调用的 started/finished 状态
|
||||
- **custom** 事件:design 工具的逐个生成结果
|
||||
- **Done** 事件:流结束标记
|
||||
"""
|
||||
try:
|
||||
logger.info(f"fashion_agent stream request: {json.dumps(request_item.model_dump(), indent=4, ensure_ascii=False)}")
|
||||
service = FashionAgentService()
|
||||
return StreamingResponse(
|
||||
service.run_stream(request_item),
|
||||
media_type="text/event-stream",
|
||||
)
|
||||
except Exception as e:
|
||||
logger.warning(f"fashion_agent stream exception: {e}")
|
||||
raise HTTPException(status_code=500, detail=str(e))
|
||||
@@ -4,6 +4,7 @@ from app.api import api_brand_dna
|
||||
from app.api import api_clothing_seg
|
||||
from app.api import api_design
|
||||
from app.api import api_design_pre_processing
|
||||
from app.api import api_fashion_agent
|
||||
from app.api import api_generate_image
|
||||
from app.api import api_mannequins_edit
|
||||
from app.api import api_pose_transform
|
||||
@@ -28,6 +29,7 @@ router.include_router(api_mannequins_edit.router, tags=['api_mannequins_edit'],
|
||||
router.include_router(api_pose_transform.router, tags=['api_pose_transform'], prefix="/api")
|
||||
router.include_router(api_clothing_seg.router, tags=['api_clothing_seg'], prefix="/api")
|
||||
router.include_router(api_sketch_to_garment.router, tags=['sketch_to_garment'], prefix="/api")
|
||||
router.include_router(api_fashion_agent.router, tags=['fashion_agent'], prefix="/api")
|
||||
|
||||
"""停用"""
|
||||
# from app.api import api_chat_robot
|
||||
|
||||
Reference in New Issue
Block a user