Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m36s
主要变更: - 迁移到极简 LangGraph 标准架构(START → init_state → 记忆 → Agent ⇄ Tools → finalize → END) - 添加 Baosi API 支持,配置 ops4.7 模型 - 保留本地模型作为默认首选,Baosi 作为备选 - 新架构使用 LangGraph 原生 ToolNode 和 bind_tools - 移除旧的混合路由、JSON 解析等复杂逻辑 - 把旧代码移到 deprecated/ 目录 - 添加新的 Agent 节点和 Tools 模块 - 添加测试脚本验证新架构 - 所有测试通过 ✓
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
"""
|
||
极简 Agent 状态定义 - 只保留真正需要的字段
|
||
|
||
保留的核心字段:
|
||
- messages: 对话历史(LangGraph 必需)
|
||
- user_id: 用户标识
|
||
- 记忆相关:turns_since_last_summary, memory_context
|
||
- 安全限制:current_step, max_steps
|
||
- 统计:llm_calls, last_token_usage, last_elapsed_time
|
||
"""
|
||
|
||
from typing import Annotated, Sequence, Optional, Dict, Any
|
||
from dataclasses import dataclass, field
|
||
from langgraph.graph import add_messages
|
||
from langchain_core.messages import BaseMessage
|
||
|
||
|
||
@dataclass
|
||
class AgentState:
|
||
"""Agent 状态"""
|
||
|
||
# ========== 核心持久化字段(必需) ==========
|
||
messages: Annotated[Sequence[BaseMessage], add_messages] = field(default_factory=list)
|
||
user_id: str = ""
|
||
|
||
# ========== 安全限制字段(防止无限循环) ==========
|
||
max_steps: int = 10
|
||
current_step: int = 0
|
||
|
||
# ========== 记忆相关字段(保留) ==========
|
||
turns_since_last_summary: int = 0
|
||
memory_context: str = ""
|
||
|
||
# ========== 统计字段(保留) ==========
|
||
llm_calls: int = 0
|
||
last_token_usage: Dict[str, Any] = field(default_factory=dict)
|
||
last_elapsed_time: float = 0.0
|