Skip to navigation

nemo_gym.web.composed_backend

View as MarkdownOpen in Claude

Backend-neutral composition of a web browser driver and task evaluator.

Module Contents

Classes

NameDescription
ComposedWebBackendImplement the common environment protocol from independent roles.
WebBrowserDriverOwn the live browser only; model prompting and scoring live elsewhere.
WebTaskEvaluatorScore a completed task without owning the browser lifecycle.

API

class nemo_gym.web.composed_backend.ComposedWebBackend(
)

Implement the common environment protocol from independent roles.

The driver owns Chromium/Playwright/PyAutoGUI mechanics. The evaluator owns benchmark scoring. The agent remains an HTTP client of this backend and never imports either implementation.

_observation
WebObservation | None = None
_task
WebTask | None = None
nemo_gym.web.composed_backend.ComposedWebBackend._require_active() -> tuple[nemo_gym.web.models.WebTask, nemo_gym.web.models.WebObservation]
nemo_gym.web.composed_backend.ComposedWebBackend.close() -> None
nemo_gym.web.composed_backend.ComposedWebBackend.evaluate(
final_answer: str | None = None
nemo_gym.web.composed_backend.ComposedWebBackend.observe() -> nemo_gym.web.models.WebObservation
nemo_gym.web.composed_backend.ComposedWebBackend.reset(
) -> tuple[nemo_gym.web.models.WebObservation, dict[str, typing.Any]]
nemo_gym.web.composed_backend.ComposedWebBackend.step(
class nemo_gym.web.composed_backend.WebBrowserDriver()
Protocol

Own the live browser only; model prompting and scoring live elsewhere.

nemo_gym.web.composed_backend.WebBrowserDriver.close() -> None
nemo_gym.web.composed_backend.WebBrowserDriver.evaluation_context() -> typing.Any

Return process-local state required by a colocated evaluator.

nemo_gym.web.composed_backend.WebBrowserDriver.observe() -> nemo_gym.web.models.WebObservation
nemo_gym.web.composed_backend.WebBrowserDriver.reset(
) -> tuple[nemo_gym.web.models.WebObservation, dict[str, typing.Any]]
nemo_gym.web.composed_backend.WebBrowserDriver.step(
class nemo_gym.web.composed_backend.WebTaskEvaluator()
Protocol

Score a completed task without owning the browser lifecycle.

nemo_gym.web.composed_backend.WebTaskEvaluator.close() -> None
nemo_gym.web.composed_backend.WebTaskEvaluator.evaluate(
final_answer: str | None,
browser_context: typing.Any
nemo_gym.web.composed_backend.WebTaskEvaluator.prepare(
browser_context: typing.Any
) -> None

Capture evaluator state required before the policy starts acting.