彻底重构状态系统:整合所有旧状态到 MainGraphState,修复所有节点
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m35s
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m35s
This commit is contained in:
@@ -10,17 +10,9 @@ from app.main_graph.graph import add_messages
|
||||
from langchain_core.messages import BaseMessage
|
||||
|
||||
|
||||
# ========== 兼容旧代码的类型 ==========
|
||||
class MessagesState(TypedDict):
|
||||
"""旧的MessagesState类型(保留兼容性)"""
|
||||
messages: Annotated[Sequence[BaseMessage], add_messages]
|
||||
|
||||
|
||||
class GraphContext(TypedDict):
|
||||
"""旧的GraphContext类型(保留兼容性)"""
|
||||
llm_calls: int
|
||||
memory_context: str
|
||||
system_prompt: str
|
||||
# ========== 兼容性注释(旧代码已移除,状态已整合到 MainGraphState) ==========
|
||||
# 旧的 MessagesState 和 GraphContext 已完全整合到 MainGraphState
|
||||
# 不再需要单独的类型定义
|
||||
|
||||
|
||||
# ========== 新的类型 ==========
|
||||
@@ -57,49 +49,52 @@ class ErrorRecord:
|
||||
@dataclass
|
||||
class MainGraphState:
|
||||
"""
|
||||
主图状态 - React 循环推理版本
|
||||
主图状态 - 整合了旧 MessagesState 的所有字段
|
||||
|
||||
包含:
|
||||
1. 旧代码的MessagesState兼容性字段
|
||||
2. React 推理控制字段
|
||||
3. 循环和错误处理
|
||||
4. 子图结果占位
|
||||
5. 用户信息
|
||||
- 旧代码的 MessagesState 兼容性字段
|
||||
- React 推理控制字段
|
||||
- 循环和错误处理
|
||||
- 子图结果占位
|
||||
- 用户信息
|
||||
"""
|
||||
# ========== 兼容性字段(保留旧的MessagesState) ==========
|
||||
# ========== 旧 MessagesState 兼容性字段 ==========
|
||||
messages: Annotated[Sequence[BaseMessage], add_messages] = field(default_factory=list)
|
||||
llm_calls: int = 0
|
||||
memory_context: str = ""
|
||||
system_prompt: str = ""
|
||||
turns_since_last_summary: int = 0 # 新增:来自旧状态
|
||||
last_token_usage: Dict[str, Any] = field(default_factory=dict) # 新增:来自旧状态
|
||||
last_elapsed_time: float = 0.0 # 新增:来自旧状态
|
||||
|
||||
# ========== 主图控制字段 ==========
|
||||
user_query: str = "" # 用户当前查询
|
||||
current_action: CurrentAction = CurrentAction.NONE # 当前操作
|
||||
intent_confidence: float = 0.0 # 意图识别置信度
|
||||
user_query: str = ""
|
||||
current_action: CurrentAction = CurrentAction.NONE
|
||||
intent_confidence: float = 0.0
|
||||
|
||||
# ========== React 推理专用字段 ==========
|
||||
reasoning_step: int = 0 # 当前推理步数
|
||||
max_steps: int = 40 # 最大推理步数
|
||||
last_action: str = "" # 上一步动作
|
||||
reasoning_history: List[Dict[str, Any]] = field(default_factory=list) # 推理历史
|
||||
reasoning_step: int = 0
|
||||
max_steps: int = 40
|
||||
last_action: str = ""
|
||||
reasoning_history: List[Dict[str, Any]] = field(default_factory=list)
|
||||
|
||||
# ========== RAG 相关字段 ==========
|
||||
rag_context: str = "" # RAG 检索到的上下文
|
||||
rag_retrieved: bool = False # 是否已经检索过
|
||||
rag_docs: List[Dict[str, Any]] = field(default_factory=list) # 检索到的文档
|
||||
rag_context: str = ""
|
||||
rag_retrieved: bool = False
|
||||
rag_docs: List[Dict[str, Any]] = field(default_factory=list)
|
||||
|
||||
# ========== 联网搜索相关字段 ⭐ 新增 ==========
|
||||
web_search_results: List[str] = field(default_factory=list) # 联网搜索结果
|
||||
# ========== 联网搜索相关字段 ==========
|
||||
web_search_results: List[str] = field(default_factory=list)
|
||||
|
||||
# ========== 错误处理字段 ==========
|
||||
errors: List[ErrorRecord] = field(default_factory=list) # 错误列表
|
||||
current_error: Optional[ErrorRecord] = None # 当前错误
|
||||
retry_action: Optional[str] = None # 重试动作
|
||||
errors: List[ErrorRecord] = field(default_factory=list)
|
||||
current_error: Optional[ErrorRecord] = None
|
||||
retry_action: Optional[str] = None
|
||||
|
||||
# ========== 子图结果占位 ==========
|
||||
news_result: Optional[Dict[str, Any]] = None # 资讯子图结果
|
||||
dictionary_result: Optional[Dict[str, Any]] = None # 词典子图结果
|
||||
contact_result: Optional[Dict[str, Any]] = None # 通讯录子图结果
|
||||
news_result: Optional[Dict[str, Any]] = None
|
||||
dictionary_result: Optional[Dict[str, Any]] = None
|
||||
contact_result: Optional[Dict[str, Any]] = None
|
||||
|
||||
# ========== 用户信息 ==========
|
||||
user_id: str = ""
|
||||
|
||||
Reference in New Issue
Block a user