tutor-progress-env / schemas.py
sanjeevafk's picture
feat: Enhance TutorProgressEnv with session management and improved policies
1860cb2
Raw
History Blame Contribute Delete
1.13 kB
from pydantic import BaseModel, Field
from typing import Any, Dict, List, Optional
class Observation(BaseModel):
task_id: str
difficulty: str
chat_history: List[str]
constraints: Optional[dict] = None
step_count: int
features: Dict[str, Any] = Field(default_factory=dict)
session_id: Optional[str] = None
class Action(BaseModel):
type: str # "tool" | "final_answer"
content: str = ""
tool_name: Optional[str] = None
class StepResult(BaseModel):
observation: Observation
reward: float
done: bool
info: Dict[str, Any]
class ResetRequest(BaseModel):
task_id: Optional[str] = None
session_id: Optional[str] = None
seed: Optional[int] = None
stochastic: bool = False
class StepRequest(BaseModel):
session_id: Optional[str] = None
action: Optional[Action] = None
type: Optional[str] = None
content: str = ""
tool_name: Optional[str] = None
def to_action(self) -> Action:
if self.action is not None:
return self.action
return Action(type=self.type or "", content=self.content, tool_name=self.tool_name)