DashAI
A graphical toolbox for training, evaluating and deploying state-of-the-art AI models
Quick installation (Pypi)
DashAI needs Python 3.8 or greater to be installed. Once that requirement is satisfied, you can install DashAI via pip:
$ pip install dashai
Then, to initialize the server and the graphical interface, run:
$ dashai
Finally, go to http://localhost:3000/ in your browser to access to the DashAI graphical interface.
Test datasets
Some datasets you can use to try DashAI are available here.
Development
To download and run the development version of DashAI, first, download the repository and switch to the developing branch: :
$ git clone https://github.com/DashAISoftware/DashAI.git
$ git checkout develop
Frontend
Warning
All commands executed in this section must be run from DashAI/front. To move there, run:
$ cd DashAI/front
Prepare the environment
Install Yarn package manager following the instructions located on the yarn getting started page.
Move to DashAI/front and Install the project packages using yarn:
$ cd DashAI/front
$ yarn install
Running the frontend
Move to DashAI/front if you are not on that route:
$ cd DashAI/front
Then, launch the front-end development server by running the following command:
$ yarn start
If you want to launch the front-end test server (without launching the backend) with dummy data, run:
$ yarn json-server
Linting and formatting
The project uses as default linter eslint with the react/recommended, standard-with-typescript` and prettier` styles.
To manually run the linter, move to DashAI/front and run:
$ yarn eslint src
The project uses prettier as default formatter.
To format the code manually, move to DashAI/front and execute:
$ yarn prettier --write src
Build the frontend
Execute from DashAI/front:
$ yarn build
Backend
Prepare the environment
First, set the python enviroment using conda:
Then, move to DashAI/back
$ cd DashAI/back
Later, install the requirements:
$ pip install -r requirements.txt
$ pip install -r requirements-dev.txt
Running the Backend
There are three ways to run DashAI:
By executing DashAI as a module:
$ python -m DashAI
Or, installing the default build:
$ pip install .
$ dashai
If you chose the second way, remember to install it each time you make changes.
Setting the local execution path
With the –local-path option you can determine where DashAI will save its local files, such as datasets, experiments, runs and others. The following example shows how to set the folder in the local .DashAI directory:
$ python -m DashAI --local-path "~/.DashAI"
Setting the logging level
Through the –logging_level parameter, you can set which logging level the DashAI backend server will have.
$ python -m DashAI --logging-level INFO
The possible levels available are: DEBUG, INFO, WARNING, ERROR, CRITICAL.
Note that the –logging-level not only affects the DashAI loggers, but also the datasets (which is set to the same level as DashAI) and the SQLAlchemy (which is only activated when logging level is DEBUG).
Checking Available Options
You can check all available options through the command:
$ python -m DashAI --help
Execute tests
DashAI uses pytest to perform the backend tests. To execute the backend tests
Move to DashAI/back
$ cd DashAI/back
Run:
$ pytest tests/
Note
The database session is parametrized in every endpoint as
db: Session = Depends(get_db)
so we can test endpoints on a test database
without making changes to the main database.
Linting and formatting
The project uses as default backend linter ruff:
To manually run the linter, move to DashAI/back and execute:
$ ruff .
The project uses black as default formatter.
To manually format the code, move to DashAI/back and execute:
$ black .
Acknowledgments
This project is sponsored by the National Center for Artificial Intelligence - CENIA (FB210017), and the Millennium Institute for Foundational Data Research - IMFD (ICN17_002).
The core of the development is carried out by students from the Computer Science Department of the University of Chile and the Federico Santa Maria Technical University.
To see the full list of contributors, visit in Contributors the DashAI repository on Github.