NovaML is a PoC application built with Streamlit, in Cyberpunk-like asthetics. UI and some assets are inspired by Cyberpunk 2077. It allows users to perform data analysis on generated dataset, build and compare machine learning models (regression and classification), evaluate their performance, and interact with an AI chatbot for insights and explanations.
- Dataset Analysis: Visualize and understand your data with charts and statistics.
- Machine Learning Modeling: Train and compare multiple regression and classification models with configurable settings.
- Model Evaluation: Evaluate the performance of your models.
- AI Chatbot (NovaGPT): Get explanations and insights about your data and models through an integrated AI chatbot.
- Interactive User Interface: A user-friendly and visually appealing interface built with Streamlit.
Data Generation and Charts | Model Training and Results | Settings for Further Exploration | Chatbot Interaction |
---|---|---|---|
Follow these steps to set up and run NovaML on your local machine.
- Python 3.11
- pipenv (for dependency management)
-
Clone the repository:
git clone https://github.com/your-username/NovaML.git cd NovaML
(Note: Replace
https://github.com/your-username/NovaML.git
with the actual repository URL if it's different.) -
Create and activate the virtual environment:
pipenv install pipenv shell
-
Set up API key variables:
.env.secret
file: This file is used to store your sensitive API key. Create this file in the root directory and add your API key:API_KEY="YOUR_OPENROUTER_API_KEY_HERE"
Replace
"YOUR_OPENROUTER_API_KEY_HERE"
with your actual API key from OpenRouter.
Once you have installed the dependencies and set up the environment variables, you can launch the application:
streamlit run main.py
The application will open in your default web browser.
NovaML/
components/ # Reusable Streamlit components and Python modules
static/ # Static assets like images, videos, and context files
main.py # Main application entry point
Pipfile # Project dependencies (managed by pipenv)
Pipfile.lock # Locked dependencies
.gitignore # Specifies intentionally untracked files to ignore
.env # Environment variables for general configuration
.env.secret # Environment variables for sensitive API key (not tracked by Git)