taolib.testing.multi_agent.models

目录

taolib.testing.multi_agent.models#

多智能体系统模型。

导出所有 Pydantic 模型和枚举。

Submodules#

Classes#

AgentBase

智能体基础字段。

AgentCapability

智能体能力描述。

AgentConfig

智能体配置。

AgentCreate

创建智能体的输入模型。

AgentDocument

智能体的 MongoDB 文档模型。

AgentResponse

智能体的 API 响应模型。

AgentTemplate

智能体模板。

AgentUpdate

更新智能体的输入模型(所有字段可选)。

AgentStatus

智能体状态。

AgentType

智能体类型。

LoadBalanceStrategy

负载均衡策略。

MessageType

消息类型。

ModelProvider

模型提供商。

ModelStatus

模型状态。

SkillStatus

技能状态。

SkillType

技能类型。

TaskStatus

任务状态。

LoadBalanceConfig

负载均衡配置。

ModelConfig

模型配置。

ModelInstance

模型实例。

ModelStats

模型统计信息。

Message

智能体间通信消息。

MessagePayload

消息载荷。

SkillBase

技能基础字段。

SkillCreate

创建技能的输入模型。

SkillDocument

技能的 MongoDB 文档模型。

SkillEvaluation

技能评估。

SkillParameter

技能参数。

SkillResponse

技能的 API 响应模型。

SkillTestResult

技能测试结果。

SkillUpdate

更新技能的输入模型(所有字段可选)。

SubTask

子任务。

TaskBase

任务基础字段。

TaskConstraint

任务约束条件。

TaskCreate

创建任务的输入模型。

TaskDocument

任务的 MongoDB 文档模型。

TaskProgress

任务进度。

TaskResponse

任务的 API 响应模型。

TaskResult

任务结果。

TaskUpdate

更新任务的输入模型(所有字段可选)。

Package Contents#

class taolib.testing.multi_agent.models.AgentBase#

Bases: pydantic.BaseModel

智能体基础字段。

name: str#
description: str#
agent_type: taolib.testing.multi_agent.models.enums.AgentType#
status: taolib.testing.multi_agent.models.enums.AgentStatus#
capabilities: list[AgentCapability]#
config: AgentConfig#
template_id: str | None#
skills: list[str]#
tags: list[str]#
metadata: dict[str, Any]#
class taolib.testing.multi_agent.models.AgentCapability#

Bases: pydantic.BaseModel

智能体能力描述。

name: str#
description: str#
confidence: float#
tags: list[str]#
class taolib.testing.multi_agent.models.AgentConfig#

Bases: pydantic.BaseModel

智能体配置。

max_concurrent_tasks: int#
timeout_seconds: int#
preferred_model: str | None#
system_prompt: str | None#
temperature: float#
class taolib.testing.multi_agent.models.AgentCreate#

Bases: AgentBase

创建智能体的输入模型。

class taolib.testing.multi_agent.models.AgentDocument#

Bases: AgentBase

智能体的 MongoDB 文档模型。

id: str#
created_at: datetime.datetime#
updated_at: datetime.datetime#
last_active_at: datetime.datetime | None = None#
current_task_id: str | None = None#
completed_tasks: int#
failed_tasks: int#
model_config#
to_response() AgentResponse#

转换为 API 响应。

class taolib.testing.multi_agent.models.AgentResponse#

Bases: AgentBase

智能体的 API 响应模型。

id: str#
created_at: datetime.datetime#
updated_at: datetime.datetime#
last_active_at: datetime.datetime | None = None#
current_task_id: str | None = None#
completed_tasks: int#
failed_tasks: int#
model_config#
class taolib.testing.multi_agent.models.AgentTemplate#

Bases: pydantic.BaseModel

智能体模板。

id: str#
name: str#
description: str#
agent_type: taolib.testing.multi_agent.models.enums.AgentType#
capabilities: list[AgentCapability]#
config: AgentConfig#
skills: list[str]#
tags: list[str]#
class taolib.testing.multi_agent.models.AgentUpdate#

Bases: pydantic.BaseModel

更新智能体的输入模型(所有字段可选)。

name: str | None = None#
description: str | None = None#
status: taolib.testing.multi_agent.models.enums.AgentStatus | None = None#
capabilities: list[AgentCapability] | None = None#
config: AgentConfig | None = None#
skills: list[str] | None = None#
tags: list[str] | None = None#
metadata: dict[str, Any] | None = None#
class taolib.testing.multi_agent.models.AgentStatus#

Bases: enum.StrEnum

智能体状态。

CREATED = 'created'#
IDLE = 'idle'#
BUSY = 'busy'#
SLEEPING = 'sleeping'#
ERROR = 'error'#
DESTROYED = 'destroyed'#
class taolib.testing.multi_agent.models.AgentType#

Bases: enum.StrEnum

智能体类型。

MAIN = 'main'#
SUB = 'sub'#
SPECIALIZED = 'specialized'#
class taolib.testing.multi_agent.models.LoadBalanceStrategy#

Bases: enum.StrEnum

负载均衡策略。

ROUND_ROBIN = 'round_robin'#
LEAST_CONNECTIONS = 'least_connections'#
RANDOM = 'random'#
WEIGHTED = 'weighted'#
class taolib.testing.multi_agent.models.MessageType#

Bases: enum.StrEnum

消息类型。

TASK_ASSIGN = 'task_assign'#
TASK_UPDATE = 'task_update'#
TASK_COMPLETE = 'task_complete'#
TASK_ERROR = 'task_error'#
SKILL_REQUEST = 'skill_request'#
SKILL_RESPONSE = 'skill_response'#
INFO = 'info'#
WARNING = 'warning'#
ERROR = 'error'#
class taolib.testing.multi_agent.models.ModelProvider#

Bases: enum.StrEnum

模型提供商。

OLLAMA = 'ollama'#
HUGGINGFACE = 'huggingface'#
GEMINI = 'gemini'#
class taolib.testing.multi_agent.models.ModelStatus#

Bases: enum.StrEnum

模型状态。

AVAILABLE = 'available'#
BUSY = 'busy'#
ERROR = 'error'#
UNAVAILABLE = 'unavailable'#
class taolib.testing.multi_agent.models.SkillStatus#

Bases: enum.StrEnum

技能状态。

DRAFT = 'draft'#
TESTING = 'testing'#
APPROVED = 'approved'#
DEPRECATED = 'deprecated'#
class taolib.testing.multi_agent.models.SkillType#

Bases: enum.StrEnum

技能类型。

CODE = 'code'#
PROMPT = 'prompt'#
HYBRID = 'hybrid'#
class taolib.testing.multi_agent.models.TaskStatus#

Bases: enum.StrEnum

任务状态。

PENDING = 'pending'#
ANALYZING = 'analyzing'#
ASSIGNED = 'assigned'#
IN_PROGRESS = 'in_progress'#
WAITING = 'waiting'#
COMPLETED = 'completed'#
FAILED = 'failed'#
CANCELLED = 'cancelled'#
class taolib.testing.multi_agent.models.LoadBalanceConfig#

Bases: pydantic.BaseModel

负载均衡配置。

strategy: taolib.testing.multi_agent.models.enums.LoadBalanceStrategy#
fallback_enabled: bool#
health_check_interval_seconds: int#
circuit_breaker_enabled: bool#
circuit_breaker_failure_threshold: int#
circuit_breaker_reset_timeout_seconds: int#
class taolib.testing.multi_agent.models.ModelConfig#

Bases: pydantic.BaseModel

模型配置。

provider: taolib.testing.multi_agent.models.enums.ModelProvider#
model_name: str#
base_url: str | None#
api_key: str | None#
timeout_seconds: int#
max_retries: int#
rate_limit_requests_per_minute: int#
rate_limit_tokens_per_minute: int | None#
max_concurrent_requests: int#
temperature: float#
max_tokens: int | None#
weight: float#
metadata: dict[str, Any]#
class taolib.testing.multi_agent.models.ModelInstance#

Bases: pydantic.BaseModel

模型实例。

id: str#
config: ModelConfig#
status: taolib.testing.multi_agent.models.enums.ModelStatus#
stats: ModelStats#
created_at: datetime.datetime#
updated_at: datetime.datetime#
class taolib.testing.multi_agent.models.ModelStats#

Bases: pydantic.BaseModel

模型统计信息。

total_requests: int#
successful_requests: int#
failed_requests: int#
total_tokens_used: int#
average_latency_seconds: float#
current_concurrent_requests: int#
requests_this_minute: int#
tokens_this_minute: int#
last_health_check_at: datetime.datetime | None#
last_error_at: datetime.datetime | None#
last_error_message: str#
class taolib.testing.multi_agent.models.Message#

Bases: pydantic.BaseModel

智能体间通信消息。

id: str#
message_type: taolib.testing.multi_agent.models.enums.MessageType#
sender_id: str#
receiver_id: str | None#
payload: MessagePayload#
timestamp: datetime.datetime#
priority: int#
requires_response: bool#
response_to: str | None#
class taolib.testing.multi_agent.models.MessagePayload#

Bases: pydantic.BaseModel

消息载荷。

task_id: str | None#
agent_id: str | None#
skill_id: str | None#
data: dict[str, Any]#
metadata: dict[str, Any]#
class taolib.testing.multi_agent.models.SkillBase#

Bases: pydantic.BaseModel

技能基础字段。

name: str#
description: str#
skill_type: taolib.testing.multi_agent.models.enums.SkillType#
status: taolib.testing.multi_agent.models.enums.SkillStatus#
version: str#
content: str#
parameters: list[SkillParameter]#
tags: list[str]#
categories: list[str]#
dependencies: list[str]#
evaluation: SkillEvaluation | None#
usage_count: int#
success_count: int#
metadata: dict[str, Any]#
class taolib.testing.multi_agent.models.SkillCreate#

Bases: SkillBase

创建技能的输入模型。

class taolib.testing.multi_agent.models.SkillDocument#

Bases: SkillBase

技能的 MongoDB 文档模型。

id: str#
created_by: str = 'system'#
updated_by: str = 'system'#
created_at: datetime.datetime#
updated_at: datetime.datetime#
last_used_at: datetime.datetime | None = None#
model_config#
to_response() SkillResponse#

转换为 API 响应。

class taolib.testing.multi_agent.models.SkillEvaluation#

Bases: pydantic.BaseModel

技能评估。

overall_score: float#
accuracy: float#
efficiency: float#
reliability: float#
test_results: list[SkillTestResult]#
evaluated_at: datetime.datetime#
evaluator: str#
comments: str#
class taolib.testing.multi_agent.models.SkillParameter#

Bases: pydantic.BaseModel

技能参数。

name: str#
type: str#
description: str#
required: bool#
default: Any#
constraints: dict[str, Any]#
class taolib.testing.multi_agent.models.SkillResponse#

Bases: SkillBase

技能的 API 响应模型。

id: str#
created_by: str#
updated_by: str#
created_at: datetime.datetime#
updated_at: datetime.datetime#
last_used_at: datetime.datetime | None = None#
model_config#
class taolib.testing.multi_agent.models.SkillTestResult#

Bases: pydantic.BaseModel

技能测试结果。

test_name: str#
success: bool#
input_data: dict[str, Any]#
expected_output: dict[str, Any]#
actual_output: dict[str, Any]#
error_message: str#
execution_time_seconds: float#
class taolib.testing.multi_agent.models.SkillUpdate#

Bases: pydantic.BaseModel

更新技能的输入模型(所有字段可选)。

name: str | None = None#
description: str | None = None#
skill_type: taolib.testing.multi_agent.models.enums.SkillType | None = None#
status: taolib.testing.multi_agent.models.enums.SkillStatus | None = None#
version: str | None = None#
content: str | None = None#
parameters: list[SkillParameter] | None = None#
tags: list[str] | None = None#
categories: list[str] | None = None#
dependencies: list[str] | None = None#
evaluation: SkillEvaluation | None = None#
metadata: dict[str, Any] | None = None#
class taolib.testing.multi_agent.models.SubTask#

Bases: pydantic.BaseModel

子任务。

id: str#
name: str#
description: str#
status: taolib.testing.multi_agent.models.enums.TaskStatus#
assigned_agent_id: str | None#
result: TaskResult | None#
created_at: datetime.datetime#
completed_at: datetime.datetime | None#
class taolib.testing.multi_agent.models.TaskBase#

Bases: pydantic.BaseModel

任务基础字段。

name: str#
description: str#
user_input: str#
status: taolib.testing.multi_agent.models.enums.TaskStatus#
constraints: TaskConstraint#
progress: TaskProgress#
result: TaskResult | None#
subtasks: list[SubTask]#
assigned_agent_id: str | None#
tags: list[str]#
metadata: dict[str, Any]#
class taolib.testing.multi_agent.models.TaskConstraint#

Bases: pydantic.BaseModel

任务约束条件。

max_duration_seconds: int | None#
max_cost: float | None#
required_skills: list[str]#
forbidden_skills: list[str]#
priority: int#
class taolib.testing.multi_agent.models.TaskCreate#

Bases: TaskBase

创建任务的输入模型。

class taolib.testing.multi_agent.models.TaskDocument#

Bases: TaskBase

任务的 MongoDB 文档模型。

id: str#
created_at: datetime.datetime#
updated_at: datetime.datetime#
started_at: datetime.datetime | None = None#
completed_at: datetime.datetime | None = None#
execution_seconds: float | None = None#
model_config#
to_response() TaskResponse#

转换为 API 响应。

class taolib.testing.multi_agent.models.TaskProgress#

Bases: pydantic.BaseModel

任务进度。

current_step: str#
step_description: str#
progress_percent: float#
completed_steps: list[str]#
estimated_remaining_seconds: int | None#
class taolib.testing.multi_agent.models.TaskResponse#

Bases: TaskBase

任务的 API 响应模型。

id: str#
created_at: datetime.datetime#
updated_at: datetime.datetime#
started_at: datetime.datetime | None = None#
completed_at: datetime.datetime | None = None#
execution_seconds: float | None#
model_config#
class taolib.testing.multi_agent.models.TaskResult#

Bases: pydantic.BaseModel

任务结果。

success: bool#
summary: str#
details: dict[str, Any]#
output_files: list[str]#
artifacts: dict[str, Any]#
warnings: list[str]#
errors: list[str]#
class taolib.testing.multi_agent.models.TaskUpdate#

Bases: pydantic.BaseModel

更新任务的输入模型(所有字段可选)。

name: str | None = None#
description: str | None = None#
status: taolib.testing.multi_agent.models.enums.TaskStatus | None = None#
constraints: TaskConstraint | None = None#
progress: TaskProgress | None = None#
result: TaskResult | None = None#
subtasks: list[SubTask] | None = None#
assigned_agent_id: str | None = None#
tags: list[str] | None = None#
metadata: dict[str, Any] | None = None#