Backup-bdg's picture
Upload 964 files
51ff9e5 verified
raw
history blame contribute delete
675 Bytes
import abc
from pydantic import BaseModel
from openhands.events import Event
class CriticResult(BaseModel):
"""
A critic result is a score and a message.
"""
score: float
message: str
@property
def success(self) -> bool:
"""
Whether the agent is successful.
"""
return self.score >= 0.5
class BaseCritic(abc.ABC):
"""
A critic is a function that takes in a list of events, optional git patch, and returns a score about the quality of those events.
"""
@abc.abstractmethod
def evaluate(
self, events: list[Event], git_patch: str | None = None
) -> CriticResult:
pass