You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/swarms/schemas/agent_completion_response.py

72 lines
2.2 KiB

from datetime import datetime
from typing import Any, List, Optional
from pydantic import BaseModel, Field
class Usage(BaseModel):
prompt_tokens: Optional[int] = Field(
default=None,
description="Number of tokens used in the prompt",
)
completion_tokens: Optional[int] = Field(
default=None,
description="Number of tokens used in the completion",
)
total_tokens: Optional[int] = Field(
default=None, description="Total number of tokens used"
)
class ModelConfig(BaseModel):
model_name: Optional[str] = Field(
default=None,
description="Name of the model used for generation",
)
temperature: Optional[float] = Field(
default=None,
description="Temperature setting used for generation",
)
top_p: Optional[float] = Field(
default=None, description="Top-p setting used for generation"
)
max_tokens: Optional[int] = Field(
default=None,
description="Maximum number of tokens to generate",
)
frequency_penalty: Optional[float] = Field(
default=None,
description="Frequency penalty used for generation",
)
presence_penalty: Optional[float] = Field(
default=None,
description="Presence penalty used for generation",
)
class AgentCompletionResponse(BaseModel):
id: Optional[str] = Field(
default=None, description="Unique identifier for the response"
)
agent_name: Optional[str] = Field(
default=None,
description="Name of the agent that generated the response",
)
agent_description: Optional[str] = Field(
default=None, description="Description of the agent"
)
outputs: Optional[List[Any]] = Field(
default=None,
description="List of outputs generated by the agent",
)
usage: Optional[Usage] = Field(
default=None, description="Token usage statistics"
)
model_config: Optional[ModelConfig] = Field(
default=None, description="Model configuration"
)
timestamp: Optional[str] = Field(
default_factory=lambda: datetime.now().isoformat(),
description="Timestamp of when the response was generated",
)