Spaces:
Sleeping
Sleeping
| import uuid | |
| from typing import Any | |
| from typing import List, Optional | |
| from datetime import datetime | |
| from pydantic import BaseModel, ConfigDict | |
| from pydantic import Field | |
| class AworldTask(BaseModel): | |
| task_id: str = Field(default=None, description="task id") | |
| agent_id: str = Field(default=None, description="agent id") | |
| agent_input: str = Field(default=None, description="agent input") | |
| session_id: Optional[str] = Field(default=None, description="session id") | |
| user_id: Optional[str] = Field(default=None, description="user id") | |
| llm_provider: Optional[str] = Field(default=None, description="llm provider") | |
| llm_model_name: Optional[str] = Field(default=None, description="llm model name") | |
| llm_api_key: Optional[str] = Field(default=None, description="llm api key") | |
| llm_base_url: Optional[str] = Field(default=None, description="llm base url") | |
| llm_custom_input: Optional[str] = Field(default=None, description="custom_input") | |
| task_system_prompt: Optional[str] = Field(default=None, description="task_system_prompt") | |
| mcp_servers: Optional[list[str]] = Field(default=None, description="mcp_servers") | |
| node_id: Optional[str] = Field(default=None, description="execute task node_id") | |
| client_id: Optional[str] = Field(default=None, description="submit client ip") | |
| status: Optional[str] = Field(default="INIT", description="submitted/running/execute_failed/execute_success") | |
| history_messages: Optional[int] = Field(default=100, description="history_message") | |
| max_steps: Optional[int] = Field(default=100, description="max_steps") | |
| max_retries: Optional[int] = Field(default=5, description="max_retries use Exponential backoff with jitter") | |
| ext_info: Optional[dict] = Field(default_factory=dict, description="custom") | |
| created_at: Optional[datetime] = Field(default=None, description="created time") | |
| updated_at: Optional[datetime] = Field(default=None, description="updated time") | |
| def mark_running(self): | |
| self.status = 'RUNNING' | |
| def mark_failed(self): | |
| self.status = 'FAILED' | |
| def mark_success(self): | |
| self.status = 'SUCCESS' | |
| class AworldTaskResult(BaseModel): | |
| task: AworldTask = Field(default=None, description="task") | |
| server_host: Optional[str] = Field(default=None, description="aworld server id") | |
| data: Any = Field(default=None, description="result data") | |
| class AworldTaskForm(BaseModel): | |
| batch_id: str = Field(default=str(uuid.uuid4()), description="batch_id") | |
| task: Optional[AworldTask] = Field(default=None, description="task") | |
| user_id: Optional[str] = Field(default=None, description="user id") | |
| client_id: Optional[str] = Field(default=None, description="submit client ip") | |
| class OpenAIChatMessage(BaseModel): | |
| role: str | |
| content: str | List | |
| model_config = ConfigDict(extra="allow") | |
| class OpenAIChatCompletionForm(BaseModel): | |
| stream: bool = True | |
| model: str | |
| messages: List[OpenAIChatMessage] | |
| model_config = ConfigDict(extra="allow") | |
| class FilterForm(BaseModel): | |
| body: dict | |
| user: Optional[dict] = None | |
| model_config = ConfigDict(extra="allow") |