Commit graph

4,542 commits

Author SHA1 Message Date
LeoBorcherding
d260fbb30c fix: install data-designer plugin non-editable for Colab compatibility
Editable installs (-e) work via a .pth file that is only processed at
Python startup. In Colab the kernel is already running when setup.sh
installs the plugin, so the .pth file never gets picked up and
data_designer_unstructured_seed is not importable.

Remove -e so pip copies the package files directly into site-packages,
which the live kernel can find immediately. Local venv installs are
unaffected since the venv is always created fresh before install.
2026-03-12 22:55:06 -05:00
Daniel Han
1ca441a3f3
[Feature] VLMs support for GRPO (#4265)
* Updated rl and rl_replacements

* Revert "Updated rl and rl_replacements"

This reverts commit 077fd5996daa73c9c58c9f213657f33f47f5d73b.

---------

Co-authored-by: Sinoué GAD <85933501+GAD-cell@users.noreply.github.com>
2026-03-12 16:09:02 -07:00
Daniel Han
74c1497f2f
[Feature] Support Sequence Classification (#4264)
* initial commit for sequence classification implementation

* Revert "initial commit for sequence classification implementation"

This reverts commit 0f3200cdf2dfb8446e5d69dcbe40d6f70bc520e7.

---------

Co-authored-by: Rabin Tiwari <84705625+rabintiwari45@users.noreply.github.com>
2026-03-12 16:08:49 -07:00
Daniel Han
96ff5c5f61
Update CODEOWNERS for studio and cli (#4266)
* Update CODEOWNERS for studio and cli

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-03-12 15:16:38 -07:00
Daniel Han
c26aa1a1e8 Restore non-studio files from main after history recovery 2026-03-12 21:48:45 +00:00
Daniel Han
6f0bca70f8 Merge remote-tracking branch 'studio/feature/merge-build-main' into history-recovery-candidate 2026-03-12 21:48:30 +00:00
Daniel Han
17ae3d3cba Revert "Studio (#4237)"
This reverts commit f08aef1804.
2026-03-12 21:48:23 +00:00
Roland Tannous
2b04c0da40 add build.sh 2026-03-12 20:52:42 +00:00
Roland Tannous
47654cb91c Final cleanup 2026-03-12 18:28:04 +00:00
Roland Tannous
3613166b6d Delete studio/frontend/README.md 2026-03-12 22:20:34 +04:00
Roland Tannous
8002913b7c Delete studio/frontend/AGENTS.md 2026-03-12 22:20:23 +04:00
Roland Tannous
a2baf80511 Update license headers 2026-03-12 17:23:10 +00:00
Roland Tannous
7de1c18c14 Update llm_assist.py 2026-03-12 21:06:04 +04:00
Roland Tannous
063cdc6072 Update llm_assist.py 2026-03-12 20:32:04 +04:00
Roland Tannous
5798a34606 Update run.py 2026-03-12 19:28:48 +04:00
Roland Tannous
9bb64fbd96 Update run.py 2026-03-12 18:53:19 +04:00
Roland Tannous
10bee32f3d Update run.py 2026-03-12 18:30:00 +04:00
Roland Tannous
20aeb2ef19 Update studio.py 2026-03-12 18:13:56 +04:00
Roland Tannous
7881fc253f Update install_python_stack.py 2026-03-12 18:06:37 +04:00
Roland Tannous
542a25977a Update run.py 2026-03-12 18:01:14 +04:00
Roland Tannous
f598e69f38 Update studio.py 2026-03-12 17:30:10 +04:00
Roland Tannous
874711912d Update studio.py 2026-03-12 17:28:08 +04:00
Roland Tannous
788b120114 Update setup.ps1 2026-03-12 17:11:20 +04:00
Roland Tannous
3cf27589a6 Remove AGENTS.md from frontend folder 2026-03-12 12:00:42 +00:00
Roland Tannous
a98164af50 Remove README.md from frontend folder 2026-03-12 11:59:56 +00:00
Daniel Han
36785caf80 Cache packed sequence metadata to reduce D2H syncs across layers (#4243)
* packing optimziation with cache to reduce D2H copy

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* cache per device to avoid race condition for multi-gpu

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add cache freeing up func

---------

Co-authored-by: ruixiangw <ruixiangw@nvidia.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: ruixiang <wangruixiang07@outlook.com>
2026-03-12 03:37:49 -07:00
Daniel Han
f08aef1804 Studio (#4237)
* Rebuild Studio branch on top of main

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix security and code quality issues for Studio PR #4237

- Validate models_dir query param against allowed directory roots
  to prevent path traversal in /api/models/local endpoint
- Replace string startswith() with Path.is_relative_to() for
  frontend path traversal check in serve_frontend
- Sanitize SSE error messages to not leak exception details to
  clients (4 locations in inference.py)
- Bind port-discovery socket to 127.0.0.1 instead of all interfaces
  in llama_cpp backend
- Import datasets_root and resolve_output_dir in embedding training
  function to fix NameError and use managed output directory
- Remove stale .gitignore entries for package-lock.json and test
  directories so tests can be tracked in version control
- Add venv-reexecution logic to ui CLI command matching the studio
  command behavior

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Move models_dir path validation before try/except block

The HTTPException(403) was inside the try/except Exception handler,
so it would be caught and re-raised as a 500. Moving the validation
before the try block ensures the 403 is returned directly and also
makes the control flow clearer for static analysis (path is validated
before any filesystem operations).

* Use os.path.realpath + startswith for models_dir validation

CodeQL py/path-injection does not recognize Path.is_relative_to() as
a sanitizer. Switched to os.path.realpath + str.startswith which is
a recognized sanitizer pattern in CodeQL's taint analysis. The
startswith check uses root_str + os.sep to prevent prefix collisions
(e.g. /app/models_evil matching /app/models).

* Never pass user input to Path constructor in models_dir validation

CodeQL traces taint through Path(resolved) even after a startswith
barrier guard. Fix: the user-supplied models_dir is only used as a
string for comparison against allowed roots. The Path object passed
to _scan_models_dir comes from the trusted allowed_roots list, not
from user input. This fully breaks the taint chain.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-03-12 03:36:19 -07:00
Roland Tannous
400b6ecede Update setup.ps1 2026-03-12 02:44:25 +04:00
Roland Tannous
220a7bb1ed Update setup.sh 2026-03-12 02:42:43 +04:00
Roland Tannous
11e74b2dc5 resolved conflicts 2026-03-11 20:58:25 +00:00
Roland Tannous
1087216cb5 Merge branch 'fix/pre-merge-cleanup' into feature/merge-build-final 2026-03-11 20:56:49 +00:00
Roland Tannous
6f77c63229 refactor: remove project_root passing, use self-resolved paths and ~/.unsloth/studio
- Workers now compute backend_path and venv_t5 locally via Path(__file__)
- Moved .venv_t5 to ~/.unsloth/studio/.venv_t5
- Added ensure_studio_directories() call on server startup
- Expanded CLI studio command into sub-app with setup subcommand
2026-03-11 20:32:18 +00:00
Manan17
fbccac8cee shifting setup & co inside studio 2026-03-11 20:19:52 +00:00
Shine1i
bbb4cd0f0b feat(studio): add auth-specific paths and integrate auth database location 2026-03-11 20:19:52 +00:00
Shine1i
7012b8396f fix(studio): update temporary directory path to use system temp dir 2026-03-11 20:19:52 +00:00
Shine1i
904e440513 feat(studio): studio storage roots path utilities 2026-03-11 20:19:52 +00:00
Roland Tannous
d6e4a0644f resolved format_conversion conflict 2026-03-11 19:53:53 +00:00
Roland Tannous
6926a8b091 fix: prefer tabular files over archives in Tier 1 dataset preview
Tier 1 check-format was picking images.zip over testmini.parquet,
causing wrong columns (image/label) and broken VLM mapping.
Also log first VLM conversion failure instead of swallowing silently.
2026-03-11 19:13:11 +00:00
Roland Tannous
a63196c93e updated on completion response markers for qwen3.5 2026-03-11 19:00:29 +00:00
Roland Tannous
e455b307be add fmpeg system support for linux and windows 2026-03-11 18:50:11 +00:00
Roland Tannous
adf919f47a Remove test_llama_cpp.ps1 2026-03-11 18:18:19 +00:00
Roland Tannous
a6aa9a0efa Remove test_llama_cpp.ps1 from tracking 2026-03-11 18:10:25 +00:00
Roland Tannous
859bfe23c4 Merge pull request #375 from unslothai/feature/llm-assist-detection
Feature/llm assist detection
2026-03-11 22:02:33 +04:00
Roland Tannous
b274e9e0c6 chore: merge nightly & update dataset preview dialog mapping text 2026-03-11 17:00:14 +00:00
Roland Tannous
0e3ac91e2a feat: target AI Assist mapping prompts for audio & embedding models 2026-03-11 16:55:43 +00:00
Roland Tannous
9dac1bedf9 Merge remote-tracking branch 'origin/nightly' into feature/llm-assist-detection 2026-03-11 16:23:09 +00:00
Roland Tannous
6d6a62821e Merge pull request #374 from unslothai/fix/model-caching-issues
Fix: Normalize HuggingFace model identifiers to lowercase
2026-03-11 18:40:26 +04:00
Roland Tannous
7862e70211 fix: lowercase remote Hugging Face model IDs in ModelConfig and routes to prevent caching mismatches with Unsloth 2026-03-11 14:20:25 +00:00
Roland Tannous
fb211f3254 Merge pull request #372 from unslothai/fix/input-focus-clipping
Input focus outline clipped by container
2026-03-11 18:12:04 +04:00
Roland Tannous
774c9b17fd Merge pull request #373 from unslothai/feature/structlog-logging-system
feat: integrate structlog, configure workers for prod logging, and mi…
2026-03-11 16:52:49 +04:00