From 42f322ec34efa1135e923c0e1f56bc126425b4db Mon Sep 17 00:00:00 2001 From: zcr Date: Fri, 20 Mar 2026 17:39:51 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E8=A7=86=E8=A7=89=E8=83=BD?= =?UTF-8?q?=E5=8A=9B=202.=E6=96=B0=E5=A2=9E=E5=AF=B9=E4=B8=8A=E6=AC=A1?= =?UTF-8?q?=E5=9B=BE=E7=89=87=20=E6=88=96=20=E4=B8=8A=E4=BC=A0=E5=9B=BE?= =?UTF-8?q?=E7=89=87=20=E5=BC=95=E7=94=A8=E5=9B=BE=E7=89=87=E5=81=9A?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E8=83=BD=E5=8A=9B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routers/deep_agent_chat.py | 20 ++++++++++++++++++-- src/schemas/deep_agent_chat.py | 2 +- src/server/deep_agent/init_prompt.py | 3 ++- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/routers/deep_agent_chat.py b/src/routers/deep_agent_chat.py index e4881f9..8c3cc7f 100644 --- a/src/routers/deep_agent_chat.py +++ b/src/routers/deep_agent_chat.py @@ -39,6 +39,8 @@ async def chat_stream(request: DeepAgentChatRequest): #### 2. 请求参数 * `message`: 用户的设计意图(如:'我想设计一个极简风格的橡木办公桌')。 + * `quote_image_path`: 用户引用图片地址 如:'["fida-test/furniture/sketches/8a1804d1-5ac9-4d02-bf17-e65fa7272f65.png"]')。 + * `input_image_paths`: 用户上传图片地址集合如:('["fida-test/furniture/sketches/8a1804d1-5ac9-4d02-bf17-e65fa7272f65.png"]')。 * `thread_id`: (可选) 现有项目的唯一标识。若不传,系统将自动分配并返回。 * `checkpoint_id`: (可选) 历史快照 ID。 * `config_params`: (可选) 对话配置参数 @@ -70,6 +72,20 @@ async def chat_stream(request: DeepAgentChatRequest): "thread_id": "187e58af", "checkpoint_id": "1f101aa2-8f24-6e2a-8001-2952c3a7447a" } + 用户上传: + { + "message": "合并两张图一边一半,左右拼", + "input_image_paths": [ + "fida-test/furniture/sketches/218adbd2-c312-4298-9a82-5a92601ac9e2.png", + "fida-test/furniture/sketches/8a1804d1-5ac9-4d02-bf17-e65fa7272f65.png" + ] + } + 用户引用: + { + "message": "描述这张图", + "quote_image_path":"fida-test/furniture/sketches/218adbd2-c312-4298-9a82-5a92601ac9e2.png" + } + ``` ### 5. 响应流说明 @@ -140,8 +156,8 @@ async def chat_stream(request: DeepAgentChatRequest): "current_image": "" } # 用户上传图片 - if request.input_image_path: - for path in request.input_image_path: + if request.input_image_paths: + for path in request.input_image_paths: bucket, object_name = path.split('/', 1) image_url = get_presigned_url(oss_client=minio_client, bucket=bucket, object_name=object_name) content.append({"type": "image_url", "image_url": {"url": image_url}}) diff --git a/src/schemas/deep_agent_chat.py b/src/schemas/deep_agent_chat.py index da9d978..3dd6141 100644 --- a/src/schemas/deep_agent_chat.py +++ b/src/schemas/deep_agent_chat.py @@ -12,7 +12,7 @@ class AgentConfig(BaseModel): class DeepAgentChatRequest(BaseModel): message: str = Field(..., description="用户的输入指令") quote_image_path: Optional[str] = Field(None, description="引用图片地址") # ✅ 新增 - input_image_path: Optional[list[str]] = Field(None, description="上传图片地址集合") # ✅ 新增 + input_image_paths: Optional[list[str]] = Field(None, description="上传图片地址集合") # ✅ 新增 thread_id: Optional[str] = Field(None, description="会话线程ID,不传则开启新会话") checkpoint_id: Optional[str] = Field(None, description="回溯点的ID,用于从历史点开启新对话") config_params: Optional[AgentConfig] = None diff --git a/src/server/deep_agent/init_prompt.py b/src/server/deep_agent/init_prompt.py index 493bb52..61669a4 100644 --- a/src/server/deep_agent/init_prompt.py +++ b/src/server/deep_agent/init_prompt.py @@ -71,8 +71,9 @@ def build_painter_prompt(): ### ✅ 1. 编辑类(必须使用 edit_furniture) 当用户输入包含以下语义时: - - 修改 / 改成 / 换成 / 调整 / 优化 / 变成 / 改颜色 / 改样式 + - 修改 / 改成 / 换成 / 调整 / 优化 / 变成 / 改颜色 / 改样式 / 拼接 - 或任何“基于已有图片做改变”的表达 + - 或任何“基于多张图片做合并提取”的表达 👉 必须使用: edit_furniture