ReMe/plugins/beam
xyf2020 67936d5a43
refactor(plugins): move BaseAgenticAnswerStep out of the core benchmark steps package into the lme/beam plugins (#576)
* refactor(plugins): move BaseAgenticAnswerStep into lme/beam plugins

Move the shared benchmark answer base class from the core
reme.steps.benchmark package into each plugin's own src tree
(reme_lme.base_agentic_answer / reme_beam.base_agentic_answer) with
absolute imports, drop the core benchmark steps package, and update
plugin READMEs accordingly.

* refactor(plugins): simplify benchmark answer steps

* docs(plugins): clarify benchmark answer step migration

---------

Co-authored-by: jinli.yl <jinli.yl@alibaba-inc.com>
2026-09-30 12:19:32 +08:00
..
src/reme_beam refactor(plugins): move BaseAgenticAnswerStep out of the core benchmark steps package into the lme/beam plugins (#576) 2026-09-30 12:19:32 +08:00
LICENSE feat(benchmark): extract BEAM and LongMemEval into standalone plugins (#512) 2026-09-03 14:06:39 +08:00
pyproject.toml Separate benchmark judge plugins (#535) 2026-09-10 20:16:46 +08:00
README.md refactor(plugins): move BaseAgenticAnswerStep out of the core benchmark steps package into the lme/beam plugins (#576) 2026-09-30 12:19:32 +08:00
README_ZH.md refactor(plugins): move BaseAgenticAnswerStep out of the core benchmark steps package into the lme/beam plugins (#576) 2026-09-30 12:19:32 +08:00

BEAM plugin

中文说明

This plugin owns the BEAM memory and agentic-answer Steps and their Job defaults. The trusted judge Step, prompts and answer_judge Job live in plugins/beam-judge. ReMe's built-in benchmark.yaml owns the shared evaluation Jobs and components. Dataset handling, the runner and results remain in benchmark/beam.

From the repository root, install ReMe and this plugin in editable mode before running the benchmark:

python -m pip install -e ".[as]"
reme plugins install ./plugins/beam --editable
reme plugins install ./plugins/beam-judge --editable
reme plugins validate beam
reme plugins validate beam-judge
python benchmark/beam/run.py

Editable installation registers the beam entry point while keeping source changes immediately visible. The runner selects the built-in benchmark preset and explicitly enables beam and beam-judge for each Application. Installing the plugin makes it discoverable but does not enable it globally.

plugin.yaml registers backends and contributes the plugin-owned auto_memory, agentic_answer Job defaults. Start a full benchmark application with reme start config=benchmark plugins='["beam", "beam-judge"]'. The shared preset does not inherit default: only declared Jobs run, indexing is manual, and neither scheduled dream nor the optional auto_dream Job is enabled. The existing auto_memory, agentic_answer, answer_judge, bench and judge names and model environment variables are unchanged. Explicit application/CLI overrides still take precedence. Installing this plugin does not start an evaluation.

Custom Python callers should import memory, search and answer Steps from reme_beam, and install beam-judge before importing the judge Step from judge_beam. After uninstalling, Applications and CLI services must omit the plugin until it is installed again. BeamAgenticAnswerStep now implements the answer behavior directly. The former reme.steps.benchmark.BaseAgenticAnswerStep import is gone; custom subclasses can extend reme_beam.BeamAgenticAnswerStep for BEAM behavior, or implement their own Step using reme.steps.base_step.BaseStep. Uninstallation never removes datasets, workspaces or results. Restart an existing service after changing plugins.