feat(benchmark): extract BEAM and LongMemEval into standalone plugins - #512
Merged
Conversation
jinliyl
self-requested a review
September 1, 2026 12:40
jinliyl
reviewed
Sep 3, 2026
jinliyl
left a comment
Member
There was a problem hiding this comment.
这里建议在 reme_beam/__init__.py 和 reme_lme/__init__.py 中显式导出各自的公共 Step。当前 README 写的是自定义 Python 调用方应从 reme_beam / reme_lme 导入插件 Step,但两个 __init__.py 目前只有 docstring,实际执行 from reme_beam import BeamAutoMemoryStep 或 from reme_lme import LmeAutoMemoryStep 会报 ImportError。显式导出后,文档声明的公共导入路径才能成立;judge Step 如果也属于公共接口,也请一并考虑从对应插件包导出。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
LME and BEAM benchmark implementations and presets currently ship with the core package. This change separates benchmark-specific code from the core while preserving evaluation behavior.
reme-lmeandreme-beamplugins.BaseAgenticAnswerStepinreme.steps.benchmark.base_agentic_answer.Application(plugin_packages=...)so benchmark runners can load local plugin sources without installing their distributions.Related issue
None linked.
Contract and data impact
Compatibility changes and migration:
lme/lme.yamlandbeam/beam.yamlare now plugin-provided presets. CLI users must install the corresponding plugin:extendsshould reference preset file paths when the plugins are not installed.reme.steps.benchmark.lmeand.beamwithreme_lme.stepsandreme_beam.steps. The shared base remains available fromreme.steps.benchmark.plugin_packagesis a Python-only source mapping, not serialized configuration. It loads only explicitly enabled plugins and preserves application-local registry isolation.Request/response schemas, endpoints, streaming behavior, and workspace layouts are unchanged.
Validation
pre-commit run --all-filespasses, or omitted checks are explained belowreme_studio/changedChecks run:
Result: 66 passed. Coverage includes plugin opt-in behavior, registry isolation, preset compatibility, mock answer/judge execution, and fresh-process runner loading without installed plugin entry points.
Result: passed.
The full unit suite and
pre-commit run --all-fileswere not run locally. Direct Black and Flake8 checks could not run because those modules were unavailable in the active Python environment. The final deletion commit's hooks passed Pyroma and skipped file checks because that commit contained only deletions; this does not validate the full PR.Live model evaluations were not run because they require external services and datasets. Frontend checks are not applicable:
reme_studio/is unchanged.Checklist
Screenshots or additional notes
No UI changes or new long-lived resources.
The three intermediate source bundles were removed in the final commit and are absent from the net PR diff. Dataset files, user workspaces, and evaluation results are unchanged.