-
Notifications
You must be signed in to change notification settings - Fork 86
[GuideLLM Refactor] backend package updates, rewrites, and tests expansion #355
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
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
Refactors the backend architecture to introduce new request/response models, a registry-based Backend interface with process lifecycle, and a modernized OpenAI HTTP backend with streaming and multimodal support. Also replaces deprecated response types and significantly expands unit tests.
- Introduces GenerationRequest, GenerationResponse, and GenerationRequestTimings models
- Rewrites OpenAIHTTPBackend with streaming, timing, and registry integration
- Adds process_startup/process_shutdown lifecycle and removes legacy response module
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 6 comments.
Show a summary per file
File | Description |
---|---|
src/guidellm/backend/backend.py | Defines new Backend base class integrating RegistryMixin and BackendInterface; updates factory and lifecycle contract. |
src/guidellm/backend/openai.py | Complete rewrite of OpenAIHTTPBackend, adds paths/keys constants, streaming, multimodal handling, and validation logic. |
src/guidellm/backend/objects.py | Adds standardized request/response/timings Pydantic models. |
src/guidellm/backend/response.py | Removes deprecated streaming response and request args models. |
src/guidellm/backend/init.py | Updates exports to new models and backend. |
tests/unit/backend/test_openai_backend.py | Expands tests for new backend behavior, streaming, timings, and registry integration. |
tests/unit/backend/test_objects.py | New tests for the new object models and their properties. |
tests/unit/backend/test_backend.py | Tests Backend base class behaviors and registry. |
tests/unit/backend/test_response.py | Removes tests for deprecated response module. |
tests/unit/backend/test_openai_backend_custom_configs.py | Removes tests tied to old settings-driven header behavior. |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
2d94201
to
a7ae737
Compare
Signed-off-by: Mark Kurtz <[email protected]>
… for plural Signed-off-by: Mark Kurtz <[email protected]>
6b3331f
to
a88605e
Compare
…p to avoid conflicts Signed-off-by: Mark Kurtz <[email protected]>
…features/refactor/base-draft [GuideLLM Refactor] backend package updates, rewrites, and tests expansion #355
…nsion \#355\n\nfeatures/refactor/backend
Summary
Refactors the backend package to introduce a new architecture that supports the scheduler refactor. The changes include new object models for requests/responses, adjustments to the registry-based backend system, and integration with the scheduler interface. The refactor replaces the previous response/streaming model with a more flexible request-response pattern that supports timing measurements and distributed execution.
Details
GenerationRequest
,GenerationResponse
, andGenerationRequestTimings
inobjects.py
to standardize data flow between scheduler and backendsBackend
base class to extendRegistryMixin
andBackendInterface
, enabling automatic registration and scheduler integrationprocess_startup()
andprocess_shutdown()
methods to support distributed worker processes with proper resource managementOpenAIHTTPBackend
with improved error handling, streaming support, beginning support for multimodal content processing, and configuration managementBackendInterface
withresolve()
method for processing generation requests with timing metadataresponse.py
with its streaming response types in favor of the new object modelTest Plan
Related Issues
Use of AI
## WRITTEN BY AI ##
)