Spaces:
Running
Running
| """Pydantic schemas for agent API requests and responses.""" | |
| from typing import Any | |
| from pydantic import BaseModel, Field | |
| class AgentLLMConfigSchema(BaseModel): | |
| """API schema mirroring gMAS AgentLLMConfig (without torch tensors).""" | |
| model_name: str | None = None | |
| base_url: str | None = None | |
| api_key: str | None = None | |
| max_tokens: int | None = None | |
| temperature: float | None = None | |
| timeout: float | None = None | |
| top_p: float | None = None | |
| stop_sequences: list[str] | None = None | |
| class AgentCreateRequest(BaseModel): | |
| """Request body for creating an agent.""" | |
| agent_id: str | |
| display_name: str | |
| persona: str = "" | |
| description: str = "" | |
| llm_backbone: str | None = None | |
| llm_config: AgentLLMConfigSchema | None = None | |
| tools: list[str] = Field(default_factory=list) | |
| input_schema: dict[str, Any] | None = None | |
| output_schema: dict[str, Any] | None = None | |
| class AgentUpdateRequest(BaseModel): | |
| """Request body for updating an agent (all fields optional).""" | |
| display_name: str | None = None | |
| persona: str | None = None | |
| description: str | None = None | |
| llm_backbone: str | None = None | |
| llm_config: AgentLLMConfigSchema | None = None | |
| tools: list[str] | None = None | |
| input_schema: dict[str, Any] | None = None | |
| output_schema: dict[str, Any] | None = None | |
| class AgentResponse(BaseModel): | |
| """Agent response returned by the API.""" | |
| agent_id: str | |
| display_name: str | |
| persona: str = "" | |
| description: str = "" | |
| llm_backbone: str | None = None | |
| llm_config: AgentLLMConfigSchema | None = None | |
| tools: list[str] = Field(default_factory=list) | |
| input_schema: dict[str, Any] | None = None | |
| output_schema: dict[str, Any] | None = None | |
| class AgentTemplate(BaseModel): | |
| """Predefined agent template.""" | |
| template_id: str | |
| name: str | |
| description: str | |
| agent: AgentCreateRequest | |