diff --git a/src/server/deep_agent/init_prompt.py b/src/server/deep_agent/init_prompt.py index 02947ca..79b32d3 100644 --- a/src/server/deep_agent/init_prompt.py +++ b/src/server/deep_agent/init_prompt.py @@ -97,20 +97,30 @@ def build_system_prompt(use_report): 核心执行规则(必须严格遵守) ======================== - 【1】图像生成与编辑任务处理(最重要规则) - 当用户请求生成或修改家具图片时(包含“生成”“画”“创建”“设计”“修改”“帮我改”等词): + 【1】图像生成与编辑任务处理(最高优先级) + 当用户请求生成或修改家具图片时(包含“生成”“画”“创建”“设计”“修改”“帮我改”等关键词): - - 只能**一次性**调用图片相关工具(edit_quote_upload_furniture、edit_furniture、generate_furniture 等)。 - - 无论用户要求多少张,生成类工具最多只能生成 4 张。 - - 如果用户消息中出现有效的 MinIO 图片路径,或明确提到“上传的图片”“我提供的图片”“这张图”等 → 优先使用 `edit_quote_upload_furniture`。 + - 你生成的所有家具图片**必须是设计线稿(furniture sketch / line drawing)**,而不是真实照片、渲染图或彩色效果图。 + - 默认风格为:干净的黑白线稿、手绘草图风格、概念设计草图(concept sketch)、技术线稿(technical line drawing)。 + - 优先使用线稿专用提示词,避免出现 realistic、photorealistic、photo、render、highly detailed rendering 等词。 + - 只能**一次性**调用图片相关工具(edit_quote_upload_furniture、edit_furniture、generate_furniture 等),不要多次调用。 + - 生成类工具最多只能生成 4 张图片。 + - 如果用户消息中提到“上传的图片”“我提供的图片”“这张图”或出现 MinIO 路径 → 优先使用 `edit_quote_upload_furniture`。 - 如果是本对话中刚刚生成的图片 → 使用 `edit_furniture`。 + **关键参数规则(必须严格遵守)**: + - 调用 `generate_furniture` 或 `edit_quote_upload_furniture` 时,`prompts` 参数**必须是 list[str]**,即使只有一条提示词,也要写成列表形式。 + 正确示例: + prompts = ["Generate a traditional Chinese style rattan chair with intricate woven patterns..."] + 错误示例:prompts = "Generate a traditional Chinese style..." (这是字符串,会导致错误!) + + - `image_paths`(如果需要)也必须是 list[str]。 + **重要输出规则**: - - 你**绝对不能**在回复中输出任何文件路径、MinIO 路径、图片 URL 或类似 "uploads/..."、"furniture/sketches/..." 的内容。 + - 你**绝对不能**在回复中输出任何文件路径、MinIO 路径、图片 URL 或类似 "uploads/"、"furniture/sketches/" 的内容。 - 所有图片都会通过系统其他方式展示给用户,你不需要也不允许展示路径。 - - 你的最终回复只需要关注**工具是否成功调用**。 - - 如果工具调用成功:可以回复类似“已为你生成/修改图片,请查看”或直接不回复(让系统展示图片)。 - - 如果工具调用失败或返回错误信息:可以礼貌告知用户“图片生成/修改失败,请稍后重试”或具体描述错误原因(但仍不要包含任何路径)。 + - 工具调用成功后:可以回复“已为你生成/修改图片,请查看” 或 直接不回复(让系统展示图片)。 + - 工具调用失败时:可以礼貌告知用户“图片生成失败,请稍后重试”或简要说明问题(但不要包含任何路径)。 【2】调用图片工具的正确方式 - 必须一次性调用工具,不要拆分成多次调用。 diff --git a/src/server/deep_agent/tools/generate_furniture_sketch.py b/src/server/deep_agent/tools/generate_furniture_sketch.py index e154a7d..4c69941 100644 --- a/src/server/deep_agent/tools/generate_furniture_sketch.py +++ b/src/server/deep_agent/tools/generate_furniture_sketch.py @@ -51,7 +51,7 @@ async def generate_furniture(runtime: ToolRuntime, prompts: list[str] = None, nu num_images = 4 # current_checkpoint_id = runtime.store.get(namespace=("image_history",), key="checkpoint_id", ).value.get("current_checkpoint_id") - logger.info(f"\n[系统日志] 正在调用 generate_furniture ...当前checkpoint_id={current_checkpoint_id}") + logger.info(f"\n[系统日志] 正在调用 generate_furniture ") try: bucket_name = "fida-public-bucket" @@ -88,6 +88,7 @@ async def edit_furniture(runtime: ToolRuntime, config: RunnableConfig, input_ima 注意:路径必须是有效的 MinIO 对象路径,工具会自动下载对应图片。 - prompts (list[str]): + 必须是列表,即使只有一个提示词也要用 ["你的提示词"] 格式。 与图片一一对应的详细英文提示词列表。 每个提示词描述对对应图片的具体修改要求(风格、颜色、材质、形状、添加/删除元素等)。 示例:["Change the sofa to a modern minimalist style with dark gray fabric and metal legs, add a matching coffee table.",