{"id":13478554,"url":"https://github.com/modelfoxdotdev/modelfox","last_synced_at":"2025-04-11T06:21:00.426Z","repository":{"id":40339585,"uuid":"360985455","full_name":"modelfoxdotdev/modelfox","owner":"modelfoxdotdev","description":"ModelFox makes it easy to train, deploy, and monitor machine learning models.","archived":false,"fork":false,"pushed_at":"2024-08-02T17:23:15.000Z","size":28770,"stargazers_count":1473,"open_issues_count":39,"forks_count":64,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-04-03T06:07:46.253Z","etag":null,"topics":["automl","developer-tools","elixir","elixir-lang","go","golang","javascript","js","machine-learning","mlops","python","python3","ruby","ruby-on-rails","rust","rust-crate","rust-lang","rust-library","rustlang"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/modelfoxdotdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-23T19:25:24.000Z","updated_at":"2025-03-30T00:48:00.000Z","dependencies_parsed_at":"2024-06-19T00:28:22.594Z","dependency_job_id":"e6982212-9eda-4371-b5b9-2c7f80fc06c4","html_url":"https://github.com/modelfoxdotdev/modelfox","commit_stats":{"total_commits":500,"total_committers":10,"mean_commits":50.0,"dds":0.406,"last_synced_commit":"ec5d86b0a0557859231fd0a2cf98fa5550828f22"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modelfoxdotdev%2Fmodelfox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modelfoxdotdev%2Fmodelfox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modelfoxdotdev%2Fmodelfox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modelfoxdotdev%2Fmodelfox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/modelfoxdotdev","download_url":"https://codeload.github.com/modelfoxdotdev/modelfox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248352367,"owners_count":21089434,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automl","developer-tools","elixir","elixir-lang","go","golang","javascript","js","machine-learning","mlops","python","python3","ruby","ruby-on-rails","rust","rust-crate","rust-lang","rust-library","rustlang"],"created_at":"2024-07-31T16:01:58.670Z","updated_at":"2025-04-11T06:21:00.404Z","avatar_url":"https://github.com/modelfoxdotdev.png","language":"Rust","funding_links":[],"categories":["Rust","Large Scale Deployment","ML Platforms","Library / Framework","Repositories","Machine Learning"],"sub_categories":["ML Platforms"],"readme":"\u003cp align=\"center\"\u003e\n\t\u003cimg width=\"200px\" src=\"modelfox.png\" title=\"ModelFox\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\nModelFox makes it easy to train, deploy, and monitor machine learning models.\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\nTrain a model from a CSV file on the command line. Make predictions from Elixir, Go, JavaScript, PHP, Python, Ruby, or Rust. Learn about your models and monitor them in production from your browser.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://twitter.com/intent/follow?screen_name=modelfoxdotdev\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/twitter/follow/modelfoxdotdev?label=Follow%20modelfoxdotdev\u0026style=social\u0026color=blue\" alt=\"Follow @modelfoxdotdev on Twitter\" /\u003e\n\t\u003c/a\u003e\n\u003c/p\u003e\n\n# ModelFox\n\n[Discord](https://discord.gg/jT9ZGp3TK2)\n\nModelFox makes it easy to train, deploy, and monitor machine learning models.\n\n- Run `modelfox train` to train a model from a CSV file on the command line.\n- Make predictions with libraries for [Elixir](https://hex.pm/packages/modelfox), [Go](https://pkg.go.dev/github.com/modelfoxdotdev/modelfox-go), [JavaScript](https://www.npmjs.com/package/@modelfoxdotdev/modelfox), [PHP](https://packagist.org/packages/modelfox/modelfox), [Python](https://pypi.org/project/modelfox), [Ruby](https://rubygems.org/gems/modelfox), and [Rust](https://lib.rs/crates/modelfox).\n- Run `modelfox app` to learn more about your models and monitor them in production.\n\n### Install\n\nYou can install the modelfox CLI by either downloading the binary from the [latest github release](https://github.com/modelfoxdotdev/modelfox/releases/tag/v0.8.0), or by building from source. \n\n### Train\n\nTrain a machine learning model by running `modelfox train` with the path to a CSV file and the name of the column you want to predict.\n\n```\n$ modelfox train --file heart_disease.csv --target diagnosis --output heart_disease.modelfox\n✅ Loading data.\n✅ Computing features.\n🚂 Training model 1 of 8.\n[==========================================\u003e                         ]\n```\n\nThe CLI automatically transforms your data into features, trains a number of linear and gradient boosted decision tree models to predict the target column, and writes the best model to a `.modelfox` file. If you want more control, you can provide a config file.\n\n### Predict\n\nMake predictions with libraries for [Elixir](https://hex.pm/packages/modelfox), [Go](https://pkg.go.dev/github.com/modelfoxdotdev/modelfox-go), [JavaScript](https://www.npmjs.com/package/@modelfoxdotdev/modelfox), [PHP](https://packagist.org/packages/modelfox/modelfox), [Python](https://pypi.org/project/modelfox), [Ruby](https://rubygems.org/gems/modelfox), and [Rust](https://lib.rs/modelfox).\n\n```javascript\nlet modelfox = require(\"@modelfoxdotdev/modelfox\")\n\nlet model = new modelfox.Model(\"./heart_disease.modelfox\")\n\nlet input = {\n\tage: 63,\n\tgender: \"male\",\n\t// ...\n}\n\nlet output = model.predict(input)\nconsole.log(output)\n```\n\n```javascript\n{ className: 'Negative', probability: 0.9381780624389648 }\n```\n\n### Inspect\n\nRun `modelfox app`, open your browser to http://localhost:8080, and upload the model you trained.\n\n- View stats and metrics.\n- Tune your model to get the best performance.\n- Make example predictions and get detailed explanations.\n\n![report](./readme/report.png)\n\n![tune](./readme/tune.png)\n\n### Monitor\n\nOnce your model is deployed, make sure that it performs as well in production as it did in training. Opt in to logging by calling `logPrediction`.\n\n```javascript\n// Log the prediction.\nmodel.logPrediction({\n\tidentifier: \"6c955d4f-be61-4ca7-bba9-8fe32d03f801\",\n\tinput,\n\toptions,\n\toutput,\n})\n```\n\nLater on, if you find out the true value for a prediction, call `logTrueValue`.\n\n```javascript\n// Later on, if we get an official diagnosis for the patient, log the true value.\nmodel.logTrueValue({\n\tidentifier: \"6c955d4f-be61-4ca7-bba9-8fe32d03f801\",\n\ttrueValue: \"Positive\",\n})\n```\n\nNow you can:\n\n- Look up any prediction by its identifier and get a detailed explanation.\n- Get alerts if your data drifts or metrics dip.\n- Track production accuracy, precision, recall, etc.\n\n![predictions](./readme/predictions.png)\n\n![drift](./readme/drift.png)\n\n![metrics](./readme/metrics.png)\n\n## Building from Source\n\nThis repository is a Cargo workspace, and does not require anything other than the latest nightly Rust toolchain to get started with.\n\n1. Install [Rust](rust-lang.org) on Linux, macOS, or Windows.\n2. Clone this repo and `cd` into it.\n3. Run `cargo run` to run a debug build of the CLI.\n\nIf you are working on the app, run `scripts/app/dev`. This rebuilds and reruns the CLI with the `app` subcommand as you make changes.\n\nTo install all dependencies necessary to work on the language libraries and build releases, install [Nix](https://nixos.org) with [flake support](https://nixos.wiki/wiki/Flakes), then run `nix develop` or set up [direnv](https://github.com/direnv/direnv).\n\nIf you want to submit a pull request, please run `scripts/fmt` and `scripts/check` at the root of the repository to confirm that your changes are formatted correctly and do not have any errors.\n\n## License\n\nAll of this repository is MIT licensed, except for the `crates/app` directory, which is source available and free to use for testing, but requires a paid license to use in production.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodelfoxdotdev%2Fmodelfox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmodelfoxdotdev%2Fmodelfox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodelfoxdotdev%2Fmodelfox/lists"}