refactor/recommender-modular-structure#64
Open
DYung26 wants to merge 53 commits into
Open
Conversation
…LLM` querying with strategy-based execution, parallel model handling, multimodal message building, and weighted model scoring
…coding functions for `matplotlib` integration
…, performance, and fallback options
…on with key validation and model listing
…` models with endpoint, key validation, and model listing
… list_models, and validate_key methods
…orting text and multimodal queries with validation
… validation and supported models listing
…point with query, list_models, and key validation
…Ollama` models with query and validation
…th query, list_models, and key validation
…PI` with query, list_models, and key validation
…providers, manage `API` keys, and handle queries
…odels with iteration-based escalation
…order until success, with optional success tracking
…ghest-performance models with fallback to lower tiers
…l models for balanced usage
… provider/model pairs with iteration-aware selection
…ace` and `ProviderManager` with strategy-based model selection, remove `Groq`-specific hardcoding, and unify image handling
…ine to comply with `PEP8` formatting
…add new `AI/LLM` packages; update `setup.py` to read `README` safely and include additional dependencies
… license, and examples to `v0.1.3`
…arams (strategy, models, iterations, interactivity, timeout)
…d plot generation and validation system
…otlib plot mappings for common chart types
…te and grouped categorical plots
…ouped data handling
…riable visualization
…quency distribution
…ate category support
…lors, and NaN handling
…h seaborn integration
… and numeric validation
…ation, validation, and retrieval
… switch to registry-based unified plotgen `API` using `Basic/Smart` generators
…filing and variable-type detection
…egation and recommendation refinement
…t generation based on dataframe schema
… into structured visualization recommendations
…ting model querying, parsing, and ensemble scoring
… for external access
…gic to dedicated `recommender` module - Removed the inlined `VisualizationRecommender` class from `suggestions.py` and imported it from `visual_suggestion.recommender` - Simplified `suggestions.py` to serve as a lightweight interface for visualization recommendation - Updated `__init__.py` imports to correctly expose `VisualizationRecommender` from its new package - Enhanced `recommender()` function to support: - `StrategyName` parameter for configurable model selection strategy - `selected_models`, `interactive`, and `timeout` arguments for flexible runtime behavior - Improved module clarity and reduced redundancy by centralizing model, API, and ensemble logic under the recommender system
fcae811 to
57a605a
Compare
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.
This pull request introduces a new extensible plot generation system for the
plotsense.plot_generatorpackage, focusing on modularity and support for both basic and advanced (smart) plotting functionalities. The changes include a new base class for plot generators, a registry-based approach for plot type management, and a suite of basic and smart plot implementations with improved error handling and customization.Core architecture and extensibility
PlotGeneratorbase class inbase_generator.pythat validates input data, manages plot suggestions, and registers plot types using a registry pattern. This enables extensible and type-safe plot generation based on suggestions.BasicPlotGeneratorinbasic_generator.pythat maps common plot types (bar, box, histogram, scatter, etc.) to their respective functions for easy extension and use.Basic plot implementations
bar,barh,box,ecdf,hist,kde,pie,scatter,violin,hexbin) with clear input validation, error handling, and customizable labels/titles. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]Smart/advanced plot implementations
Utilities and helpers
set_labelsinhelpers.pyto standardize axis labeling for plots, improving code reuse and consistency.API cleanup
__init__.pyto only expose the high-levelplotgenfunction, removing direct exposure of the generator class for a cleaner API.