From 9ba3a0ca493e290950def23b0cb5553647c7c1c3 Mon Sep 17 00:00:00 2001 From: zcr Date: Thu, 8 Jan 2026 17:33:54 +0800 Subject: [PATCH] =?UTF-8?q?feat=20:=20=E6=96=B0=E5=A2=9Eseg=20anything=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/api_design.py | 14 +++++++++++++- app/schemas/design.py | 6 ++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/api/api_design.py b/app/api/api_design.py index 407ce34..853b6d8 100644 --- a/app/api/api_design.py +++ b/app/api/api_design.py @@ -1,9 +1,10 @@ import json import logging +import requests from fastapi import APIRouter, HTTPException, BackgroundTasks -from app.schemas.design import DesignModel, ModelProgressModel, DesignStreamModel +from app.schemas.design import DesignModel, ModelProgressModel, DesignStreamModel, SAMRequestModel from app.schemas.response_template import ResponseModel from app.service.design_fast.design_generate import design_generate, design_generate_v2 from app.service.design_fast.model_process_service import model_transpose @@ -373,6 +374,17 @@ async def design_v2(request_data: DesignStreamModel, background_tasks: Backgroun return ResponseModel() +@router.post("/seg_anything") +async def seg_anything(request_data: SAMRequestModel): + try: + logger.info(f"seg_anything request item is : @@@@@@:{json.dumps(request_data.dict(), indent=4)}") + data = requests.post("http://10.1.1.240:10075/predict", json=request_data.dict()) + logger.info(f"seg_anything response @@@@@@:{json.dumps(json.loads(data.content), indent=4)}") + return ResponseModel(data=json.loads(data.content)) + except Exception as e: + logger.warning(f"seg_anything Run Exception @@@@@@:{e}") + + # @router.post('/get_progress') # def get_progress(request_data: DesignProgressModel): # """ diff --git a/app/schemas/design.py b/app/schemas/design.py index 3fb6de7..103d8dd 100644 --- a/app/schemas/design.py +++ b/app/schemas/design.py @@ -1,6 +1,12 @@ from pydantic import BaseModel +class SAMRequestModel(BaseModel): + image_path: str + points: list[list[float]] + labels: list[int] + + class DesignModel(BaseModel): objects: list[dict] process_id: str