2025-08-31 00:34:26 +08:00
|
|
|
from typing import Annotated
|
|
|
|
|
from dataclasses import dataclass, field
|
|
|
|
|
|
|
|
|
|
from src.agents.common.context import BaseContext
|
2025-08-31 10:27:58 +08:00
|
|
|
from src.agents.common.tools import gen_tool_info
|
2025-09-01 03:38:46 +08:00
|
|
|
from src.agents.common.mcp import MCP_SERVERS
|
2025-08-31 10:27:58 +08:00
|
|
|
|
|
|
|
|
from .tools import get_tools
|
2025-08-31 00:34:26 +08:00
|
|
|
|
|
|
|
|
@dataclass(kw_only=True)
|
|
|
|
|
class Context(BaseContext):
|
|
|
|
|
|
|
|
|
|
model: Annotated[str, {"__template_metadata__": {"kind": "llm"}}] = field(
|
|
|
|
|
default="siliconflow/Qwen/Qwen3-235B-A22B-Instruct-2507",
|
|
|
|
|
metadata={
|
|
|
|
|
"name": "智能体模型",
|
|
|
|
|
"options": [],
|
|
|
|
|
"description": "智能体的驱动模型"
|
|
|
|
|
},
|
|
|
|
|
)
|
|
|
|
|
|
2025-08-31 10:27:58 +08:00
|
|
|
tools: Annotated[list[dict], {"__template_metadata__": {"kind": "tools"}}] = field(
|
2025-08-31 00:34:26 +08:00
|
|
|
default_factory=list,
|
|
|
|
|
metadata={
|
|
|
|
|
"name": "工具",
|
2025-08-31 10:27:58 +08:00
|
|
|
"options": gen_tool_info(get_tools()), # 这里的选择是所有的工具
|
2025-08-31 00:34:26 +08:00
|
|
|
"description": "工具列表"
|
|
|
|
|
},
|
|
|
|
|
)
|
2025-09-01 03:38:46 +08:00
|
|
|
|
|
|
|
|
mcps: list[str] = field(
|
|
|
|
|
default_factory=list,
|
|
|
|
|
metadata={
|
|
|
|
|
"name": "MCP服务器",
|
|
|
|
|
"options": list(MCP_SERVERS.keys()),
|
|
|
|
|
"description": "MCP服务器列表"
|
|
|
|
|
},
|
|
|
|
|
)
|