feat(frontend):优化前端页面设计
This commit is contained in:
@@ -16,7 +16,7 @@ from pydantic_ai import Agent, RunContext
|
||||
from pydantic import Field
|
||||
from kilostar.adapter.model_adapter.agent_factory import AgentFactory
|
||||
from kilostar.core.global_state_machine.model_provider.base_provider import Provider
|
||||
from kilostar.utils.agent_model import ResponseModel, InputModel, DepsModel
|
||||
from kilostar.utils.agent_model import ResponseModel, RequestModel, DepsModel
|
||||
from kilostar.utils.ray_hook import ray_actor_hook
|
||||
|
||||
from kilostar.utils.logger import get_logger
|
||||
@@ -25,22 +25,19 @@ logger = get_logger("worker_individual")
|
||||
|
||||
|
||||
class WorkerIndividualResponse(ResponseModel):
|
||||
"""WorkerIndividualResponse 核心组件类。
|
||||
这是一个具体的 Worker 智能体实体类,代表着具备特定人设、领域技能或长文本处理能力的数字员工。它可以被控制器动态拉起,并在安全沙箱内执行复杂的工作流指令与多步骤推理任务。"""
|
||||
"""Worker Individual 的输出模型,承载一次任务执行后的结果文本。"""
|
||||
|
||||
output: str = Field(..., description="Worker执行任务的输出结果")
|
||||
|
||||
|
||||
class WorkerIndividualDeps(DepsModel):
|
||||
"""WorkerIndividualDeps 核心组件类。
|
||||
这是一个具体的 Worker 智能体实体类,代表着具备特定人设、领域技能或长文本处理能力的数字员工。它可以被控制器动态拉起,并在安全沙箱内执行复杂的工作流指令与多步骤推理任务。"""
|
||||
"""Worker Individual 的运行期依赖,注入到 pydantic-ai Agent 的 RunContext。"""
|
||||
|
||||
task_event: dict
|
||||
|
||||
|
||||
class WorkerIndividualInput(InputModel):
|
||||
"""WorkerIndividualInput 核心组件类。
|
||||
这是一个具体的 Worker 智能体实体类,代表着具备特定人设、领域技能或长文本处理能力的数字员工。它可以被控制器动态拉起,并在安全沙箱内执行复杂的工作流指令与多步骤推理任务。"""
|
||||
class WorkerIndividualInput(RequestModel):
|
||||
"""Worker Individual 的输入模型,承载一次任务事件的入参。"""
|
||||
|
||||
task_event: dict
|
||||
|
||||
@@ -56,10 +53,15 @@ class BaseIndividual:
|
||||
self.agent: Agent | None = None
|
||||
|
||||
async def _init_agent(self, agent_name: str, system_prompt: str):
|
||||
"""完成 agent 模块的启动与依赖初始化。
|
||||
在系统引导或服务拉起阶段被调用,负责建立网络连接、分配基础内存资源及注册核心服务组件。
|
||||
Args: agent_name (str): 赋予该实体的人类可读名称或标题字符串,主要用于前端 UI 展示、日志记录或模糊检索。 system_prompt (str): 控制逻辑流向的具体字符串参数,指定了期望的 system prompt 内容。
|
||||
Returns: : 经由当前业务模型加工处理后所输出的具体数据实例或领域模型对象。"""
|
||||
"""根据 agent_config 拉起一个 pydantic-ai Agent 实例。
|
||||
|
||||
从 GlobalStateMachine 取出 Provider,按 agent_config 中的 provider_title
|
||||
和 model_id 选择模型,加载工具列表,并把 system_prompt 注册为动态提示词。
|
||||
|
||||
Args:
|
||||
agent_name: Agent 的人类可读名称,用于日志与展示。
|
||||
system_prompt: 该 Agent 的基础系统提示词,会和 task_event 拼接成动态提示词。
|
||||
"""
|
||||
from kilostar.utils.get_tool import load_tools_from_list
|
||||
|
||||
global_state_machine = ray_actor_hook(
|
||||
@@ -90,17 +92,11 @@ class BaseIndividual:
|
||||
|
||||
@self.agent.system_prompt
|
||||
async def dynamic_prompt(ctx: RunContext[WorkerIndividualDeps]):
|
||||
"""执行与 dynamic prompt 相关的核心业务流转操作。
|
||||
该方法封装了具体的算法策略或状态控制逻辑,确保操作能够在事务上下文中被原子且一致地执行。
|
||||
Args: ctx (RunContext[WorkerIndividualDeps]): 参与 dynamic prompt 逻辑运算或数据构建的上下文依赖对象。
|
||||
Returns: : 经由当前业务模型加工处理后所输出的具体数据实例或领域模型对象。"""
|
||||
"""把基础 system_prompt 与本次 task_event 拼接成最终动态提示词。"""
|
||||
prompt = system_prompt + "\n\n"
|
||||
prompt += f"=== 当前任务上下文 ===\n{ctx.deps.task_event}\n"
|
||||
return prompt
|
||||
|
||||
async def run(self, task_event: dict) -> dict:
|
||||
"""执行与 run 相关的核心业务流转操作。
|
||||
该方法封装了具体的算法策略或状态控制逻辑,确保操作能够在事务上下文中被原子且一致地执行。
|
||||
Args: task_event (dict): 由事件总线或工作流引擎分发过来的事件载荷,封装了触发此次调用的上下文快照与任务目标指令。
|
||||
Returns: (dict): 高度聚合的字典结构数据,将多维度的属性特征或统计指标组合后一并返回。"""
|
||||
"""执行一次任务,需要由子类按自身策略实现。"""
|
||||
raise NotImplementedError("子类必须实现 run 方法")
|
||||
|
||||
Reference in New Issue
Block a user