Releases: metantonio/ai-data-driven
Release list
0.1.1
Version 0.1.1
New Optimization - Quick Fixes
I have introduced a "Quick Fix" mechanism to significantly reduce token usage and context size:
- Structured Analysis:
-
error_analysis.pynow provides a JSON response that categorizes the error.
-
- Missing Imports Logic: If the AI detects a missing library (e.g., numpy),
executor.pynow prepends the import statement directly to the existing code and retries execution.
- Missing Imports Logic: If the AI detects a missing library (e.g., numpy),
-
- Bypassing Regeneration: This bypasses the expensive
CodeAdaptationAgentfix_codecall, saving hundreds of tokens and preventing the AI from accidentally changing working parts of the code while trying to fix a simple import. This makes the system much more efficient and robust against context window limits.
- Bypassing Regeneration: This bypasses the expensive
QLX AI powered data science by Qualex
Engineer: Antonio Martínez
0.1.0
Version 0.1.0
Check latest Version
Have implemented limits on the error message size and the history of failed attempts to ensure that the LLM context is not exceeded when the AI tries to fix code multiple times.
Changes Made
-
- Truncating stderr in ExecutorService
I modifiedexecutor.pyto truncate the standard error output (stderr) to the last 2000 characters before sending it to the AI for analysis or fixing. Usually, the most relevant traceback info is at the end of the error log.
- Truncating stderr in ExecutorService
-
- Limiting Error History Storage
Inexecutor.py, the error_history list now only stores the last 500 characters of each error message to keep the object size manageable.
- Limiting Error History Storage
-
- Pruning History in CodeAdaptationAgent
Incode_adaptor.py, the fix_code method now only includes the last 3 failed attempts in its prompt. This prevents the "history section" of the prompt from growing indefinitely.
- Pruning History in CodeAdaptationAgent
QLX AI powered data science by Qualex
Engineer: Antonio Martínez
0.0.9
Version 0.0.9 (deprecated)
Check latest Version
I have fixed the issue where long-running ML training tasks (when retries>=3, like the one with 49 Random Forest trials) would cause a "network error". This happened because the server was not sending any data while waiting for the training to finish, leading to a timeout.
Changes Made
-
- Asynchronous Subprocess Streaming
Updated the ExecutorService (executor.py) to run pipeline scripts using asynchronous subprocesses.
Instead of waiting for the script to finish, it now reads the output line by line. Each line is sent immediately to the frontend as a status update.
- Asynchronous Subprocess Streaming
This keeps the network connection active and provides real-time feedback.
-
- Verbose ML Templates
Updated the ML templates to provide more progress information during training:
- Verbose ML Templates
-
-
- AutoML: Now prints the current algorithm being optimized.
-
-
-
- Random Forest: Now prints when SHAP value calculation starts.
-
-
-
- Scikit-Learn: Enabled verbose=1 in RandomizedSearchCV to show trial progress in the logs.
-
QLX AI powered data science by Qualex
Engineer: Antonio Martínez
0.0.8
Version 0.0.8 (deprecated)
Check latest Version
Recreated graphic creations with plotly
QLX AI powered data science by Qualex
Bug found: Executor has an error when retries >3
Engineer: Antonio Martínez
0.0.7
Version 0.0.7 (deprecated)
Check latest Version
Recreated graphic creations with plotly
QLX AI powered data science by Qualex
Engineer: Antonio Martínez
0.0.6
Version 0.0.6 (deprecated)
Added very nice stuff and a sandbox to test previous trained ML models
Check latest Version
0.0.5
Version 0.0.5 (deprecated)
Check latest Version
Changes Made
- User Interface Enhancement
In the Advanced Analysis page, I added a new section "Project Objective" with a text area. This is where you can describe your goal (e.g., "Predict customer churn").
Advanced Analysis UI (Note: Placeholder caption for UI)
-
Objective-Driven SQL & EDA
Dynamic Dataset Construction: When an objective is provided, the Automatic EDA Agent now uses the LLM to write a custom SQL query. This query can join multiple tables to build exactly the dataset needed for your goal.
Targeted EDA: All subsequent EDA phases (Statistics, Missing Data, Correlations) now take the objective into account when generating insights. -
Tailored Machine Learning Code
The Code Adaptation Agent uses the ML objective to customize the load_data and preprocessing steps in the final Python script.
The Insights Agent now evaluates the model's performance specifically against the stated objective. -
Improved Join Accuracy & Schema Context
AI-Friendly Schema: Added a specialized text-based schema representation (get_llm_schema_context) that explicitly lists columns and foreign key relationships.
Strict SQL Rules & Prompt Sanitization:
Removed all specific examples (like casino_id) from AI prompts to prevent "mimicry" of non-existent columns.
Added a Mandatory Reasoning Step: Agents must now list and verify columns from the schema BEFORE writing any code.
Improved Error Fixing: Added logic to prevent agents from repeating failed join keys, forcing them to find alternatives or simplify the query.
- Technical Implementation
Backend Endpoints: Updated Pydantic models in endpoints.py to support ml_objective.
API Client: Updated client.ts to pass the new parameter through all stages of the pipeline.
State Management: Ensured the objective is preserved across navigation between AdvancedAnalysis, EDAProgress, and Results pages.
0.0.4
0.0.3
Agentic SQL mode in the manual EAD mode