-
Notifications
You must be signed in to change notification settings - Fork 87
[GuideLLM Refactor] entrypoints and working state (base to create PRs off of til merged into refactor base) #358
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Mark Kurtz <[email protected]>
Signed-off-by: Mark Kurtz <[email protected]>
Signed-off-by: Mark Kurtz <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR refactors the GuideLLM command-line interface to streamline the benchmark command structure while adding mock server functionality and performance optimization features. The changes modernize the CLI interface by removing legacy scenario-based configuration in favor of direct parameter specification and introduce new capabilities for testing and development.
Key changes:
- Replaced scenario-based CLI configuration with direct parameter specification using reorganized option groups
- Added new mock server command with configurable OpenAI/vLLM API compatibility
- Integrated performance optimizations through optional uvloop support and new perf dependency group
Reviewed Changes
Copilot reviewed 19 out of 21 changed files in this pull request and generated 5 comments.
Show a summary per file
File | Description |
---|---|
src/guidellm/main.py | Complete CLI overhaul with new parameter structure, mock server command, and uvloop integration |
src/guidellm/settings.py | Updated multiprocessing and scheduler settings with new configuration options |
tests/unit/test_cli.py | Removed legacy CLI version flag tests |
tests/unit/conftest.py | Removed old mock fixtures and test utilities |
tests/unit/mock_* | Updated mock implementations for new architecture |
tests/integration/scheduler/ | Added integration tests for scheduler components |
src/guidellm/utils/typing.py | New utility for extracting literal values from type aliases |
pyproject.toml | Added perf optional dependency group |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
…features/refactor/base-draft [GuideLLM Refactor] entrypoints and working state (base to create PRs off of til merged into refactor base) #358
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment, otherwise looks good.
## Summary This PR ports the new functionality from `benchmark run` to `benchmark from-file`, and does so in a way that reuses as much code as practical to have one source of truth. ## Details <!-- Provide a detailed list of all changes introduced in this pull request. --> - Fixes from-file by making it to use the new output format. - Moves code related to the new output formats to separate functions that are called from both benchmark entrypoints. - Moves additional chunks of code out of the large benchmark run entrypoint function for modularity. ## Test Plan Run a benchmark with an output of json or yaml, and use `from-file` to re-import it and export it. You can select any output type supported by `benchmark run`. `guidellm benchmark from-file ./result.json --output-formats console` `guidellm benchmark from-file ./result.yaml --output-formats yaml` ## Related Issues --- - [x] "I certify that all code in this PR is my own, except as noted below." ## Use of AI - [x] Includes AI-assisted code completion - [ ] Includes code generated by an AI application - [ ] Includes AI-generated tests (NOTE: AI written tests should have a docstring that includes `## WRITTEN BY AI ##`) --------- Signed-off-by: Jared O'Connell <[email protected]>
## Summary Reintroduces a few changes from main --------- Signed-off-by: Samuel Monson <[email protected]>
… off of til merged into refactor base) \#358\n\nfeatures/refactor/working
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I gave this a skim and didn't notice any blockers. Some of these changes will bet changed in the scenarios pull request, but that's okay.
Signed-off-by: Jared O'Connell <[email protected]>
Summary
Refactor of the GuideLLM command-line interface, streamlining the benchmark command structure while adding new mock server functionality and performance optimization features and adding in any missing fixes in other PRs to stabilize the refactor to a working state.
Details
-scenario
option in favor of direct parameter specification-rate-type
→-profile
)perf
optional dependency group withorjson
,msgpack
,msgspec
, uvloop-output-formats
option-max-errors
,-max-error-rate
,-max-global-error-rate
)Test Plan
Related Issues
Use of AI
## WRITTEN BY AI ##
)