rapidfireai 0.9.9__tar.gz → 0.9.11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rapidfireai-0.9.9/rapidfireai.egg-info → rapidfireai-0.9.11}/PKG-INFO +40 -11
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/README.md +37 -8
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/pyproject.toml +5 -4
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/cli.py +25 -5
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/experiment.py +5 -1
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/start.sh +154 -141
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/constants.py +1 -2
- rapidfireai-0.9.11/rapidfireai/utils/ping.py +29 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/shm_manager.py +15 -11
- rapidfireai-0.9.11/rapidfireai/version.py +6 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11/rapidfireai.egg-info}/PKG-INFO +40 -11
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai.egg-info/SOURCES.txt +7 -0
- rapidfireai-0.9.11/rapidfireai.egg-info/entry_points.txt +2 -0
- rapidfireai-0.9.11/tutorial_notebooks/rf-tutorial-dpo-alignment-lite.ipynb +412 -0
- rapidfireai-0.9.11/tutorial_notebooks/rf-tutorial-dpo-alignment.ipynb +427 -0
- rapidfireai-0.9.11/tutorial_notebooks/rf-tutorial-grpo-mathreasoning-lite.ipynb +358 -0
- rapidfireai-0.9.11/tutorial_notebooks/rf-tutorial-grpo-mathreasoning.ipynb +371 -0
- rapidfireai-0.9.11/tutorial_notebooks/rf-tutorial-sft-chatqa-lite.ipynb +329 -0
- rapidfireai-0.9.11/tutorial_notebooks/rf-tutorial-sft-chatqa.ipynb +331 -0
- rapidfireai-0.9.9/rapidfireai/version.py +0 -6
- rapidfireai-0.9.9/rapidfireai.egg-info/entry_points.txt +0 -2
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/LICENSE +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/MANIFEST.in +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/__init__.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/automl/__init__.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/automl/base.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/automl/datatypes.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/automl/grid_search.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/automl/model_config.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/automl/random_search.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/backend/__init__.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/backend/chunks.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/backend/controller.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/backend/scheduler.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/backend/worker.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/db/__init__.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/db/db_interface.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/db/rf_db.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/db/tables.sql +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/dispatcher/dispatcher.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/dispatcher/gunicorn.conf.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/asset-manifest.json +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/favicon.ico +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/index.html +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/manifest.json +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/pdf.worker.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/report.html +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/1482.3b7bf531.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/2730.3f8937ff.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/318.0def90a7.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/4762.9b7b71f7.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/4950.487ecc8b.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/5170.2574ce9d.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/6121.4d541986.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/6343.dd6979f2.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/6534.433c213f.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/6920.ffac4b2a.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/7246.bf2f0c87.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/7367.dd6979f2.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/8690.05d081e5.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/9531.d0910d3c.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/9780.363e4943.chunk.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/css/main~d91a9049.c0be472c.css +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1000.e5ed264b.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1012.ac98ab59.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1079.6c13ac0d.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/110.9059f3b8.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1142.872d0010.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1167.9a6da14c.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1248.60890b4f.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1262.83dc7673.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1273.56da3e13.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1273.56da3e13.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1303.7d19305c.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1351.45076ff3.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1355.b896a592.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1357.02c46a02.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1470.c51d60c6.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1482.23b74f50.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1500.19799d8d.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1648.d3b9edc7.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1860.7d96e3f9.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1909.5b1d9ff4.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1928.44245110.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1928.44245110.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/1933.deba26ca.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/21.aac92802.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2103.0ca12071.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2258.b3b8fab4.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2289.9ad51e87.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2323.7dd927d7.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2323.7dd927d7.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2346.ed99ca72.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2386.0a660834.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2402.465048f9.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/243.5a83bbca.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2589.68571e16.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2647.65092bab.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2691.65d4a4e7.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2730.b38dd6f3.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2746.ef752da4.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2779.580d4491.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2799.fe5993b2.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2844.9708db79.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2844.9708db79.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2901.ee0c606b.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2932.7cc0689b.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2932.7cc0689b.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2956.a393c8cc.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2972.679bed05.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2985.7e51cdfa.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/2985.7e51cdfa.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3093.488df653.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3145.66ee61b9.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3170.a22f966a.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3170.a22f966a.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3307.f6fb258c.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3325.d5b03d65.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3334.2d6704df.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3334.2d6704df.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3387.bb8edad3.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3448.438e6579.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3460.735eea87.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3505.7fd3921a.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3505.7fd3921a.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3510.cd167a00.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3510.cd167a00.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3563.cc828e19.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/359.08960b84.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/359.08960b84.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3608.403b4b79.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3652.cb8add7f.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3775.5230b157.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3817.53555d18.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3817.53555d18.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3835.d9946ff9.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3964.874f0297.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3968.275cbc3d.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/3999.765cbd82.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4020.4452c046.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4138.2f6f6d9f.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4160.f424554c.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4180.50cea095.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4221.b0bba3f5.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4250.5bb49278.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4297.15777d8f.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4349.c965f2de.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4349.c965f2de.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4484.4cbe5e7f.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4484.4cbe5e7f.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4578.a8124588.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4596.89a97480.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4748.566f435a.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4762.928e8a90.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4768.7945be63.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4768.7945be63.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4804.26b50dd4.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4850.62390a45.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4862.a0ccb221.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/491.5dc8ed40.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/492.9262f038.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/492.9262f038.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4943.6d345fd3.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/4950.bc182e62.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5042.d4f0c65a.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5042.d4f0c65a.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5170.0065e96f.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5222.35c74a52.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5222.35c74a52.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5223.3224f019.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5223.3224f019.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5229.7dd42316.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5286.4c1ad26b.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5486.21cff711.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5526.7b368956.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5605.1ee4d87b.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5682.40b42d8b.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5794.9433d867.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5826.38a56e8c.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5826.38a56e8c.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5862.50f42a0b.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5895.e26742f1.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/5919.edd4a5cf.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/598.a0e792ae.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6058.74162bf9.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/618.06051134.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/618.06051134.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6335.9fca442d.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6336.e05e1154.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6343.2bcd28ff.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6363.a319b8f2.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6478.344abf25.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6504.1c004564.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6534.ec7e149b.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6715.55a5c19c.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6756.e6cb993c.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6756.e6cb993c.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6762.acfde9fd.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6762.acfde9fd.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6846.67103d0e.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6861.34cf0198.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6899.0eaf36a8.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6899.0eaf36a8.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/6933.8b564944.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/699.d0437920.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7076.4182f63a.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7186.42ad86d5.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7248.a46635fd.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/725.6b15a14a.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7266.3575539d.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7270.0a1e84fc.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7270.0a1e84fc.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7367.7120474f.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7436.8e226055.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7504.ef223844.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7603.ee049fe3.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7670.2835b49a.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7670.2835b49a.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7721.7390b3cc.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7731.5796cced.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/775.660a5deb.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/775.660a5deb.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7832.7976a3e4.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7844.72cc2e81.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7948.48eab032.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7972.085079d4.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/7972.085079d4.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8017.a9e7dc5a.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8023.75f1f3df.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8023.75f1f3df.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8123.b69db974.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/813.065a87e5.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/819.2056f122.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/819.2056f122.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8262.04bc17d1.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8300.75adcc4f.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8336.b1d3e764.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8365.26cf64ea.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8398.8bca8e0e.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8398.8bca8e0e.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/847.33ceed50.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/847.33ceed50.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8486.8ec852a7.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8497.19378265.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8541.4c55c9f4.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8690.e305a804.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8690.e305a804.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8712.a9445fe6.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8763.61761e08.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8823.baf9bffd.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8823.baf9bffd.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8867.767462b7.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8953.c0f88dea.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8960.357cb1eb.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/8960.357cb1eb.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9.f4492795.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9.f4492795.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9079.88a8d2a3.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9082.37c40520.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9133.90ae330d.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9133.90ae330d.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9151.1ac359d5.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9151.1ac359d5.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9168.027bf2fd.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9194.9c5cc548.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9244.026f4aee.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/936.2e02d037.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/936.2e02d037.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9369.7d1a0a1d.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9427.7c8442e7.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/944.55948859.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9499.c53a82da.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9499.c53a82da.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9531.3ce05781.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9547.92fac952.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9547.92fac952.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9620.b6e973a7.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9645.6fddfa65.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9669.d38dda6d.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9682.41b6b807.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9720.19d5ae76.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9720.19d5ae76.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9723.d3c7fe9e.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9780.02a27630.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9808.d0ca9674.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9808.d0ca9674.chunk.js.LICENSE.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9815.b8db3c5d.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/9886.2940b53a.chunk.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/main~1f912138.fa9d03b1.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/main~43dd7041.2e00860d.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/js/main~84781932.68deffff.js +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/404-overflow.fad9a31861b0afba6f921ebb8e769688.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/RapidFire_Square_Bug.27ceb48296314a4bc0d4.png +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/chart-bar.0fd4a63680fba840a7b69fbf07969f79.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/chart-contour.0d4b306f2669f3ad25375568935e3ce3.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/chart-difference.16174216d6f3b7c24f40e3541fe0ca2c.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/chart-image.cc434c4dc50780966344e2385a15f8fe.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/chart-line.0adaa2036bb4eb5956db6d0c7e925a3d.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/chart-parallel.da7dedf539b2af4b654d377c679173e4.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/chart-scatter.69118d0023a6ff3973f7fa913834ac47.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/default-error.f246ddf367c6fbd67942e5a13382a7f1.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/fontawesome-webfont.1e59d2330b4c6deb84b3.ttf +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/fontawesome-webfont.20fd1704ea223900efa9.woff2 +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/fontawesome-webfont.8b43027f47b20503057d.eot +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/fontawesome-webfont.c1e38fd9e0e74ba58f7a.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/fontawesome-webfont.f691f37e57f04c152e23.woff +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/icon-visible-fill.8d34cd35303828fdfc15154f5536e63b.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/no-experiments.0e4f4a114ef73e7d81c09474aba64b6c.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/parallel-chart-placeholder.234ef0c5b220ef2a5a6fa5bafff173f7.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/permission-denied-lock.16036747d57cd663d7df223781a447b2.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/promo-modal-content.e3b2c6c568ac192b9bec54b838b54850.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/registered-model-grey-ok.8274b58d39504c8d1b8c358aa1c9aa35.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/build/static/media/warning.290a3b14118933547965e91ea61c5a61.svg +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/proxy_middleware.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/frontend/server.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/ml/__init__.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/ml/callbacks.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/ml/checkpoint_utils.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/ml/trainer.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/__init__.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/automl_utils.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/datapaths.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/exceptions.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/experiment_utils.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/logging.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/mlflow_manager.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/serialize.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/trainer_config.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai/utils/worker_manager.py +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai.egg-info/dependency_links.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai.egg-info/requires.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/rapidfireai.egg-info/top_level.txt +0 -0
- {rapidfireai-0.9.9 → rapidfireai-0.9.11}/setup.cfg +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rapidfireai
|
|
3
|
-
Version: 0.9.
|
|
4
|
-
Summary: RapidFire AI
|
|
3
|
+
Version: 0.9.11
|
|
4
|
+
Summary: RapidFire AI: Rapid Experimentation Engine for Customizing LLMs
|
|
5
5
|
Author-email: "RapidFire AI Inc." <support@rapidfire.ai>
|
|
6
6
|
License: Apache-2.0
|
|
7
7
|
Project-URL: Homepage, https://rapidfire.ai
|
|
8
|
-
Keywords: ai,rapidfire,deep-learning,artificial-intelligence,machine-learning,mlflow,experiment-tracking
|
|
8
|
+
Keywords: ai,rapidfire,rapidfireai,llm,deep-learning,artificial-intelligence,machine-learning,mlflow,experiment-tracking
|
|
9
9
|
Classifier: Development Status :: 4 - Beta
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: Intended Audience :: Science/Research
|
|
@@ -63,17 +63,20 @@ Rapid experimentation for easier, faster, and more impactful fine-tuning and pos
|
|
|
63
63
|
|
|
64
64
|
RapidFire AI is a new experiment execution framework that transforms your LLM customization experimentation from slow, sequential processes into rapid, intelligent workflows with hyperparallelized training, dynamic real-time experiment control, and automatic multi-GPU system orchestration.
|
|
65
65
|
|
|
66
|
-

|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
## Getting Started
|
|
70
|
+
|
|
70
71
|
### Prerequisites
|
|
72
|
+
|
|
71
73
|
- [NVIDIA GPU using the 7.x or 8.x Compute Capability](https://developer.nvidia.com/cuda-gpus)
|
|
72
74
|
- [NVIDIA CUDA Toolkit 11.8+](https://developer.nvidia.com/cuda-toolkit-archive)
|
|
73
75
|
- [Python 3.12.x](https://www.python.org/downloads/)
|
|
74
76
|
- [PyTorch 2.7.1+](https://pytorch.org/get-started/previous-versions/) with corresponding forward compatible prebuilt CUDA binaries
|
|
75
77
|
|
|
76
78
|
### Installation/Starting
|
|
79
|
+
|
|
77
80
|
```bash
|
|
78
81
|
virtualenv -p python3 oss_venv
|
|
79
82
|
source oss_venv/bin/activate
|
|
@@ -82,18 +85,36 @@ source oss_venv/bin/activate
|
|
|
82
85
|
pip install rapidfireai
|
|
83
86
|
|
|
84
87
|
# install specific dependencies and initialize rapidfire
|
|
85
|
-
|
|
88
|
+
# Optionally set RF_TUTORIAL_PATH environment variable to sepecify
|
|
89
|
+
# alternate location for copying tutorial notebooks to
|
|
90
|
+
rapidfireai init
|
|
86
91
|
|
|
87
92
|
# start the rapidfire server
|
|
88
|
-
|
|
93
|
+
rapidfireai start
|
|
89
94
|
|
|
90
95
|
# open up example notebook and start experiment
|
|
91
96
|
```
|
|
92
97
|
|
|
98
|
+
### Running tutorial notebooks
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
source oss_venv/bin/activate
|
|
93
102
|
|
|
103
|
+
# from replace <your_token> with your hugging face token
|
|
104
|
+
# https://huggingface.co/docs/hub/en/security-tokens
|
|
105
|
+
pip install "huggingface-hub[cli]"
|
|
106
|
+
hf auth login --token <your_token>
|
|
107
|
+
|
|
108
|
+
# open up example notebook from ./tutorial_notebooks and start experiment
|
|
109
|
+
```
|
|
94
110
|
|
|
95
111
|
### Troubleshooting
|
|
96
112
|
|
|
113
|
+
For a quick system diagnostics report (Python env, relevant packages, GPU/CUDA, and key environment variables), run:
|
|
114
|
+
```bash
|
|
115
|
+
rapidfireai doctor
|
|
116
|
+
```
|
|
117
|
+
|
|
97
118
|
If you encounter port conflicts, you can kill existing processes:
|
|
98
119
|
```bash
|
|
99
120
|
lsof -t -i:5002 | xargs kill -9 # mlflow
|
|
@@ -105,13 +126,14 @@ lsof -t -i:3000 | xargs kill -9 # frontend server
|
|
|
105
126
|
|
|
106
127
|
Browse or reference the full documentation, example use case tutorials, all API details, dashboard details, and more [here](https://rapidfire-ai-oss-docs.readthedocs-hosted.com/).
|
|
107
128
|
|
|
108
|
-
|
|
109
129
|
## Key Features
|
|
110
130
|
|
|
111
131
|
### MLflow Integration
|
|
132
|
+
|
|
112
133
|
Full MLflow support for experiment tracking and metrics visualization. A named RapidFire AI experiment corresponds to an MLflow experiment for comprehensive governance
|
|
113
134
|
|
|
114
135
|
### Interactive Control Operations (IC Ops)
|
|
136
|
+
|
|
115
137
|
First-of-its-kind dynamic real-time control over runs in flight. Can be invoked through the dashboard:
|
|
116
138
|
- Stop active runs; puts them in a dormant state
|
|
117
139
|
- Resume stopped runs; makes them active again
|
|
@@ -119,11 +141,12 @@ First-of-its-kind dynamic real-time control over runs in flight. Can be invoked
|
|
|
119
141
|
- Delete unwanted or failed runs
|
|
120
142
|
|
|
121
143
|
### Multi-GPU Support
|
|
144
|
+
|
|
122
145
|
The Scheduler automatically handles multiple GPUs on the machine and divides resources across all running configs for optimal resource utilization.
|
|
123
146
|
|
|
124
147
|
### Search and AutoML Support
|
|
125
|
-
Built-in procedures for searching over configuration knob combinations, including Grid Search and Random Search. Easy to integrate with AutoML procedures. Native support for some popular AutoML procedures and customized automation of IC Ops coming soon.
|
|
126
148
|
|
|
149
|
+
Built-in procedures for searching over configuration knob combinations, including Grid Search and Random Search. Easy to integrate with AutoML procedures. Native support for some popular AutoML procedures and customized automation of IC Ops coming soon.
|
|
127
150
|
|
|
128
151
|
## Directory Structure
|
|
129
152
|
|
|
@@ -142,6 +165,7 @@ rapidfireai/
|
|
|
142
165
|
## Architecture
|
|
143
166
|
|
|
144
167
|
RapidFire AI adopts a microservices-inspired loosely coupled distributed architecture with:
|
|
168
|
+
|
|
145
169
|
- **Dispatcher**: Web API layer for UI communication
|
|
146
170
|
- **Database**: SQLite for state persistence
|
|
147
171
|
- **Controller**: Central orchestrator running in user process
|
|
@@ -150,30 +174,36 @@ RapidFire AI adopts a microservices-inspired loosely coupled distributed archite
|
|
|
150
174
|
|
|
151
175
|
This design enables efficient resource utilization while providing a seamless user experience for AI experimentation.
|
|
152
176
|
|
|
153
|
-
|
|
154
177
|
## Components
|
|
155
178
|
|
|
156
179
|
### Dispatcher
|
|
180
|
+
|
|
157
181
|
The dispatcher provides a REST API interface for the web UI. It can be run via Flask as a single app or via Gunicorn to have it load balanced. Handles interactive control features and displays the current state of the runs in the experiment.
|
|
158
182
|
|
|
159
183
|
### Database
|
|
184
|
+
|
|
160
185
|
Uses SQLite for persistent storage of metadata of experiments, runs, and artifacts. The Controller also uses it to talk with Workers on scheduling state. A clean asynchronous interface for all DB operations, including experiment lifecycle management and run tracking.
|
|
161
186
|
|
|
162
187
|
### Controller
|
|
188
|
+
|
|
163
189
|
Runs as part of the user’s console or Notebook process. Orchestrates the entire training lifecycle including model creation, worker management, and scheduling. The `run_fit` logic handles sample preprocessing, model creation for given knob configurations, worker initialization, and continuous monitoring of training progress across distributed workers.
|
|
164
190
|
|
|
165
191
|
### Worker
|
|
192
|
+
|
|
166
193
|
Handles the actual model training and inference on the GPUs. Workers poll the Database for tasks, load dataset chunks, and execute training runs with checkpointing and progress reporting. Currently expects any given model for given batch size to fit on a single GPU.
|
|
167
194
|
|
|
168
195
|
### Experiment
|
|
196
|
+
|
|
169
197
|
Manages the complete experiment lifecycle, including creation, naming conventions, and cleanup. Experiments are automatically named with unique suffixes if conflicts exist, and all experiment metadata is tracked in the Database. An experiment's running tasks are automatically cancelled when the process ends abruptly.
|
|
170
198
|
|
|
171
199
|
### Dashboard
|
|
172
|
-
A fork of MLflow that enables full tracking and visualization of all experiments and runs. It features a new panel for Interactive Control Ops that can be performed on any active runs.
|
|
173
200
|
|
|
201
|
+
A fork of MLflow that enables full tracking and visualization of all experiments and runs. It features a new panel for Interactive Control Ops that can be performed on any active runs.
|
|
174
202
|
|
|
175
203
|
## Developing with RapidFire AI
|
|
204
|
+
|
|
176
205
|
### Prerequisites
|
|
206
|
+
|
|
177
207
|
- Python 3.x
|
|
178
208
|
- Git
|
|
179
209
|
- Ubuntu/Debian system (for apt package manager)
|
|
@@ -239,4 +269,3 @@ lsof -t -i:8080 | xargs kill -9 # dispatcher
|
|
|
239
269
|
lsof -t -i:5002 | xargs kill -9 # mlflow
|
|
240
270
|
lsof -t -i:3000 | xargs kill -9 # frontend
|
|
241
271
|
```
|
|
242
|
-
|
|
@@ -6,17 +6,20 @@ Rapid experimentation for easier, faster, and more impactful fine-tuning and pos
|
|
|
6
6
|
|
|
7
7
|
RapidFire AI is a new experiment execution framework that transforms your LLM customization experimentation from slow, sequential processes into rapid, intelligent workflows with hyperparallelized training, dynamic real-time experiment control, and automatic multi-GPU system orchestration.
|
|
8
8
|
|
|
9
|
-

|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
## Getting Started
|
|
13
|
+
|
|
13
14
|
### Prerequisites
|
|
15
|
+
|
|
14
16
|
- [NVIDIA GPU using the 7.x or 8.x Compute Capability](https://developer.nvidia.com/cuda-gpus)
|
|
15
17
|
- [NVIDIA CUDA Toolkit 11.8+](https://developer.nvidia.com/cuda-toolkit-archive)
|
|
16
18
|
- [Python 3.12.x](https://www.python.org/downloads/)
|
|
17
19
|
- [PyTorch 2.7.1+](https://pytorch.org/get-started/previous-versions/) with corresponding forward compatible prebuilt CUDA binaries
|
|
18
20
|
|
|
19
21
|
### Installation/Starting
|
|
22
|
+
|
|
20
23
|
```bash
|
|
21
24
|
virtualenv -p python3 oss_venv
|
|
22
25
|
source oss_venv/bin/activate
|
|
@@ -25,18 +28,36 @@ source oss_venv/bin/activate
|
|
|
25
28
|
pip install rapidfireai
|
|
26
29
|
|
|
27
30
|
# install specific dependencies and initialize rapidfire
|
|
28
|
-
|
|
31
|
+
# Optionally set RF_TUTORIAL_PATH environment variable to sepecify
|
|
32
|
+
# alternate location for copying tutorial notebooks to
|
|
33
|
+
rapidfireai init
|
|
29
34
|
|
|
30
35
|
# start the rapidfire server
|
|
31
|
-
|
|
36
|
+
rapidfireai start
|
|
32
37
|
|
|
33
38
|
# open up example notebook and start experiment
|
|
34
39
|
```
|
|
35
40
|
|
|
41
|
+
### Running tutorial notebooks
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
source oss_venv/bin/activate
|
|
36
45
|
|
|
46
|
+
# from replace <your_token> with your hugging face token
|
|
47
|
+
# https://huggingface.co/docs/hub/en/security-tokens
|
|
48
|
+
pip install "huggingface-hub[cli]"
|
|
49
|
+
hf auth login --token <your_token>
|
|
50
|
+
|
|
51
|
+
# open up example notebook from ./tutorial_notebooks and start experiment
|
|
52
|
+
```
|
|
37
53
|
|
|
38
54
|
### Troubleshooting
|
|
39
55
|
|
|
56
|
+
For a quick system diagnostics report (Python env, relevant packages, GPU/CUDA, and key environment variables), run:
|
|
57
|
+
```bash
|
|
58
|
+
rapidfireai doctor
|
|
59
|
+
```
|
|
60
|
+
|
|
40
61
|
If you encounter port conflicts, you can kill existing processes:
|
|
41
62
|
```bash
|
|
42
63
|
lsof -t -i:5002 | xargs kill -9 # mlflow
|
|
@@ -48,13 +69,14 @@ lsof -t -i:3000 | xargs kill -9 # frontend server
|
|
|
48
69
|
|
|
49
70
|
Browse or reference the full documentation, example use case tutorials, all API details, dashboard details, and more [here](https://rapidfire-ai-oss-docs.readthedocs-hosted.com/).
|
|
50
71
|
|
|
51
|
-
|
|
52
72
|
## Key Features
|
|
53
73
|
|
|
54
74
|
### MLflow Integration
|
|
75
|
+
|
|
55
76
|
Full MLflow support for experiment tracking and metrics visualization. A named RapidFire AI experiment corresponds to an MLflow experiment for comprehensive governance
|
|
56
77
|
|
|
57
78
|
### Interactive Control Operations (IC Ops)
|
|
79
|
+
|
|
58
80
|
First-of-its-kind dynamic real-time control over runs in flight. Can be invoked through the dashboard:
|
|
59
81
|
- Stop active runs; puts them in a dormant state
|
|
60
82
|
- Resume stopped runs; makes them active again
|
|
@@ -62,11 +84,12 @@ First-of-its-kind dynamic real-time control over runs in flight. Can be invoked
|
|
|
62
84
|
- Delete unwanted or failed runs
|
|
63
85
|
|
|
64
86
|
### Multi-GPU Support
|
|
87
|
+
|
|
65
88
|
The Scheduler automatically handles multiple GPUs on the machine and divides resources across all running configs for optimal resource utilization.
|
|
66
89
|
|
|
67
90
|
### Search and AutoML Support
|
|
68
|
-
Built-in procedures for searching over configuration knob combinations, including Grid Search and Random Search. Easy to integrate with AutoML procedures. Native support for some popular AutoML procedures and customized automation of IC Ops coming soon.
|
|
69
91
|
|
|
92
|
+
Built-in procedures for searching over configuration knob combinations, including Grid Search and Random Search. Easy to integrate with AutoML procedures. Native support for some popular AutoML procedures and customized automation of IC Ops coming soon.
|
|
70
93
|
|
|
71
94
|
## Directory Structure
|
|
72
95
|
|
|
@@ -85,6 +108,7 @@ rapidfireai/
|
|
|
85
108
|
## Architecture
|
|
86
109
|
|
|
87
110
|
RapidFire AI adopts a microservices-inspired loosely coupled distributed architecture with:
|
|
111
|
+
|
|
88
112
|
- **Dispatcher**: Web API layer for UI communication
|
|
89
113
|
- **Database**: SQLite for state persistence
|
|
90
114
|
- **Controller**: Central orchestrator running in user process
|
|
@@ -93,30 +117,36 @@ RapidFire AI adopts a microservices-inspired loosely coupled distributed archite
|
|
|
93
117
|
|
|
94
118
|
This design enables efficient resource utilization while providing a seamless user experience for AI experimentation.
|
|
95
119
|
|
|
96
|
-
|
|
97
120
|
## Components
|
|
98
121
|
|
|
99
122
|
### Dispatcher
|
|
123
|
+
|
|
100
124
|
The dispatcher provides a REST API interface for the web UI. It can be run via Flask as a single app or via Gunicorn to have it load balanced. Handles interactive control features and displays the current state of the runs in the experiment.
|
|
101
125
|
|
|
102
126
|
### Database
|
|
127
|
+
|
|
103
128
|
Uses SQLite for persistent storage of metadata of experiments, runs, and artifacts. The Controller also uses it to talk with Workers on scheduling state. A clean asynchronous interface for all DB operations, including experiment lifecycle management and run tracking.
|
|
104
129
|
|
|
105
130
|
### Controller
|
|
131
|
+
|
|
106
132
|
Runs as part of the user’s console or Notebook process. Orchestrates the entire training lifecycle including model creation, worker management, and scheduling. The `run_fit` logic handles sample preprocessing, model creation for given knob configurations, worker initialization, and continuous monitoring of training progress across distributed workers.
|
|
107
133
|
|
|
108
134
|
### Worker
|
|
135
|
+
|
|
109
136
|
Handles the actual model training and inference on the GPUs. Workers poll the Database for tasks, load dataset chunks, and execute training runs with checkpointing and progress reporting. Currently expects any given model for given batch size to fit on a single GPU.
|
|
110
137
|
|
|
111
138
|
### Experiment
|
|
139
|
+
|
|
112
140
|
Manages the complete experiment lifecycle, including creation, naming conventions, and cleanup. Experiments are automatically named with unique suffixes if conflicts exist, and all experiment metadata is tracked in the Database. An experiment's running tasks are automatically cancelled when the process ends abruptly.
|
|
113
141
|
|
|
114
142
|
### Dashboard
|
|
115
|
-
A fork of MLflow that enables full tracking and visualization of all experiments and runs. It features a new panel for Interactive Control Ops that can be performed on any active runs.
|
|
116
143
|
|
|
144
|
+
A fork of MLflow that enables full tracking and visualization of all experiments and runs. It features a new panel for Interactive Control Ops that can be performed on any active runs.
|
|
117
145
|
|
|
118
146
|
## Developing with RapidFire AI
|
|
147
|
+
|
|
119
148
|
### Prerequisites
|
|
149
|
+
|
|
120
150
|
- Python 3.x
|
|
121
151
|
- Git
|
|
122
152
|
- Ubuntu/Debian system (for apt package manager)
|
|
@@ -182,4 +212,3 @@ lsof -t -i:8080 | xargs kill -9 # dispatcher
|
|
|
182
212
|
lsof -t -i:5002 | xargs kill -9 # mlflow
|
|
183
213
|
lsof -t -i:3000 | xargs kill -9 # frontend
|
|
184
214
|
```
|
|
185
|
-
|
|
@@ -4,15 +4,15 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "rapidfireai"
|
|
7
|
-
version = "0.9.
|
|
7
|
+
version = "0.9.11"
|
|
8
8
|
authors = [
|
|
9
9
|
{name = "RapidFire AI Inc.", email = "support@rapidfire.ai"},
|
|
10
10
|
]
|
|
11
|
-
description = "RapidFire AI
|
|
11
|
+
description = "RapidFire AI: Rapid Experimentation Engine for Customizing LLMs"
|
|
12
12
|
readme = "README.md"
|
|
13
13
|
requires-python = ">=3.12"
|
|
14
14
|
license = {text = "Apache-2.0"}
|
|
15
|
-
keywords = ["ai", "rapidfire", "deep-learning", "artificial-intelligence", "machine-learning", "mlflow", "experiment-tracking"]
|
|
15
|
+
keywords = ["ai", "rapidfire", "rapidfireai", "llm", "deep-learning", "artificial-intelligence", "machine-learning", "mlflow", "experiment-tracking"]
|
|
16
16
|
classifiers = [
|
|
17
17
|
"Development Status :: 4 - Beta",
|
|
18
18
|
"Intended Audience :: Developers",
|
|
@@ -70,7 +70,7 @@ full = [
|
|
|
70
70
|
Homepage = "https://rapidfire.ai"
|
|
71
71
|
|
|
72
72
|
[project.scripts]
|
|
73
|
-
|
|
73
|
+
rapidfireai = "rapidfireai.cli:main"
|
|
74
74
|
|
|
75
75
|
[tool.setuptools]
|
|
76
76
|
packages = ["rapidfireai"]
|
|
@@ -89,6 +89,7 @@ rapidfireai = [
|
|
|
89
89
|
"db/*.py",
|
|
90
90
|
"db/*.sql",
|
|
91
91
|
"utils/*.py",
|
|
92
|
+
"../tutorial_notebooks/**/*",
|
|
92
93
|
]
|
|
93
94
|
|
|
94
95
|
[tool.setuptools.exclude-package-data]
|
|
@@ -10,6 +10,7 @@ import argparse
|
|
|
10
10
|
import platform
|
|
11
11
|
import shutil
|
|
12
12
|
import re
|
|
13
|
+
import site
|
|
13
14
|
from pathlib import Path
|
|
14
15
|
from .version import __version__
|
|
15
16
|
|
|
@@ -301,8 +302,6 @@ def install_packages():
|
|
|
301
302
|
# Generate CUDA requirements file
|
|
302
303
|
cuda_major = get_cuda_version()
|
|
303
304
|
compute_capability = get_compute_capability()
|
|
304
|
-
print(f"CUDA major version: {cuda_major}")
|
|
305
|
-
print(f"Compute capability: {compute_capability}")
|
|
306
305
|
if cuda_major == 12:
|
|
307
306
|
print(f"\n🎯 Detected CUDA {cuda_major}.x")
|
|
308
307
|
packages.append({"package": "vllm==0.10.1.1", "extra_args": ["--torch-backend=cu126"]})
|
|
@@ -313,7 +312,7 @@ def install_packages():
|
|
|
313
312
|
print("\n⚠️ CUDA version not detected or unsupported.")
|
|
314
313
|
if compute_capability == 7:
|
|
315
314
|
print(f"\n🎯 Detected CUDA Compute Capability {compute_capability}.x")
|
|
316
|
-
|
|
315
|
+
print("Skipping flash-attn installation")
|
|
317
316
|
elif compute_capability == 8:
|
|
318
317
|
print(f"\n🎯 Detected CUDA Compute Capability {compute_capability}.x")
|
|
319
318
|
packages.append({"package": "flash-attn==2.8.3", "extra_args": ["--no-build-isolation"]})
|
|
@@ -333,19 +332,40 @@ def install_packages():
|
|
|
333
332
|
print(f" You may need to install {package} manually")
|
|
334
333
|
return 0
|
|
335
334
|
|
|
335
|
+
def copy_tutorial_notebooks():
|
|
336
|
+
"""Copy the tutorial notebooks to the project."""
|
|
337
|
+
print("Getting tutorial notebooks...")
|
|
338
|
+
try:
|
|
339
|
+
tutorial_path = os.getenv("RF_TUTORIAL_PATH", os.path.join(".", "tutorial_notebooks"))
|
|
340
|
+
site_packages_path = site.getsitepackages()[0]
|
|
341
|
+
source_path =os.path.join(site_packages_path, "tutorial_notebooks")
|
|
342
|
+
print(f"Copying tutorial notebooks from {source_path} to {tutorial_path}...")
|
|
343
|
+
os.makedirs(tutorial_path, exist_ok=True)
|
|
344
|
+
shutil.copytree(source_path, tutorial_path, dirs_exist_ok=True)
|
|
345
|
+
print(f"✅ Successfully copied notebooks to {tutorial_path}")
|
|
346
|
+
except Exception as e:
|
|
347
|
+
print(f"❌ Failed to copy notebooks to {tutorial_path}")
|
|
348
|
+
print(f" Error: {e}")
|
|
349
|
+
print(" You may need to copy notebooks manually")
|
|
350
|
+
return 1
|
|
351
|
+
return 0
|
|
352
|
+
|
|
353
|
+
|
|
336
354
|
def run_init():
|
|
337
355
|
"""Run the init command to initialize the project."""
|
|
338
356
|
print("🔧 Initializing RapidFire AI project...")
|
|
339
357
|
print("-" * 30)
|
|
340
358
|
print("Initializing project...")
|
|
341
359
|
install_packages()
|
|
360
|
+
copy_tutorial_notebooks()
|
|
361
|
+
|
|
342
362
|
return 0
|
|
343
363
|
|
|
344
364
|
def main():
|
|
345
|
-
"""Main entry point for the
|
|
365
|
+
"""Main entry point for the rapidfireai command."""
|
|
346
366
|
parser = argparse.ArgumentParser(
|
|
347
367
|
description="RapidFire AI - Start/stop/manage services",
|
|
348
|
-
prog="
|
|
368
|
+
prog="rapidfireai"
|
|
349
369
|
)
|
|
350
370
|
|
|
351
371
|
parser.add_argument(
|
|
@@ -5,7 +5,8 @@ This module contains the Experiment class which manages the entire experiment li
|
|
|
5
5
|
import multiprocessing as mp
|
|
6
6
|
import os
|
|
7
7
|
import traceback
|
|
8
|
-
from
|
|
8
|
+
from collections.abc import Callable
|
|
9
|
+
from typing import Any
|
|
9
10
|
|
|
10
11
|
import pandas as pd
|
|
11
12
|
from torch.utils.data import Dataset
|
|
@@ -17,6 +18,7 @@ from rapidfireai.utils.exceptions import ExperimentException
|
|
|
17
18
|
from rapidfireai.utils.experiment_utils import ExperimentUtils
|
|
18
19
|
from rapidfireai.utils.logging import RFLogger
|
|
19
20
|
from rapidfireai.utils.mlflow_manager import MLflowManager
|
|
21
|
+
from rapidfireai.version import __version__
|
|
20
22
|
|
|
21
23
|
|
|
22
24
|
class Experiment:
|
|
@@ -61,6 +63,8 @@ class Experiment:
|
|
|
61
63
|
self.logger = RFLogger().create_logger("experiment")
|
|
62
64
|
for msg in log_messages:
|
|
63
65
|
self.logger.info(msg)
|
|
66
|
+
# Log the version of rapidfireai that is running
|
|
67
|
+
self.logger.info(f"Running RapidFire AI version {__version__}")
|
|
64
68
|
except Exception as e:
|
|
65
69
|
raise ExperimentException(f"Error creating logger: {e}, traceback: {traceback.format_exc()}") from e
|
|
66
70
|
|