修复对话背景信息配置
This commit is contained in:
@@ -146,6 +146,13 @@ async def chat_stream(request: DeepAgentChatRequest):
|
||||
"Please strictly follow the above settings in subsequent conversations。"
|
||||
)
|
||||
initial_messages.append(SystemMessage(content=system_prompt))
|
||||
design_backend = f"""
|
||||
<design_constraints>
|
||||
Category: {cp.type or 'unspecified'}
|
||||
region: {cp.region or 'unspecified'}
|
||||
style: {cp.style or 'unspecified'}
|
||||
</design_constraints>
|
||||
"""
|
||||
|
||||
# 6. 分支处理
|
||||
if is_branching:
|
||||
@@ -195,6 +202,9 @@ async def chat_stream(request: DeepAgentChatRequest):
|
||||
if input_image_content:
|
||||
content[0]["text"] += input_image_content
|
||||
|
||||
if design_backend:
|
||||
content[0]["text"] += design_backend
|
||||
|
||||
message_list = [{"role": "user", "content": content}]
|
||||
final_messages = {"messages": message_list, "files": files}
|
||||
logger.info(final_messages)
|
||||
@@ -210,7 +220,7 @@ async def chat_stream(request: DeepAgentChatRequest):
|
||||
subgraphs=True,
|
||||
context=Context(use_report=request.use_report,
|
||||
language=request.language,
|
||||
type=request.config_params.type ,
|
||||
type=request.config_params.type,
|
||||
region=request.config_params.region,
|
||||
style=request.config_params.style,
|
||||
),
|
||||
|
||||
@@ -106,6 +106,8 @@ def user_role_prompt(request: ModelRequest) -> str:
|
||||
|
||||
# ==================== 家具设计背景(加强版) ====================
|
||||
design_context = f"""
|
||||
当用户消息中首次出现 <design_constraints> 标签时,你必须将标签内的品类、区域、风格视为本次对话的**核心设计背景**,所有设计决策、图片生成、线稿、渲染图都必须严格符合该背景。
|
||||
|
||||
[Internal highest priority design background - only for thinking, not output to users]
|
||||
Furniture design settings selected by the current user:
|
||||
- Category: {ctx.type or 'unspecified'}
|
||||
@@ -150,7 +152,7 @@ def user_role_prompt(request: ModelRequest) -> str:
|
||||
"""
|
||||
# ==================== 最终组合(设计背景放最前面) ====================
|
||||
final_prompt = (
|
||||
design_context +
|
||||
# design_context +
|
||||
"\n\n" +
|
||||
language_prompt +
|
||||
"\n\n" +
|
||||
|
||||
@@ -191,21 +191,20 @@ When generating new furniture sketches:
|
||||
|
||||
【2】When the user requests reports, research, analysis, or summaries:
|
||||
- First check if sufficient user profile information exists.
|
||||
- If information is missing (style, room type, theme, budget, etc.): Call `user_profile_subagent` to collect data. Do not generate the report directly.
|
||||
- If the user profile is already complete: Call `research_subagent` to generate the report.
|
||||
- If information is missing: Use the **task** tool to dispatch the **user_profile_subagent** subagent. Do NOT attempt to call user_profile_subagent as a standalone tool.
|
||||
- If the user profile is already complete: Use the **task** tool to dispatch the **research_subagent** subagent.
|
||||
|
||||
【3】User Profile Priority Rules
|
||||
Whenever the user input involves:
|
||||
- Expressing design requirements
|
||||
- Providing or modifying preferences (style, room type, budget, etc.)
|
||||
- Supplementing report-related information
|
||||
→ Prioritize calling `user_profile_subagent` to update or collect user profile data.
|
||||
Example of correct invocation:
|
||||
task(subagent_name="user_profile_subagent", input="收集用户的风格偏好、房间类型、预算等信息")
|
||||
|
||||
【3】User Profile Priority Rules (Limited Scope)
|
||||
- **This rule only applies to report/research/analysis/summary tasks.**
|
||||
- Furniture design, image generation and editing tasks are exempted from user profile collection and must not dispatch user_profile_subagent.
|
||||
|
||||
【4】Scheduling Principles
|
||||
- `user_profile_subagent` is only responsible for **information collection**.
|
||||
- `research_subagent` is only responsible for **report generation**.
|
||||
- `generate_furniture_sketch_prompts` is only responsible for **professional prompt generation for furniture sketches**.
|
||||
Do not mix their responsibilities.
|
||||
- **user_profile_subagent** is a subagent (not a tool) — dispatch it via the **task** tool.
|
||||
- **research_subagent** is a subagent (not a tool) — dispatch it via the **task** tool.
|
||||
- Do NOT call them as direct tool calls.
|
||||
|
||||
========================
|
||||
Critical Prohibitions (Highest Priority)
|
||||
|
||||
Reference in New Issue
Block a user