sravaniamere's picture
restore SQLTask and SQLReward to models.py
341aec9
Raw
History Blame
1.24 kB
from typing import List, Optional, Any, Callable
from openenv.core.env_server.types import Action, Observation, State
from pydantic import Field, BaseModel
class SQLAction(Action):
corrected_query: str
class SQLObservation(Observation):
task_id: str
broken_query: str
schema_context: Optional[str] = None
error_hint: Optional[str] = None
step_number: int
previous_attempt: Optional[str] = None
feedback: Optional[str] = None
reward: float = 0.0
done: bool = False
class SQLState(State):
task_id: str
difficulty: str
step_count: int
max_steps: int
done: bool
last_reward: float
rewards_history: List[float]
class SQLReward(BaseModel):
value: float = Field(gt=0.0, lt=1.0)
reason: str
class SQLTask(BaseModel):
task_id: str
difficulty: str
broken_query: str
canonical_answer: str
schema_context: Optional[str] = None
error_hint: Optional[str] = None
max_steps: int = 5
grader: Optional[Any] = Field(default=None, exclude=True)
model_config = {"arbitrary_types_allowed": True}
class StepResult(BaseModel):
observation: SQLObservation
reward: float
done: bool
info: dict = Field(default_factory=dict)