-
Notifications
You must be signed in to change notification settings - Fork 20
feat: add support for input overrides for multimodal evals #1101
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
Merged
+2,805
−4
Conversation
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
cd8bf89 to
9533f66
Compare
Contributor
|
LGTM, can we add some E2E testcases as well, please ? Here is an example 32cabaf |
mjnovice
approved these changes
Jan 13, 2026
4281ea4 to
452d38c
Compare
cristipufu
reviewed
Jan 14, 2026
cristipufu
previously requested changes
Jan 14, 2026
4ee8835 to
5aafbbb
Compare
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Updated the input override deep merge logic to be truly recursive, handling nested dictionaries at any depth. Previously only merged one level deep. Added 9 new tests covering edge cases including multiple nesting levels, type replacements, empty dicts, lists, None values, and immutability guarantees. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fixed two mypy errors: 1. Added type parameters to deep_merge function signature - Changed from `def deep_merge(base: dict, override: dict) -> dict:` - To: `def deep_merge(base: dict[str, Any], override: dict[str, Any]) -> dict[str, Any]:` 2. Added type annotation and import to test file - Added `from typing import Any` import - Added explicit type annotation to original_inputs variable All mypy checks now pass successfully. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…s parameter - Created new _eval_util.py with apply_input_overrides() and deep_merge() functions - Moved input override logic from ConfigurableRuntimeFactory to standalone utility - Added input_overrides as optional parameter to execute_runtime() method - Removed _configure_input_overrides() method and factory-based override storage - Updated all tests to use utility function directly - ConfigurableRuntimeFactory now focuses only on model settings overrides 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
f3a013c to
82244cb
Compare
Chibionos
approved these changes
Jan 14, 2026
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Added /add-integration-test command to help create integration tests - Follows the pattern established in PR #1101 (eval-input-overrides) - Bumped version from 2.4.21 to 2.4.22 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Added /add-integration-test command following PR #1101 pattern. This skill helps create new integration test cases in testcases/ directory following the established structure with: - run.sh execution script - pyproject.toml dependencies - entry-points.json and uipath.json configuration - src/ directory with eval sets and assert.py 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
test:uipath-langchain
Triggers tests in the uipath-langchain-python repository
test:uipath-llamaindex
Triggers tests in the uipath-llamaindex-python repository
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
_ConfigurableFactoryto handle file path overrides for multimodal inputs (images, audio, video, documents)_Runtimeto resolve and validate file paths during eval executionChanges
src/uipath/_cli/_evals/_configurable_factory.py(+70 lines): Added_resolve_file_path_overridesmethod to handle multimodal input overridessrc/uipath/_cli/_evals/_runtime.py(+19 lines): Integrated file path resolution into the runtime execution flowsrc/uipath/_cli/cli_eval.py(+10 lines): Extended CLI to support input overrides parametertests/cli/eval/test_configurable_factory.py(+157 lines): Unit tests for file path override logictests/cli/eval/test_input_overrides_e2e.py(+310 lines, new): E2E tests covering various override scenariosTest plan
_ConfigurableFactoryoverride resolution🤖 Generated with Claude Code