Files
ailine/backend/app/main_graph/state.py
root 22fdb625a4
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m36s
feat: 完成极简 LangGraph 架构迁移,添加 Baosi API 支持
主要变更:
- 迁移到极简 LangGraph 标准架构(START → init_state → 记忆 → Agent ⇄ Tools → finalize → END)
- 添加 Baosi API 支持,配置 ops4.7 模型
- 保留本地模型作为默认首选,Baosi 作为备选
- 新架构使用 LangGraph 原生 ToolNode 和 bind_tools
- 移除旧的混合路由、JSON 解析等复杂逻辑
- 把旧代码移到 deprecated/ 目录
- 添加新的 Agent 节点和 Tools 模块
- 添加测试脚本验证新架构
- 所有测试通过 ✓
2026-05-07 00:48:17 +08:00

38 lines
1.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
极简 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