feat: Agent 批量测试、作业助手与上传预览;Windows 启动脚本与文档- 新增 run_agent_test_cases 与示例 JSON、(红头)agent测试用例文档
- 扩展 test_agent_execution(--homework、UTF-8 控制台) - 后端:uploads 预览、file_read、工作流与对话落盘等 - 前端:AgentChatPreview 与设计器相关调整 - 忽略 redis二进制、agent_workspaces、uploads、tessdata 等本机产物 Made-with: Cursor
This commit is contained in:
@@ -35,6 +35,10 @@ from typing import Any, Dict, List, Optional, Tuple
|
||||
# 图构建辅助
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
DEFAULT_LLM_PROVIDER = os.getenv("ENTERPRISE_LLM_PROVIDER", "deepseek")
|
||||
DEFAULT_LLM_MODEL = os.getenv("ENTERPRISE_LLM_MODEL", "deepseek-chat")
|
||||
DEFAULT_LLM_TIMEOUT = max(30, int(os.getenv("ENTERPRISE_LLM_TIMEOUT", "180")))
|
||||
|
||||
|
||||
def _sanitize_edges(edges: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
|
||||
seen: set = set()
|
||||
@@ -76,7 +80,10 @@ def _llm(
|
||||
"data": {
|
||||
"label": label,
|
||||
"prompt": prompt,
|
||||
"provider": DEFAULT_LLM_PROVIDER,
|
||||
"model": DEFAULT_LLM_MODEL,
|
||||
"temperature": float(temperature),
|
||||
"request_timeout": DEFAULT_LLM_TIMEOUT,
|
||||
"enable_tools": en,
|
||||
"tools": tlist if en else [],
|
||||
"selected_tools": tlist if en else [],
|
||||
@@ -195,17 +202,17 @@ result["lane"] = lane
|
||||
|
||||
def build_switch_multilane_workflow() -> Dict[str, Any]:
|
||||
nodes: List[Dict[str, Any]] = [
|
||||
{"id": "start-1", "type": "start", "position": {"x": 40, "y": 280}, "data": {"label": "开始"}},
|
||||
{"id": "start-1", "type": "start", "position": {"x": 60, "y": 300}, "data": {"label": "开始"}},
|
||||
{
|
||||
"id": "code-lane",
|
||||
"type": "code",
|
||||
"position": {"x": 240, "y": 280},
|
||||
"position": {"x": 260, "y": 300},
|
||||
"data": {"label": "解析线路", "language": "python", "code": CODE_LANE, "timeout": 15},
|
||||
},
|
||||
{
|
||||
"id": "sw-1",
|
||||
"type": "switch",
|
||||
"position": {"x": 460, "y": 280},
|
||||
"position": {"x": 500, "y": 300},
|
||||
"data": {
|
||||
"label": "业务线路",
|
||||
"field": "lane",
|
||||
@@ -215,39 +222,39 @@ def build_switch_multilane_workflow() -> Dict[str, Any]:
|
||||
},
|
||||
_llm(
|
||||
"llm-cs",
|
||||
(700, 80),
|
||||
(760, 120),
|
||||
"客服线",
|
||||
"你是企业客服专家。用户已从多线路由进入本分支;忽略线路标记,专注解决问题。简洁、礼貌。",
|
||||
temperature=0.35,
|
||||
),
|
||||
_llm(
|
||||
"llm-def",
|
||||
(760, 260),
|
||||
"默认线",
|
||||
"你是通用企业助手。用户未指定【客服】/【研发】/【运维】线路;先简要澄清所属场景再回答。",
|
||||
temperature=0.35,
|
||||
),
|
||||
_llm(
|
||||
"llm-dev",
|
||||
(700, 280),
|
||||
(760, 400),
|
||||
"研发线",
|
||||
"你是研发支持专家。用户已进入研发分支;给出可执行步骤与示例,避免空泛。",
|
||||
temperature=0.28,
|
||||
),
|
||||
_llm(
|
||||
"llm-ops",
|
||||
(700, 480),
|
||||
(760, 540),
|
||||
"运维线",
|
||||
"你是运维专家。用户已进入运维分支;优先给排查顺序与注意事项,不编造监控数据。",
|
||||
temperature=0.3,
|
||||
),
|
||||
_llm(
|
||||
"llm-def",
|
||||
(700, 640),
|
||||
"默认线",
|
||||
"你是通用企业助手。用户未指定【客服】/【研发】/【运维】线路;先简要澄清所属场景再回答。",
|
||||
temperature=0.35,
|
||||
),
|
||||
{
|
||||
"id": "merge-1",
|
||||
"type": "merge",
|
||||
"position": {"x": 980, "y": 280},
|
||||
"position": {"x": 1060, "y": 330},
|
||||
"data": {"label": "合并", "mode": "merge_all", "strategy": "object"},
|
||||
},
|
||||
{"id": "end-1", "type": "end", "position": {"x": 1220, "y": 280}, "data": {"label": "结束"}},
|
||||
{"id": "end-1", "type": "end", "position": {"x": 1300, "y": 330}, "data": {"label": "结束"}},
|
||||
]
|
||||
edges = _sanitize_edges(
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user