feat 增加推荐对话可控参数
This commit is contained in:
@@ -18,7 +18,7 @@ from langgraph.checkpoint.mongodb import MongoDBSaver
|
||||
# 定义路由的输出结构,强制 LLM 选择一个
|
||||
class RouteResponse(BaseModel):
|
||||
# 将 FINISH 替换或增加 Suggester
|
||||
next: Literal["Designer", "Researcher", "Visualizer", "Suggester"]
|
||||
next: Literal["Designer", "Researcher", "Visualizer", "Suggester", "FINISH"]
|
||||
|
||||
|
||||
creds = service_account.Credentials.from_service_account_file(
|
||||
@@ -42,7 +42,13 @@ def supervisor_node(state: AgentState):
|
||||
# --- 拦截逻辑修改 ---
|
||||
# 如果专家已经回复完了(AIMessage 且无工具调用),则交给 Suggester 生成按钮
|
||||
if isinstance(last_message, AIMessage) and not last_message.tool_calls:
|
||||
return {"next": "Suggester"}
|
||||
should_go_to_suggester = state.get("require_suggestion", False)
|
||||
|
||||
# 如果符合建议条件
|
||||
if should_go_to_suggester:
|
||||
return {"next": "Suggester"}
|
||||
else:
|
||||
return {"next": "FINISH"}
|
||||
|
||||
system_prompt = """你是家具设计主管。分配任务给专家:
|
||||
- Designer: 设计建议、参数细化。
|
||||
@@ -74,7 +80,8 @@ workflow.add_conditional_edges(
|
||||
"Designer": "Designer",
|
||||
"Researcher": "Researcher",
|
||||
"Visualizer": "Visualizer",
|
||||
"Suggester": "Suggester" # 原本的 FINISH 现在指向 Suggester
|
||||
"Suggester": "Suggester", # 原本的 FINISH 现在指向 Suggester
|
||||
"FINISH": END # 直接结束,不给建议
|
||||
}
|
||||
)
|
||||
|
||||
@@ -82,8 +89,7 @@ workflow.add_conditional_edges(
|
||||
workflow.add_edge("Designer", "Supervisor")
|
||||
workflow.add_edge("Researcher", "Supervisor")
|
||||
workflow.add_edge("Visualizer", "Supervisor")
|
||||
|
||||
# 重点:Suggester 是整个流程的终点
|
||||
# 重点:Suggester 可以是整个流程的终点
|
||||
workflow.add_edge("Suggester", END)
|
||||
|
||||
client = MongoClient(MONGO_URI)
|
||||
|
||||
Reference in New Issue
Block a user