Files
FiDA_Python/src/server/agent/state.py

16 lines
824 B
Python
Raw Normal View History

2026-02-04 17:57:49 +08:00
import operator
2026-03-11 21:45:46 +08:00
from typing import Annotated, Sequence, TypedDict, Union, Optional, Dict, Any
2026-02-04 17:57:49 +08:00
from langchain_core.messages import BaseMessage
2026-03-03 17:33:51 +08:00
2026-02-04 17:57:49 +08:00
class AgentState(TypedDict):
# messages 存储完整的对话历史operator.add 表示新消息是追加而不是覆盖
messages: Annotated[Sequence[BaseMessage], operator.add]
# next 存储 Supervisor 决定的下一步是谁
2026-02-06 14:51:25 +08:00
next: str
2026-03-11 21:45:46 +08:00
persona: Dict[str, Any] # 存储提取出的结构化画像,例如 {"风格偏好": "北欧", "预算": "8000-12000", ...}
persona_summary: str # 可选LLM 对当前画像的自然语言总结,便于 prompt 使用
persona_complete: bool # Supervisor 用这个判断是否能去 Researcher
2026-03-03 17:33:51 +08:00
require_suggestion: bool # 是否需要建议按钮
2026-03-11 21:45:46 +08:00
__end__: bool # 新增这个字段,默认 False