31 lines
819 B
Python
31 lines
819 B
Python
from __future__ import annotations
|
|
|
|
from enum import Enum
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class AgentType(str, Enum):
|
|
ROUTER = "router"
|
|
WORKER = "worker"
|
|
|
|
|
|
class ContextBuildStrategy(str, Enum):
|
|
DAY = "day"
|
|
NUMBER = "number"
|
|
|
|
|
|
class ContextMessagesConfig(BaseModel):
|
|
mode: ContextBuildStrategy = ContextBuildStrategy.NUMBER
|
|
count: int = Field(default=20, ge=1, le=200)
|
|
|
|
|
|
class SystemAgentLLMConfig(BaseModel):
|
|
temperature: float | None = Field(default=None, ge=0.0, le=2.0)
|
|
max_tokens: int | None = Field(default=None, ge=1)
|
|
timeout_seconds: float | None = Field(default=30.0, gt=0.0, le=300.0)
|
|
context_messages: ContextMessagesConfig = Field(
|
|
default_factory=ContextMessagesConfig
|
|
)
|
|
enabled_tools: list[str] = Field(default_factory=list, max_length=32)
|