{"data":{"slug":"unslothai-unsloth","name":"unsloth","tagline":"A web UI for training and running open models locally.","github_url":"https://github.com/unslothai/unsloth","owner":"unslothai","repo":"unsloth","owner_avatar_url":"https://avatars.githubusercontent.com/u/150920049?v=4","primary_language":"Python","stars":69621,"forks":6285,"topics":["agent","deepseek","fine-tuning","gemma","gemma3","gpt-oss","llama","llama3","llm","llms","mistral","openai","qwen","reinforcement-learning","self-hosted","text-to-speech","tts","ui","unsloth"],"archived":false,"github_pushed_at":"2026-08-06T06:01:56+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/unslothai-unsloth","markdown_url":"https://www.graphcanon.com/tools/unslothai-unsloth.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/unslothai-unsloth","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=unslothai-unsloth","description":"Unsloth is a local UI for training and running Kimi K3, Gemma 4, Qwen3.6, DeepSeek-V4, GLM and other models.","homepage_url":"https://unsloth.ai/docs","license":"Apache-2.0","open_issues":1047,"watchers":365,"ai_summary":"Unsloth Studio is a platform that offers both a web UI (Studio) and code-based version (Core) to train and run various open-source language models such as Gemma, Qwen3.6, LLaMA, Mistral, etc., on local machines. It supports fine-tuning, reinforcement learning, and text-to-speech functionalities.","readme_excerpt":"## 📥 Install\nUnsloth can be used in two ways: through **[Unsloth Studio](https://unsloth.ai/docs/new/studio/)**, the web UI, or through **Unsloth Core**, the code-based version. Each has different requirements.\n\n---\n\n## 📥 Advanced Installation\nThe below advanced instructions are for Unsloth Studio. For Unsloth Core advanced installation, [view our docs](https://unsloth.ai/docs/get-started/install/pip-install#advanced-pip-installation).\n#### Developer / Nightly / Experimental installs: macOS, Linux, WSL:\nThe developer install builds from the `main` branch, which is the latest (nightly) source.\n```bash\ngit clone https://github.com/unslothai/unsloth\ncd unsloth\n./install.sh --local\nunsloth studio -p 8888\n```\nTo install into an isolated location (its own virtual env, `auth/`, `studio.db`, cache and llama.cpp build), set `UNSLOTH_STUDIO_HOME` and pass it again at launch:\n```bash\nUNSLOTH_STUDIO_HOME=\"$PWD/.studio\" ./install.sh --local\nUNSLOTH_STUDIO_HOME=\"$PWD/.studio\" unsloth studio -p 8888\n```\nThen to update :\n```bash\ncd unsloth && git pull\n./install.sh --local\nunsloth studio -p 8888\n```\n\n#### Developer / Nightly / Experimental installs: Windows PowerShell:\nThe developer install builds from the `main` branch, which is the latest (nightly) source.\n```powershell\ngit clone https://github.com/unslothai/unsloth.git\ncd unsloth\nSet-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass\n.\\install.ps1 --local\nunsloth studio -p 8888\n```\nTo install into an isolated location (its own virtual env, `auth/`, `studio.db`, cache and llama.cpp build), set `UNSLOTH_STUDIO_HOME` and pass it again at launch:\n```powershell\n$env:UNSLOTH_STUDIO_HOME=\"$PWD\\.studio\"; .\\install.ps1 --local\n$env:UNSLOTH_STUDIO_HOME=\"$PWD\\.studio\"; unsloth studio -p 8888\n```\nThen to update :\n```powershell\ncd unsloth; git pull\n.\\install.ps1 --local\nunsloth studio -p 8888\n```\n\n#### Remote access: `--secure` (HTTPS tunnel) vs raw port\nBy default `unsloth studio` binds to `127.0.0.1` (this machine only). To reach it from another device, pick one of:\n\n- `--secure` (recommended): serve **only** through a free Cloudflare HTTPS link. Unsloth stays bound to localhost and the tunnel provides the public URL; it fails closed (does not start) if the tunnel can't come up, so the raw port is never exposed.\n```bash\nunsloth studio --secure -p 8888\n```\n- `-H 0.0.0.0`: bind the raw port on all network interfaces, reachable from anywhere on the network (subject to your firewall). It does not create a public internet URL; add `--cloudflare` to also publish an internet-reachable `https://*.trycloudflare.com` link even behind a firewall. Only use this on a network you trust.\n```bash\nunsloth studio -H 0.0.0.0 -p 8888\n```\nThe Cloudflare tunnel is **off by default**: `-H 0.0.0.0` exposes the raw port only, not a public internet URL. Pair the wildcard bind with `--cloudflare` (`unsloth studio -H 0.0.0.0 --cloudflare`) to also publish a public `https://*.trycloudflare.com` link, or prefer `--secure` (above), which keeps the raw port private. `--cloudflare` has no effect on a loopback bind.\n\nOn a wildcard bind Unsloth works out the address to share by asking `ifconfig.me` for the public IP, then asks `check-host.net` whether that port is reachable so it can tell you if a firewall is in the way. Both contact a third party. Set `UNSLOTH_STUDIO_DISABLE_PUBLIC_CHECK=1` to skip them; the banner then shows the LAN address and no reachability line.\n\nThe first time Unsloth is published on a public URL (`--secure` or `--cloudflare`) with the auto-generated admin password still in place, it asks for a new admin password in the terminal (masked input with confirmation) before the public link goes up. Without an attached terminal it warns instead and keeps the bootstrap deadline: Unsloth shuts down after `UNSLOTH_STUDIO_BOOTSTRAP_TIMEOUT` (default 1 hour) unless the password is changed in the web UI.\n\nFor headless setups that cannot answer that prompt, set the initial admin password non-interactively with `--passwo","github_created_at":"2023-11-29T16:50:09+00:00","created_at":"2026-07-07T17:30:52.252116+00:00","updated_at":"2026-08-06T06:02:19.140089+00:00","categories":[{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"}],"tags":[{"slug":"agent","name":"agent"},{"slug":"deepseek","name":"deepseek"},{"slug":"fine-tuning","name":"fine-tuning"},{"slug":"gemma","name":"gemma"},{"slug":"gemma3","name":"gemma3"},{"slug":"llama","name":"llama"},{"slug":"mistral","name":"mistral"},{"slug":"openai","name":"openai"}],"trust":{"provenance":{"is_fork":false,"github_id":725205304,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-06T06:02:18.365Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":13,"days_since_push":0,"last_release_at":"2026-08-04T16:06:43Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:29:47.928Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-06T06:02:18.833Z"},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-08-06T06:02:18.833Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-08-06T06:02:18.833Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-08-06T06:02:18.833Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":{"notes":["Ensure Python environment is set up correctly for both Studio and Core."],"min_ram_gb":8,"requires_docker":false},"constraints":{"min_ram_gb":8,"requires_docker":false},"when_to_use":["You should use Unsloth if you need both fine-tuning capabilities and reinforcement learning functionalities on local infrastructure.","Choose Unsloth when your project requires self-hosted text-to-speech (TTS) features for open models like Gemma4 or Mistral.","If you prefer to have a graphical interface for managing model training, as opposed to a command-line based tool, Unsloth Studio is an ideal choice."],"when_not_to_use":["Avoid using Unsloth if your primary requirement is cloud-based deployment and management; this tool focuses on local machine capabilities.","Do not use Unsloth Core or Studio if you do not have the necessary infrastructure to support running language models locally, especially if you lack GPU resources.","If security is a paramount concern and you cannot tolerate any potential risks of exposing local services (even with HTTPS tunnels), a fully managed cloud-based service might be more appropriate than虞"],"source":"enrich:decision_facts","observed_at":"2026-07-11T10:43:35.055Z"},"constraint_facets":{"min_ram_gb":8,"requires_docker":false},"decision_summary":[{"label":"Requirements","value":"Min 8 GB RAM; Ensure Python environment is set up correctly for both Studio and Core."},{"label":"Adopt for","value":"Unsloth Studio provides a comprehensive web UI and code-based toolset, Unsloth Core, for training and deploying open-source language models locally. It supports a wide range of models including Gemma, Qwen3.6, LLaMA, and"}]}}