Spaces:
Build error
Build error
from __future__ import annotations | |
from openhands.core.config.condenser_config import RecentEventsCondenserConfig | |
from openhands.memory.condenser.condenser import Condensation, Condenser, View | |
class RecentEventsCondenser(Condenser): | |
"""A condenser that only keeps a certain number of the most recent events.""" | |
def __init__(self, keep_first: int = 1, max_events: int = 10): | |
self.keep_first = keep_first | |
self.max_events = max_events | |
super().__init__() | |
def condense(self, view: View) -> View | Condensation: | |
"""Keep only the most recent events (up to `max_events`).""" | |
head = view[: self.keep_first] | |
tail_length = max(0, self.max_events - len(head)) | |
tail = view[-tail_length:] | |
return View(events=head + tail) | |
def from_config(cls, config: RecentEventsCondenserConfig) -> RecentEventsCondenser: | |
return RecentEventsCondenser(**config.model_dump(exclude=['type'])) | |
RecentEventsCondenser.register_config(RecentEventsCondenserConfig) | |