Skip to content

[cfg] refactor: Use omegaconf structured configuration system#58

Merged
tardis-key merged 2 commits into
verl-project:mainfrom
acat-rw:main
May 22, 2026
Merged

[cfg] refactor: Use omegaconf structured configuration system#58
tardis-key merged 2 commits into
verl-project:mainfrom
acat-rw:main

Conversation

@acat-rw
Copy link
Copy Markdown
Contributor

@acat-rw acat-rw commented May 21, 2026

What does this PR do?

Add concise overview of what this PR aims to achieve or accomplish. Reference related GitHub issues and PRs that help with the review.

  • Add OmegaConf dependencies and define structured configuration data classes
  • Added config module, including configuration schema, loader, and utility functions
  • Migration of CLI parameters from --arg format to key=value format
  • Add preset YAML configuration files for timeline and GMM scenarios
  • Update all components (parser, visualizer, pipeline) to use the new configuration system
  • Modify tests, sample scripts, and documentation to adapt to the new configuration format
  • Remove old CLI parameter registration functions and simplify module initialization

Checklist Before Starting

  • Search for similar PRs. Paste at least one query link here: ...
  • Format the PR title as [{modules}] {type}: {description} (This will be checked by the CI)
    • {modules} include pipeline, parser, visualizer, data, deployment, perf, algo, env, doc, cfg, ci, misc
    • If this PR involves multiple modules, separate them with , like [mstx, ci]
    • {type} is in feat, fix, refactor, chore, test
    • If this PR breaks any API (CLI arguments, config, function signature, etc.), add [BREAKING] to the beginning of the title.
    • Example: [BREAKING][mstx, torch_profile] feat: support timeline parsing

Test

For changes that can not be tested by CI (e.g., algorithm implementation, new model support), validate by experiment(s) and show results like training curve plots, evaluation results, etc.

API and Usage Example

Demonstrate how the API changes if any, and provide usage example(s) if possible.

# Add code snippet or script demonstrating how to use this

Design & Code Changes

Demonstrate the high-level design if this PR is complex, and list the specific changes.

Checklist Before Submitting

Important

Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review.

@acat-rw acat-rw changed the title [config] refactor: Use omegaconf structured configuration system [cfg] refactor: Use omegaconf structured configuration system May 21, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request migrates the project's configuration and CLI argument handling from argparse to a structured system based on OmegaConf. It introduces dataclass-based schemas, YAML presets, and a new key=value CLI format, with corresponding updates across documentation, example scripts, and the test suite. Review feedback identifies a potential AttributeError when rendering help for complex type hints and notes that mandatory field validation is currently unreachable due to OmegaConf's internal error handling. Additionally, there are suggestions to use more idiomatic OmegaConf methods for configuration retrieval and to decouple visualizer selection logic to improve long-term maintainability.

Comment thread rl_insight/config/config_loader.py
Comment thread rl_insight/main.py Outdated
Comment thread rl_insight/config/utils.py
Comment thread rl_insight/pipeline/offline_insight_pipeline.py Outdated
Comment thread rl_insight/config/config.py
@tardis-key tardis-key merged commit 1d03f8f into verl-project:main May 22, 2026
5 checks passed
@tardis-key
Copy link
Copy Markdown
Collaborator

#48

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants