Unsloth Studio is a web UI for training and running open models like Gemma 4, Qwen3.6, DeepSeek, gpt-oss locally.
7929 matches across 18 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | install.sh | 1763 | # ── Radeon repo wheel selection helpers ────────────────────────────────────── |
| MEDIUM | install.sh | 1869 | # ── Strix Halo / Strix Point: force rocm7.2 wheels, bypass Radeon repo ─────── |
| MEDIUM | studio/setup.sh | 26 | # ── Maintainer-editable defaults ────────────────────────────────────────── |
| MEDIUM | studio/setup.sh | 39 | # ────────────────────────────────────────────────────────────────────────── |
| MEDIUM | studio/install_python_stack.py | 54 | # ── ROCm / AMD GPU support ───────────────────────────────────────────────────── |
| MEDIUM | studio/install_python_stack.py | 979 | # ── Color support ────────────────────────────────────────────────────── |
| MEDIUM | studio/frontend/src/config/env.ts | 14 | // ── Platform / device type ────────────────────────────────── |
| MEDIUM | …rc/features/studio/sections/dataset-preview-dialog.tsx | 102 | // ── AI Assist ────────────────────────────────────────────────────── |
| MEDIUM | studio/frontend/src/features/chat/api/chat-adapter.ts | 1615 | // ── Audio model path (non-streaming) ───────────────────── |
| MEDIUM | …dio/frontend/src/features/training/api/datasets-api.ts | 64 | // ── AI Assist ──────────────────────────────────────────────────────── |
| MEDIUM | studio/frontend/src/features/export/api/export-api.ts | 135 | // ───────────────────────────────────────────────────────────────────── |
| MEDIUM | studio/frontend/src/features/export/api/export-api.ts | 137 | // ───────────────────────────────────────────────────────────────────── |
| MEDIUM | studio/frontend/src/components/assistant-ui/sources.tsx | 22 | // ── Helpers ────────────────────────────────────────────────── |
| MEDIUM | studio/frontend/src/components/assistant-ui/sources.tsx | 37 | // ── Sub-components ─────────────────────────────────────────── |
| MEDIUM | studio/frontend/src/components/assistant-ui/sources.tsx | 127 | // ── Source badge with hover card ───────────────────────────── |
| MEDIUM | studio/frontend/src/components/assistant-ui/sources.tsx | 180 | // ── Grouped sources with 2-row collapse ───────────────────── |
| MEDIUM | studio/frontend/src/components/assistant-ui/sources.tsx | 320 | // ── Exports ────────────────────────────────────────────────── |
| MEDIUM | …src/components/assistant-ui/model-selector/pickers.tsx | 205 | // ── GGUF Variant Expander ──────────────────────────────────── |
| MEDIUM | …src/components/assistant-ui/model-selector/pickers.tsx | 451 | // ── Detect GGUF repos by naming convention or hub tag ──────────────────── |
| MEDIUM | …src/components/assistant-ui/model-selector/pickers.tsx | 488 | // ── Hub Model Picker ────────────────────────────────────────── |
| MEDIUM | studio/frontend/src/lib/hf-cache.ts | 20 | // ── Cache & in-flight maps ────────────────────────────────────── |
| MEDIUM | studio/frontend/src/lib/hf-cache.ts | 37 | // ── Concurrency semaphore ─────────────────────────────────────── |
| MEDIUM | studio/frontend/src/lib/hf-cache.ts | 63 | // ── Public API ────────────────────────────────────────────────── |
| MEDIUM | studio/backend/main.py | 15 | # ── Windows AMD ROCm DLL injection ────────────────────────────────────────── |
| MEDIUM | studio/backend/core/training/training.py | 164 | # ------------------------------------------------------------------ |
| MEDIUM | studio/backend/core/training/training.py | 166 | # ------------------------------------------------------------------ |
| MEDIUM | studio/backend/core/training/training.py | 462 | # ------------------------------------------------------------------ |
| MEDIUM | studio/backend/core/training/training.py | 464 | # ------------------------------------------------------------------ |
| MEDIUM | studio/backend/core/training/training.py | 495 | # ------------------------------------------------------------------ |
| MEDIUM | studio/backend/core/training/training.py | 497 | # ------------------------------------------------------------------ |
| MEDIUM | studio/backend/core/training/training.py | 871 | # ------------------------------------------------------------------ |
| MEDIUM | studio/backend/core/training/training.py | 873 | # ------------------------------------------------------------------ |
| MEDIUM | studio/backend/core/inference/audio_codecs.py | 73 | # ── Lazy loaders ───────────────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/audio_codecs.py | 178 | # ── Decoders ───────────────────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/audio_codecs.py | 335 | # ── Cleanup ────────────────────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 1947 | # ── Port allocation ─────────────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 1956 | # ── Stdout drain (prevents pipe deadlock on Windows) ───────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 4486 | # ── Tool-calling agentic loop ────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 5421 | # ── TTS support ──────────────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 98 | # ── Pre-compiled patterns for GGUF shard detection ─────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 103 | # ── Sliding-window-pattern resolver ─────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 705 | # ── Properties ──────────────────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 950 | # ── Binary discovery ────────────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 1066 | # ── llama-server capability probe ───────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 1216 | # ── GPU allocation ──────────────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 1287 | # ── NVIDIA via nvidia-smi ──────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 1595 | # ── KV cache VRAM estimation ───────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 1894 | # ── Variant fallback ──────────────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 2263 | # ── HF download (no lock held) ─────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 2596 | # ── Lifecycle ───────────────────────────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 2695 | # ── Phase 1: kill old process (under lock, fast) ────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 2748 | # ── Phase 3: start llama-server (under lock) ────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 4143 | # ── Message building (OpenAI format) ────────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 4186 | # ── Generation (proxy to llama-server) ──────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 4541 | # ── Duplicate tool-call detection ──────────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 4548 | # ── Re-prompt on plan-without-action ───────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 4600 | # ── Speculative buffer state machine ────────────────── |
| MEDIUM | studio/backend/core/inference/llama_cpp.py | 5135 | # ── Duplicate call detection ────────────── |
| MEDIUM | studio/backend/core/inference/orchestrator.py | 163 | # ------------------------------------------------------------------ |
| MEDIUM | studio/backend/core/inference/orchestrator.py | 165 | # ------------------------------------------------------------------ |
| 1322 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | studio/install_llama_prebuilt.py | 547 | def atomic_replace_from_tempfile(tmp_path: Path, destination: Path) -> None: |
| LOW | studio/install_llama_prebuilt.py | 552 | def source_archive_logical_name(upstream_tag: str) -> str: |
| LOW | studio/install_llama_prebuilt.py | 556 | def exact_source_archive_logical_name(source_commit: str) -> str: |
| LOW | studio/install_llama_prebuilt.py | 2537 | def exact_source_archive_hash( |
| LOW | studio/install_llama_prebuilt.py | 2547 | def source_clone_url_from_checksums(checksums: ApprovedReleaseChecksums) -> str | None: |
| LOW | studio/install_llama_prebuilt.py | 2551 | def source_build_plan_for_release( |
| LOW | studio/install_llama_prebuilt.py | 50 | def windows_hidden_subprocess_kwargs() -> dict[str, object]: |
| LOW | studio/install_llama_prebuilt.py | 111 | def _lemonade_release_api_for(llama_tag: str) -> str: |
| LOW | studio/install_llama_prebuilt.py | 583 | def normalize_source_ref_kind(value: str | None) -> str | None: |
| LOW | studio/install_llama_prebuilt.py | 637 | def source_url_from_repo_slug(repo_slug: str | None) -> str | None: |
| LOW | studio/install_llama_prebuilt.py | 726 | def windows_cuda_upstream_asset_names(llama_tag: str, runtime: str) -> list[str]: |
| LOW | studio/install_llama_prebuilt.py | 733 | def windows_cuda_asset_aliases( |
| LOW | studio/install_llama_prebuilt.py | 1051 | def upstream_source_archive_urls(tag: str) -> list[str]: |
| LOW | studio/install_llama_prebuilt.py | 1059 | def commit_source_archive_urls(repo: str, source_commit: str) -> list[str]: |
| LOW | studio/install_llama_prebuilt.py | 1109 | def latest_upstream_release_tag() -> str: |
| LOW | studio/install_llama_prebuilt.py | 1141 | def iter_release_payloads_by_time( |
| LOW | studio/install_llama_prebuilt.py | 1182 | def direct_release_matches_request( |
| LOW | studio/install_llama_prebuilt.py | 1193 | def synthetic_checksums_for_release( |
| LOW | studio/install_llama_prebuilt.py | 1204 | def parse_direct_linux_release_bundle( |
| LOW | studio/install_llama_prebuilt.py | 1285 | def direct_linux_release_plan( |
| LOW | studio/install_llama_prebuilt.py | 1361 | def direct_upstream_release_plan( |
| LOW | studio/install_llama_prebuilt.py | 1517 | def resolve_simple_install_release_plans( |
| LOW | studio/install_llama_prebuilt.py | 1578 | def normalized_requested_llama_tag(requested_tag: str | None) -> str: |
| LOW | studio/install_llama_prebuilt.py | 1618 | def parse_cuda_visible_devices(value: str | None) -> list[str] | None: |
| LOW | studio/install_llama_prebuilt.py | 1627 | def supports_explicit_visible_device_matching( |
| LOW | studio/install_llama_prebuilt.py | 1673 | def dir_provides_exact_library(directory: str | Path, library: str) -> bool: |
| LOW | studio/install_llama_prebuilt.py | 1680 | def linux_runtime_dirs_for_required_libraries( |
| LOW | studio/install_llama_prebuilt.py | 1748 | def detected_linux_runtime_lines() -> tuple[list[str], dict[str, list[str]]]: |
| LOW | studio/install_llama_prebuilt.py | 1855 | def parse_published_release_bundle( |
| LOW | studio/install_llama_prebuilt.py | 1961 | def parse_approved_release_checksums( |
| LOW | studio/install_llama_prebuilt.py | 2055 | def load_approved_release_checksums( |
| LOW | studio/install_llama_prebuilt.py | 2082 | def iter_published_release_bundles( |
| LOW | studio/install_llama_prebuilt.py | 2106 | def linux_cuda_choice_from_release( |
| LOW | studio/install_llama_prebuilt.py | 2314 | def latest_published_linux_cuda_tag(host: HostInfo, published_repo: str) -> str | None: |
| LOW | studio/install_llama_prebuilt.py | 2330 | def pinned_published_release_bundle( |
| LOW | studio/install_llama_prebuilt.py | 2341 | def validated_checksums_for_bundle( |
| LOW | studio/install_llama_prebuilt.py | 2359 | def published_release_matches_request( |
| LOW | studio/install_llama_prebuilt.py | 2375 | def resolve_published_release( |
| LOW | studio/install_llama_prebuilt.py | 2425 | def iter_resolved_published_releases( |
| LOW | studio/install_llama_prebuilt.py | 2486 | def resolve_requested_llama_tag( |
| LOW | studio/install_llama_prebuilt.py | 2525 | def resolve_requested_install_tag( |
| LOW | studio/install_llama_prebuilt.py | 2612 | def resolve_source_build_plan( |
| LOW | studio/install_llama_prebuilt.py | 2931 | def pick_windows_cuda_runtime(host: HostInfo) -> str | None: |
| LOW | studio/install_llama_prebuilt.py | 2942 | def compatible_linux_runtime_lines(host: HostInfo) -> list[str]: |
| LOW | studio/install_llama_prebuilt.py | 2953 | def windows_runtime_line_info() -> dict[str, tuple[str, ...]]: |
| LOW | studio/install_llama_prebuilt.py | 2960 | def detected_windows_runtime_lines() -> tuple[list[str], dict[str, list[str]]]: |
| LOW | studio/install_llama_prebuilt.py | 2972 | def compatible_windows_runtime_lines(host: HostInfo) -> list[str]: |
| LOW | studio/install_llama_prebuilt.py | 2981 | def runtime_line_from_cuda_version(cuda_version: str | None) -> str | None: |
| LOW | studio/install_llama_prebuilt.py | 2995 | def detect_torch_cuda_runtime_preference(host: HostInfo) -> CudaRuntimePreference: |
| LOW | studio/install_llama_prebuilt.py | 3193 | def published_windows_cuda_attempts( |
| LOW | studio/install_llama_prebuilt.py | 3271 | def resolve_windows_cuda_choices( |
| LOW | studio/install_llama_prebuilt.py | 3285 | def resolve_linux_cuda_choice( |
| LOW | studio/install_llama_prebuilt.py | 3300 | def published_asset_choice_for_kind( |
| LOW | studio/install_llama_prebuilt.py | 3332 | def _detect_host_rocm_version() -> tuple[int, int] | None: |
| LOW | studio/install_llama_prebuilt.py | 3445 | def _is_trusted_github_release_url(url: str, expected_repo: str) -> bool: |
| LOW | studio/install_llama_prebuilt.py | 3476 | def _fetch_lemonade_release_cached(api_url: str, llama_tag: str) -> "dict | None": |
| LOW | studio/install_llama_prebuilt.py | 3500 | def resolve_lemonade_rocm_choice( |
| LOW | studio/install_llama_prebuilt.py | 3605 | def resolve_upstream_asset_choice(host: HostInfo, llama_tag: str) -> AssetChoice: |
| LOW | studio/install_llama_prebuilt.py | 3777 | def resolve_release_asset_choice( |
| LOW | studio/install_llama_prebuilt.py | 3853 | def _try_repair_missing_slash( |
| 3523 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | studio/install_llama_prebuilt.py | 7 | |
| LOW | studio/install_python_stack.py | 13 | |
| LOW | studio/backend/run.py | 35 | |
| LOW | studio/backend/startup_banner.py | 9 | |
| LOW | studio/backend/colab.py | 18 | |
| LOW | studio/backend/main.py | 139 | |
| LOW | studio/backend/main.py | 227 | |
| LOW | studio/backend/main.py | 248 | |
| LOW | studio/backend/loggers/__init__.py | 4 | |
| LOW | studio/backend/core/data_recipe/service.py | 4 | |
| LOW | studio/backend/core/data_recipe/__init__.py | 8 | |
| LOW | studio/backend/core/data_recipe/__init__.py | 8 | |
| LOW | studio/backend/core/data_recipe/jsonable.py | 4 | |
| LOW | …/backend/core/data_recipe/local_callable_validators.py | 4 | |
| LOW | …/backend/core/data_recipe/local_callable_validators.py | 7 | |
| LOW | …/backend/core/data_recipe/local_callable_validators.py | 8 | |
| LOW | studio/backend/core/data_recipe/huggingface.py | 4 | |
| LOW | studio/backend/core/data_recipe/jobs/worker.py | 4 | |
| LOW | studio/backend/core/data_recipe/jobs/worker.py | 7 | |
| LOW | studio/backend/core/data_recipe/jobs/worker.py | 8 | |
| LOW | studio/backend/core/data_recipe/jobs/constants.py | 4 | |
| LOW | studio/backend/core/data_recipe/jobs/__init__.py | 4 | |
| LOW | studio/backend/core/data_recipe/jobs/__init__.py | 4 | |
| LOW | studio/backend/core/data_recipe/jobs/types.py | 4 | |
| LOW | studio/backend/core/data_recipe/jobs/parse.py | 4 | |
| LOW | studio/backend/core/data_recipe/jobs/manager.py | 4 | |
| LOW | studio/backend/core/training/worker.py | 14 | |
| LOW | studio/backend/core/training/worker.py | 16 | |
| LOW | studio/backend/core/training/worker.py | 433 | |
| LOW | studio/backend/core/training/worker.py | 434 | |
| LOW | studio/backend/core/training/worker.py | 674 | |
| LOW | studio/backend/core/training/worker.py | 675 | |
| LOW | studio/backend/core/training/worker.py | 2995 | |
| LOW | studio/backend/core/training/worker.py | 2012 | |
| LOW | studio/backend/core/training/__init__.py | 8 | |
| LOW | studio/backend/core/training/__init__.py | 8 | |
| LOW | studio/backend/core/training/__init__.py | 8 | |
| LOW | studio/backend/core/training/trainer.py | 36 | |
| LOW | studio/backend/core/training/trainer.py | 50 | |
| LOW | studio/backend/core/training/trainer.py | 56 | |
| LOW | studio/backend/core/training/trainer.py | 62 | |
| LOW | studio/backend/core/training/trainer.py | 65 | |
| LOW | studio/backend/core/training/trainer.py | 2805 | |
| LOW | studio/backend/core/training/trainer.py | 2806 | |
| LOW | studio/backend/core/training/trainer.py | 2806 | |
| LOW | studio/backend/core/training/trainer.py | 2806 | |
| LOW | studio/backend/core/training/trainer.py | 2813 | |
| LOW | studio/backend/core/training/trainer.py | 2813 | |
| LOW | studio/backend/core/training/training.py | 25 | |
| LOW | studio/backend/core/training/training.py | 26 | |
| LOW | studio/backend/core/training/training.py | 29 | |
| LOW | studio/backend/core/inference/worker.py | 17 | |
| LOW | studio/backend/core/inference/worker.py | 20 | |
| LOW | studio/backend/core/inference/worker.py | 808 | |
| LOW | studio/backend/core/inference/llama_server_args.py | 15 | |
| LOW | studio/backend/core/inference/mlx_inference.py | 9 | |
| LOW | studio/backend/core/inference/audio_codecs.py | 13 | |
| LOW | studio/backend/core/inference/__init__.py | 12 | |
| LOW | studio/backend/core/inference/__init__.py | 13 | |
| LOW | studio/backend/core/inference/llama_cpp.py | 17 | |
| 923 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | studio/setup.sh | 175 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 438 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 909 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 1000 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 1005 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 1165 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 1564 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 2060 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 2075 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 2097 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 2519 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 2626 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 2645 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 2774 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 2792 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 2837 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 2865 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 2901 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 3008 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 3021 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 3353 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 3369 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 3390 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 3413 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 3459 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 3488 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 4122 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 4150 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 4200 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 4289 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 4403 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 4427 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 4476 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 4504 | except Exception as rollback_exc: |
| LOW | studio/install_llama_prebuilt.py | 4519 | except Exception as cleanup_exc: |
| LOW | studio/install_llama_prebuilt.py | 4536 | except Exception as cleanup_exc: |
| LOW | studio/install_llama_prebuilt.py | 4695 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 4711 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 4792 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 4811 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 4817 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 4851 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 5167 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 5190 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 5234 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 5269 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 5296 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 5620 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 5726 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 5745 | except Exception: |
| LOW | studio/install_llama_prebuilt.py | 5928 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 6046 | except Exception as exc: |
| LOW | studio/install_llama_prebuilt.py | 6247 | except Exception as exc: |
| LOW | studio/install_python_stack.py | 161 | except Exception: |
| LOW | studio/install_python_stack.py | 181 | except Exception: |
| LOW | studio/install_python_stack.py | 203 | except Exception: |
| LOW | studio/install_python_stack.py | 229 | except Exception: |
| LOW | studio/install_python_stack.py | 320 | except Exception: |
| LOW | studio/install_python_stack.py | 348 | except Exception: |
| LOW | studio/install_python_stack.py | 418 | except Exception: |
| 927 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | unsloth-cli.py | 36 | |
| LOW | studio/install_llama_prebuilt.py | 876 | |
| LOW | studio/install_llama_prebuilt.py | 919 | |
| LOW | studio/install_llama_prebuilt.py | 964 | |
| LOW | studio/install_llama_prebuilt.py | 1361 | |
| LOW | studio/install_llama_prebuilt.py | 1517 | |
| LOW | studio/install_llama_prebuilt.py | 1748 | |
| LOW | studio/install_llama_prebuilt.py | 2744 | |
| LOW | studio/install_llama_prebuilt.py | 3193 | |
| LOW | studio/install_llama_prebuilt.py | 3332 | |
| LOW | studio/install_llama_prebuilt.py | 3605 | |
| LOW | studio/install_llama_prebuilt.py | 4011 | |
| LOW | studio/install_llama_prebuilt.py | 4085 | |
| LOW | studio/install_llama_prebuilt.py | 4275 | |
| LOW | studio/install_llama_prebuilt.py | 4460 | |
| LOW | studio/install_llama_prebuilt.py | 5040 | |
| LOW | studio/install_llama_prebuilt.py | 5197 | |
| LOW | studio/install_llama_prebuilt.py | 5441 | |
| LOW | studio/install_llama_prebuilt.py | 5950 | |
| LOW | studio/install_python_stack.py | 145 | |
| LOW | studio/install_python_stack.py | 265 | |
| LOW | studio/install_python_stack.py | 388 | |
| LOW | studio/install_python_stack.py | 1411 | |
| LOW | studio/backend/run.py | 172 | |
| LOW | studio/backend/run.py | 337 | |
| LOW | studio/backend/run.py | 365 | |
| LOW | studio/backend/run.py | 529 | |
| LOW | studio/backend/run.py | 610 | |
| LOW | studio/backend/main.py | 23 | |
| LOW | studio/backend/loggers/config.py | 36 | |
| LOW | studio/backend/core/tool_healing.py | 42 | |
| LOW | studio/backend/core/data_recipe/jobs/manager.py | 467 | |
| LOW | studio/backend/core/training/worker.py | 181 | |
| LOW | studio/backend/core/training/worker.py | 1128 | |
| LOW | studio/backend/core/training/worker.py | 1255 | |
| LOW | studio/backend/core/training/worker.py | 1814 | |
| LOW | studio/backend/core/training/worker.py | 2967 | |
| LOW | studio/backend/core/training/worker.py | 85 | |
| LOW | studio/backend/core/training/worker.py | 2672 | |
| LOW | studio/backend/core/training/worker.py | 2339 | |
| LOW | studio/backend/core/training/trainer.py | 455 | |
| LOW | studio/backend/core/training/trainer.py | 505 | |
| LOW | studio/backend/core/training/trainer.py | 929 | |
| LOW | studio/backend/core/training/trainer.py | 1377 | |
| LOW | studio/backend/core/training/trainer.py | 1560 | |
| LOW | studio/backend/core/training/trainer.py | 1997 | |
| LOW | studio/backend/core/training/trainer.py | 2354 | |
| LOW | studio/backend/core/training/trainer.py | 2704 | |
| LOW | studio/backend/core/training/trainer.py | 2858 | |
| LOW | studio/backend/core/training/training.py | 499 | |
| LOW | studio/backend/core/training/training.py | 541 | |
| LOW | studio/backend/core/training/training.py | 875 | |
| LOW | studio/backend/core/inference/worker.py | 96 | |
| LOW | studio/backend/core/inference/worker.py | 247 | |
| LOW | studio/backend/core/inference/worker.py | 659 | |
| LOW | studio/backend/core/inference/mlx_inference.py | 168 | |
| LOW | studio/backend/core/inference/mlx_inference.py | 237 | |
| LOW | studio/backend/core/inference/mlx_inference.py | 320 | |
| LOW | studio/backend/core/inference/tool_call_parser.py | 88 | |
| LOW | studio/backend/core/inference/tools.py | 151 | |
| 383 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | studio/backend/tests/test_anthropic_fast_mode_edge.py | 38 | b'"role":"assistant","stop_reason":null,"usage":' |
| HIGH | studio/backend/tests/test_anthropic_fast_mode_edge.py | 50 | b'"role":"assistant","stop_reason":null,"usage":' |
| HIGH | studio/backend/tests/test_anthropic_fast_mode_edge.py | 397 | b'"role":"assistant","stop_reason":null,"usage":' |
| HIGH | studio/backend/tests/test_anthropic_fast_mode_edge.py | 333 | finish_reason=null); the frontend latches on |
| HIGH | …/backend/tests/test_anthropic_fast_mode_and_refusal.py | 38 | b'"stop_reason":null,"usage":{"input_tokens":1,"output_tokens":1}}}\n\n' |
| HIGH | …/backend/tests/test_anthropic_fast_mode_and_refusal.py | 49 | b'"stop_reason":null,"usage":{"input_tokens":1,"output_tokens":1}}}\n\n' |
| HIGH | studio/backend/tests/test_sandbox_tools.py | 376 | assert self._find()("cat README.md && echo source") == set() |
| HIGH | studio/backend/tests/test_sandbox_tools.py | 377 | assert "source" not in self._find()("cat README.md && echo source") |
| HIGH | studio/backend/tests/test_sandbox_tools.py | 378 | assert "echo" not in self._find()("cat README.md && echo source") |
| HIGH | studio/backend/tests/test_sandbox_tools.py | 402 | assert "wget" in self._find()("cd /tmp && wget https://bad") |
| HIGH | studio/backend/routes/inference.py | 1489 | Returns an empty payload (``phase=null, bytes=0``) when no load is |
| HIGH | tests/studio/test_frontend_dep_removal.py | 448 | '/** @type {import("react").FC} */\nconst Foo = () => null;', |
| HIGH | tests/studio/test_frontend_dep_removal.py | 878 | '/** @type {import("__adv_only_pkg_l__").Foo} */\n' "const x = null;\n", |
| HIGH | tests/studio/test_frontend_dep_removal.py | 1542 | {"build": "tsc -b && cross-env CI=1 biome check"}, |
| HIGH | tests/studio/_playwright_robust.py | 467 | if (body !== null) opts.body = body; |
| HIGH | tests/studio/_playwright_robust.py | 477 | parsed = null; |
| HIGH | tests/studio/_playwright_robust.py | 480 | return {status: r.status, body: parsed, error: null}; |
| HIGH | tests/studio/_playwright_robust.py | 483 | return {status: 0, body: null, error: String(e)}; |
| HIGH | tests/studio/_playwright_robust.py | 111 | (document.head || document.documentElement).appendChild(style); |
| HIGH | tests/studio/_playwright_robust.py | 389 | """() => (document.body && document.body.innerText || '').slice(0, 800)""", |
| HIGH | tests/studio/playwright_chat_ime_i18n.py | 526 | try { form && form.requestSubmit(); } catch (e) {} |
| HIGH | tests/studio/playwright_chat_ime_i18n.py | 591 | const form = ta && ta.closest('form'); |
| HIGH | tests/studio/test_chat_preset_builtin_invariants.py | 99 | matches: def ? isSamePresetConfig(def.params, DEFAULT_INFERENCE_PARAMS) : null, |
| HIGH | tests/studio/install/test_pr4562_bugfixes.py | 420 | if ! command -v cmake &>/dev/null; then |
| HIGH | tests/studio/install/test_pr4562_bugfixes.py | 422 | elif ! command -v git &>/dev/null; then |
| HIGH | tests/studio/install/test_pr4562_bugfixes.py | 454 | if ! command -v cmake &>/dev/null; then |
| HIGH | tests/studio/install/test_pr4562_bugfixes.py | 456 | elif ! command -v git &>/dev/null; then |
| HIGH | tests/studio/install/test_pr4562_bugfixes.py | 484 | if ! command -v cmake &>/dev/null; then |
| HIGH | tests/studio/install/test_pr4562_bugfixes.py | 486 | elif ! command -v git &>/dev/null; then |
| HIGH | tests/studio/install/test_pr4562_bugfixes.py | 1064 | cmake -S "$_BUILD_TMP" -B "$_BUILD_TMP/build" $CPU_FALLBACK_CMAKE_ARGS || BUILD_OK=false |
| HIGH | tests/studio/install/test_pr4562_bugfixes.py | 1156 | cmake $CMAKE_GENERATOR_ARGS -S "$_BUILD_TMP" -B "$_BUILD_TMP/build" $CPU_FALLBACK_CMAKE_ARGS || BUIL |
| HIGH | tests/python/test_tokenizers_and_torch_constraint.py | 147 | "import sys; print(sys.version_info.minor)" 2>/dev/null || echo "0") |
| HIGH | tests/python/test_tokenizers_and_torch_constraint.py | 148 | if [ "$_PY_MINOR" -ge 13 ] 2>/dev/null; then |
| HIGH | tests/python/test_tokenizers_and_torch_constraint.py | 299 | "import sys; print(sys.version_info.minor)" 2>/dev/null || echo "0") |
| HIGH | tests/python/test_tokenizers_and_torch_constraint.py | 300 | if [ "$_PY_MINOR" -ge 13 ] 2>/dev/null; then |
| HIGH | tests/python/test_tokenizers_and_torch_constraint.py | 345 | "import sys; print(sys.version_info.minor)" 2>/dev/null || echo "0") |
| HIGH | tests/python/test_tokenizers_and_torch_constraint.py | 346 | if [ "$_PY_MINOR" -ge 13 ] 2>/dev/null; then |
| HIGH | tests/python/test_e2e_no_torch_sandbox.py | 1204 | """GET /api/system/hardware returns torch=null, gpu_name=null.""" |
| HIGH | tests/utils/os_utils.py | 88 | "apt": f"sudo apt update && sudo apt install {package_name}", |
| HIGH | unsloth/save.py | 1259 | f"cd llama.cpp && git reset --hard {version} && git clean -df", |
| HIGH | unsloth/save.py | 1602 | build_instructions = f'cd "{LLAMA_CPP_DEFAULT_DIR}" && make clean && make all -j' |
| HIGH | unsloth/_auto_install.py | 43 | print(f'pip install --upgrade pip && pip install --no-deps git+https://github.com/unslothai/unsloth-zoo.git && pip insta |
| HIGH | unsloth/trainer.py | 120 | "`pip uninstall transformers -y && pip install --upgrade --no-cache-dir transformers`" |
| HIGH | unsloth/trainer.py | 125 | "`pip uninstall transformers -y && pip install --upgrade --no-cache-dir transformers`" |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | install.sh | 1 | #!/bin/sh |
| LOW | install.sh | 521 | _css_gem_png="$_css_data_dir/unsloth-gem.png" |
| LOW | install.sh | 2121 | # wheels if necessary to ensure a compatible set. |
| LOW | studio/setup.sh | 21 | ;; |
| LOW | studio/setup.sh | 361 | done |
| LOW | studio/__init__.py | 1 | # SPDX-License-Identifier: AGPL-3.0-only |
| LOW | studio/install_llama_prebuilt.py | 4821 | if not root.is_dir(): |
| LOW | studio/install_python_stack.py | 1081 | _step("error", f"{label} failed (exit code {result.returncode})", _red) |
| LOW | studio/install_python_stack.py | 1701 | |
| LOW | …io/frontend/src/features/settings/tabs/general-tab.tsx | 21 | import { useEffect, useRef, useState } from "react"; |
| LOW | studio/frontend/src/features/chat/shared-composer.tsx | 421 | // clickable for Kimi, but turning one on flips the other off — the |
| LOW | …rontend/src/features/chat/stores/chat-runtime-store.ts | 761 | setCheckpoint: (modelId, ggufVariant) => |
| LOW | …/features/chat/components/openai-code-exec-section.tsx | 121 | // creates more confusion than it solves. Refreshing the page resets |
| LOW | …/features/chat/components/openai-code-exec-section.tsx | 281 | // on the user's OpenAI account. Sorting by `lastActiveAt` matches |
| LOW | …omponents/assistant-ui/use-intent-aware-autoscroll.tsx | 181 | // skip extendFollow and auto-follow stays dead for the session. |
| LOW | …omponents/assistant-ui/use-intent-aware-autoscroll.tsx | 341 | // Upward: sum across events. Middle-click autoscroll and |
| LOW | …omponents/assistant-ui/use-intent-aware-autoscroll.tsx | 361 | |
| LOW | …omponents/assistant-ui/use-intent-aware-autoscroll.tsx | 381 | // already happened and `scrollTop` cannot be pushed past the new |
| LOW | …omponents/assistant-ui/use-intent-aware-autoscroll.tsx | 481 | // ever unmounted and remounted without an AUI lifecycle event |
| LOW | studio/backend/__init__.py | 1 | # SPDX-License-Identifier: AGPL-3.0-only |
| LOW | studio/backend/main.py | 61 | pass |
| LOW | studio/backend/core/training/worker.py | 1941 | and (_lowered.startswith("unsloth/") or _lowered.startswith("nvidia/")) |
| LOW | studio/backend/core/training/worker.py | 2021 | |
| LOW | studio/backend/core/training/worker.py | 2161 | sys.modules["torch.distributed"] = _td_mock |
| LOW | studio/backend/core/training/worker.py | 2181 | # We gate the dispatch override on HIP < 7.13 so users on the fixed wheel get |
| LOW | studio/backend/core/training/worker.py | 2421 | "skipping Python fallback (AMD fixed gfx1200 null kernel in ROCm 7.13)" |
| LOW | studio/backend/core/training/worker.py | 2621 | # print( |
| LOW | studio/backend/core/training/trainer.py | 3561 | # print("[DEBUG] === After train_on_completions ===", flush = True) |
| LOW | studio/backend/core/inference/mlx_inference.py | 81 | # GGUF guard. GGUF models are served via llama-server in the |
| LOW | studio/backend/core/inference/external_provider.py | 21 | |
| LOW | studio/backend/core/inference/external_provider.py | 1801 | } |
| LOW | studio/backend/core/inference/external_provider.py | 1861 | # `input_document` is Studio's normalised content type |
| LOW | studio/backend/core/inference/external_provider.py | 2121 | # Anthropic rejects top_k whenever thinking is enabled. |
| LOW | studio/backend/core/inference/external_provider.py | 2361 | # NOTE: same manual __anext__ loop as stream_chat_completion — see comment there. |
| LOW | studio/backend/core/inference/external_provider.py | 2381 | # carries name="web_fetch" and the result block is |
| LOW | studio/backend/core/inference/external_provider.py | 2401 | # Deduped by type-specific anchor key; inline [N] is |
| LOW | studio/backend/core/inference/external_provider.py | 2721 | elif delta_type == "text_delta": |
| LOW | studio/backend/core/inference/external_provider.py | 3601 | _native_part, dict |
| LOW | studio/backend/core/inference/external_provider.py | 3681 | if role == "tool": |
| LOW | studio/backend/core/inference/external_provider.py | 3821 | # Image-tier model IDs reject text-only tools (code_execution, |
| LOW | studio/backend/core/inference/external_provider.py | 4281 | # final finish_reason swaps STOP -> tool_calls (matches the |
| LOW | studio/backend/core/inference/external_provider.py | 5261 | # temperature and top_p with `Unsupported parameter` 400s on |
| LOW | studio/backend/core/inference/external_provider.py | 5541 | function_call_index = 0 |
| LOW | studio/backend/core/inference/llama_cpp.py | 81 | |
| LOW | studio/backend/core/inference/llama_cpp.py | 1341 | return [] |
| LOW | studio/backend/core/inference/llama_cpp.py | 2821 | and not _mtp_sub_3b_for_fit |
| LOW | studio/backend/core/inference/llama_cpp.py | 3061 | # ngram-mod: ~16 MB shared hash pool, constant memory/complexity, |
| LOW | studio/backend/core/inference/llama_cpp.py | 4541 | # ── Duplicate tool-call detection ──────────────────────── |
| LOW | studio/backend/core/inference/providers.py | 61 | "anthropic-version": "2023-06-01", |
| LOW | studio/backend/core/export/worker.py | 381 | # print and every child process inherits the redirected fds. This |
| LOW | studio/backend/core/export/orchestrator.py | 61 | self.is_peft: bool = False |
| LOW | …po-seed/src/data_designer_github_repo_seed/__init__.py | 1 | # SPDX-License-Identifier: AGPL-3.0-only |
| LOW | …ata_designer_github_repo_seed/scraper_impl/__init__.py | 1 | # SPDX-License-Identifier: AGPL-3.0-only |
| LOW | …nd/plugins/data-designer-unstructured-seed/__init__.py | 1 | # SPDX-License-Identifier: AGPL-3.0-only |
| LOW | studio/backend/tests/test_anthropic_compaction.py | 341 | # Codex P1: once context_management is enabled and Anthropic runs |
| LOW | studio/backend/tests/test_openai_tool_passthrough.py | 301 | |
| LOW | studio/backend/tests/__init__.py | 1 | # SPDX-License-Identifier: AGPL-3.0-only |
| LOW | studio/backend/tests/test_training_worker_flash_attn.py | 941 | ) |
| LOW | studio/backend/utils/__init__.py | 1 | # SPDX-License-Identifier: AGPL-3.0-only |
| LOW | studio/backend/utils/hardware/hardware.py | 1901 | # Keep ROCm visibility env vars in sync so _get_parent_visible_gpu_spec() |
| 197 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | studio/install_llama_prebuilt.py | 4296 | # Check if the holder process is still alive |
| LOW | studio/backend/core/training/trainer.py | 1015 | # Check if model has the expected attributes |
| LOW | studio/backend/core/training/trainer.py | 1167 | # Check if stopped during LoRA preparation |
| LOW | studio/backend/core/training/trainer.py | 2427 | # Check if stopped during dataset loading |
| LOW | studio/backend/core/training/trainer.py | 2487 | # Check if stopped during dataset loading |
| LOW | studio/backend/core/training/trainer.py | 2555 | # Check if stopped before applying template |
| LOW | studio/backend/core/training/trainer.py | 2651 | # Check if stopped during formatting |
| LOW | studio/backend/core/inference/llama_cpp.py | 1858 | # Check if requested context already fits |
| LOW | studio/backend/core/inference/llama_cpp.py | 4109 | # Check if process crashed |
| LOW | studio/backend/core/inference/inference.py | 263 | # Check if already loaded |
| LOW | studio/backend/core/inference/inference.py | 269 | # Check if currently loading |
| LOW | studio/backend/core/inference/inference.py | 718 | # Check if this adapter name is already part of the model's config. This is the most reliable check. |
| LOW | studio/backend/core/inference/inference.py | 1035 | # Check if model has a registered template |
| LOW | studio/backend/core/export/export.py | 269 | # Check if PEFT / LoRA model |
| LOW | …ta_designer_github_repo_seed/scraper_impl/gh_client.py | 277 | # Check if primary rate |
| LOW | studio/backend/utils/cache_cleanup.py | 84 | # Check if the file matches any of the patterns we want to keep |
| LOW | studio/backend/utils/datasets/format_conversion.py | 46 | # Check if vision tokenizer is used |
| LOW | studio/backend/utils/datasets/vlm_processing.py | 47 | # Check if this column has varied content (not just empty/same) |
| LOW | studio/backend/utils/datasets/format_detection.py | 637 | # Check if has messages column |
| LOW | studio/backend/utils/datasets/format_detection.py | 888 | # Check if contains text keywords (word-boundary match) |
| LOW | studio/backend/utils/datasets/chat_templates.py | 69 | # Check if model matches any template in mapper |
| LOW | studio/backend/utils/datasets/chat_templates.py | 86 | # Check if tokenizer actually has a chat_template set |
| LOW | studio/backend/utils/datasets/chat_templates.py | 185 | # Check if format_dataset already tried and failed |
| LOW | studio/backend/utils/models/model_config.py | 2196 | # Check if base model is vision |
| LOW | studio/backend/utils/models/model_config.py | 2199 | # Check if base model is audio |
| LOW | studio/backend/utils/models/model_config.py | 2335 | # Check if the HF repo contains GGUF files |
| LOW | studio/backend/routes/models.py | 1596 | # Check if it's a LoRA adapter |
| LOW | studio/backend/routes/models.py | 2604 | # Check if model is currently loaded |
| LOW | studio/backend/routes/inference.py | 1006 | # Check if YAML says this model needs trust_remote_code |
| LOW | studio/backend/routes/inference.py | 1197 | # Check if the GGUF backend has this model loaded or is loading it |
| LOW | studio/backend/routes/inference.py | 1288 | # Check if current model supports vision |
| LOW | studio/backend/routes/training.py | 433 | # Check if training is active |
| LOW | studio/backend/routes/training.py | 447 | # Check if training was stopped by user |
| LOW | studio/backend/routes/training.py | 139 | # Check if training is already active (before mutating any state) |
| LOW | tests/python/test_e2e_no_torch_sandbox.py | 1076 | # Check if torch is installed in the studio venv |
| LOW | tests/utils/aime_eval.py | 30 | # Check if combined file already exists |
| LOW | tests/utils/aime_eval.py | 306 | # Check if any answer is correct |
| LOW | unsloth_cli/commands/studio.py | 1176 | # Check if the process is still alive |
| LOW | unsloth_cli/commands/train.py | 73 | # Check if the model path is a LoRA adapter (has adapter_config.json) |
| LOW | scripts/scan_packages.py | 1939 | # Check if any are git deps |
| LOW | unsloth/save.py | 678 | # Check if PEFT Model or not - if yes, 3 levels. If not 2 levels. |
| LOW | unsloth/save.py | 862 | # Check if Kaggle or Colab, since only 20GB of Disk space allowed. |
| LOW | unsloth/save.py | 1018 | # Check if pushing to an organization |
| LOW | unsloth/save.py | 1066 | # Check if pushing to an organization |
| LOW | unsloth/save.py | 1239 | # Check if the llama.cpp exists |
| LOW | unsloth/save.py | 1279 | # Check if successful |
| LOW | unsloth/save.py | 1333 | # Check if the executable exists and is executable |
| LOW | unsloth/save.py | 1378 | # Check if bfloat16 is supported |
| LOW | unsloth/save.py | 1409 | # Check if wrong method |
| LOW | unsloth/save.py | 1427 | # Check if q8_0 is the ONLY quantization method requested |
| LOW | unsloth/save.py | 1939 | # Check if BOS added already, then warn |
| LOW | unsloth/save.py | 2190 | # Check if push_to_hub is requested |
| LOW | unsloth/save.py | 2997 | # Check if wrong method |
| LOW | unsloth/save.py | 3602 | # Check if push_to_hub exists before accessing its __name__ |
| LOW | unsloth/tokenizer_utils.py | 112 | # Check if token is the actual same one - if not, edit it |
| LOW | unsloth/tokenizer_utils.py | 178 | # Check if they're similar! |
| LOW | unsloth/tokenizer_utils.py | 285 | # Check if chat template is enabled! |
| LOW | unsloth/tokenizer_utils.py | 383 | # Check if tokenizer.model exists |
| LOW | unsloth/tokenizer_utils.py | 1394 | # Check if sep_token or other generic types |
| LOW | unsloth/import_fixes.py | 618 | # Check if the original function iterates over self.modules() instead of just returning the enable_input_require_gra |
| 52 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | unsloth-cli.py | 0 | below is an instruction that describes a task, paired with an input that provides further context. write a response that |
| HIGH | studio/backend/utils/datasets/chat_templates.py | 0 | below is an instruction that describes a task, paired with an input that provides further context. write a response that |
| HIGH | …language_models/test_merge_model_perplexity_mistral.py | 0 | below is an instruction that describes a task, paired with an input that provides further context. write a response that |
| HIGH | …language_models/test_merge_model_perplexity_mistral.py | 0 | below is an instruction that describes a task, paired with an input that provides further context. write a response that |
| HIGH | …nguage_models/test_merged_model_perplexity_qwen_2.5.py | 0 | below is an instruction that describes a task, paired with an input that provides further context. write a response that |
| HIGH | …nguage_models/test_merged_model_perplexity_qwen_2.5.py | 0 | below is an instruction that describes a task, paired with an input that provides further context. write a response that |
| HIGH | studio/backend/core/training/worker.py | 0 | activate the correct transformers version before any ml imports. |
| HIGH | studio/backend/core/inference/worker.py | 0 | activate the correct transformers version before any ml imports. |
| HIGH | studio/backend/core/export/worker.py | 0 | activate the correct transformers version before any ml imports. |
| HIGH | studio/backend/auth/storage.py | 0 | insert into auth_user ( username, password_salt, password_hash, jwt_secret, must_change_password ) values (?, ?, ?, ?, ? |
| HIGH | studio/backend/tests/test_desktop_auth.py | 0 | insert into auth_user ( username, password_salt, password_hash, jwt_secret, must_change_password ) values (?, ?, ?, ?, ? |
| HIGH | unsloth_cli/commands/studio.py | 0 | insert into auth_user ( username, password_salt, password_hash, jwt_secret, must_change_password ) values (?, ?, ?, ?, ? |
| HIGH | tests/studio/playwright_extra_ui.py | 0 | (want) => { return document.queryselectorall( '[data-role="assistant"]' ).length >= want; } |
| HIGH | tests/studio/playwright_extra_ui.py | 0 | (want) => { return document.queryselectorall( '[data-role="assistant"]' ).length >= want; } |
| HIGH | tests/studio/playwright_chat_ui.py | 0 | (want) => { return document.queryselectorall( '[data-role="assistant"]' ).length >= want; } |
| HIGH | unsloth/save.py | 0 | same as .push_to_hub(...) except 4bit weights are auto converted to float16 with as few overhead as possible. choose for |
| HIGH | unsloth/save.py | 0 | same as .push_to_hub(...) except 4bit weights are auto converted to float16 with as few overhead as possible. choose for |
| HIGH | unsloth/save.py | 0 | same as .push_to_hub(...) except 4bit weights are auto converted to float16 with as few overhead as possible. choose for |
| HIGH | unsloth/ollama_template_mappers.py | 0 | parameter stop "{__eos_token__}" parameter temperature 1.5 parameter min_p 0.1 system |
| HIGH | unsloth/ollama_template_mappers.py | 0 | parameter stop "{__eos_token__}" parameter temperature 1.5 parameter min_p 0.1 system |
| HIGH | unsloth/ollama_template_mappers.py | 0 | parameter stop "{__eos_token__}" parameter temperature 1.5 parameter min_p 0.1 system |
| HIGH | unsloth/ollama_template_mappers.py | 0 | parameter stop "{__eos_token__}" parameter temperature 1.5 parameter min_p 0.1 |
| HIGH | unsloth/ollama_template_mappers.py | 0 | parameter stop "{__eos_token__}" parameter temperature 1.5 parameter min_p 0.1 |
| HIGH | unsloth/ollama_template_mappers.py | 0 | parameter stop "{__eos_token__}" parameter temperature 1.5 parameter min_p 0.1 |
| HIGH | unsloth/models/llama.py | 0 | https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/modeling_llama.py#l406 fast inferenc |
| HIGH | unsloth/models/qwen3.py | 0 | https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/modeling_llama.py#l406 fast inferenc |
| HIGH | unsloth/models/falcon_h1.py | 0 | https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/modeling_llama.py#l406 fast inferenc |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | studio/frontend/package-lock.json | 13675 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", |
| MEDIUM | studio/backend/core/inference/external_provider.py | 2772 | # dispatch robust if that ever changes. |
| MEDIUM | studio/backend/core/inference/inference.py | 690 | # 3. Call our robust load_adapter function to ensure this specific adapter is loaded. |
| MEDIUM | studio/backend/tests/test_anthropic_citations_edge.py | 23 | # ── shared SSE harness ─────────────────────────────────────── |
| MEDIUM | tests/conftest.py | 148 | # and apply at unsloth import time. The GPU-free harness above pre-spoofs |
| MEDIUM | tests/_zoo_aggressive_cuda_spoof.py | 3 | # tests/conftest.py:84-141's import-time harness with deeper patches that |
| MEDIUM | tests/studio/test_cli_studio_defaults.py | 34 | # iterate calls directly, which is simpler and robust. |
| MEDIUM | tests/studio/run_real_mlx_smoke.py | 328 | # configurations, so 30 is the seed-robust gate. |
| MEDIUM | tests/studio/run_real_mlx_smoke.py | 415 | # the robust signal that the model learned the trained |
| MEDIUM | tests/studio/run_real_mlx_smoke.py | 589 | # and is robust to MLX's known near-zero-loss adamw greedy-decode |
| MEDIUM | tests/studio/_playwright_robust.py | 545 | # the comprehensive chat UI test. 12 minutes (720 s) leaves headroom |
| MEDIUM | tests/studio/playwright_chat_ui.py | 90 | # Wall-clock cap for the entire script. A healthy comprehensive run is |
| LOW | tests/studio/playwright_chat_ui.py | 570 | # we just call the same endpoint the picker would. |
| MEDIUM | tests/studio/install/test_rocm_support.py | 2068 | """Verify that setup.ps1 and install.ps1 have robust gfx arch detection |
| MEDIUM | tests/utils/aime_eval.py | 419 | # Print comprehensive summary |
| MEDIUM | tests/utils/aime_eval.py | 474 | """Generate comprehensive comparison for AIME evaluation results""" |
| LOW | tests/vllm_compat/test_extended_module_imports.py | 289 | # named test in compiler.py:1983; we just call it. |
| MEDIUM | …/saving/language_models/test_save_merged_grpo_model.py | 376 | """Generate comprehensive comparison of multiple model results""" |
| MEDIUM | .github/workflows/studio-inference-smoke.yml | 281 | # assertion robust to formatting jitter. |
| MEDIUM | .github/workflows/consolidated-tests-ci.yml | 389 | # tests/conftest.py's GPU-spoof harness applies before the import. |
| MEDIUM | .github/workflows/consolidated-tests-ci.yml | 390 | # _zoo_aggressive_cuda_spoof extends conftest's harness with deeper |
| MEDIUM | .github/workflows/consolidated-tests-ci.yml | 185 | # so we inherit the same CPU-spoof harness in tests/conftest.py and |
| MEDIUM | .github/workflows/consolidated-tests-ci.yml | 378 | # picks up tests/conftest.py, whose GPU-spoof harness (lines 84-141) |
| MEDIUM | .github/workflows/consolidated-tests-ci.yml | 485 | # Routed through pytest so tests/conftest.py's GPU-spoof harness |
| MEDIUM | .github/workflows/consolidated-tests-ci.yml | 497 | # tests/conftest.py GPU-spoof harness applies. continue-on-error |
| MEDIUM | .github/workflows/consolidated-tests-ci.yml | 613 | # unsloth_zoo.tiled_mlp, so the GPU-spoof harness covers |
| MEDIUM | .github/workflows/consolidated-tests-ci.yml | 919 | # module globals after import so this shim is robust to that |
| MEDIUM | .github/workflows/consolidated-tests-ci.yml | 1709 | # harness so unsloth_zoo.temporary_patches imports are clean. |
| MEDIUM | .github/workflows/consolidated-tests-ci.yml | 2099 | # without an accelerator and the spoof harness only kicks in under |
| MEDIUM | .github/workflows/studio-mac-inference-smoke.yml | 280 | # assertion robust to formatting jitter. |
| MEDIUM | .github/workflows/studio-backend-ci.yml | 121 | # compile a tiny TS harness against the frontend chat sources. |
| MEDIUM | .github/workflows/notebooks-ci.yml | 17 | # tests/_zoo_aggressive_cuda_spoof.py harness so `import unsloth` |
| MEDIUM | unsloth/tokenizer_utils.py | 583 | # Let's utilize them |
| LOW | unsloth/tokenizer_utils.py | 598 | # Cannot just use use_fast = False as per https://twitter.com/danielhanchen/status/1789659394302718373 |
| LOW | unsloth/tokenizer_utils.py | 1457 | # Cannot just use use_fast = False as per https://twitter.com/danielhanchen/status/17896593943027183 |
| LOW | unsloth/import_fixes.py | 503 | # trl.import_utils to bool; the existing accessors that just return |
| MEDIUM | unsloth/kernels/rms_layernorm.py | 139 | # exactly. Essentially all in float32! |
| LOW | unsloth/models/loader_utils.py | 132 | # so just return the original model name. Older vllm versions will |
| MEDIUM | unsloth/models/rl_replacements.py | 1436 | # Essentially, for VLMs we do not go via the optimized path in models/, |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | studio/backend/core/export/export.py | 641 | # Create the directory if it doesn't exist |
| MEDIUM | studio/backend/tests/test_gemini_provider.py | 47 | # Create a fresh loop per drive so tests don't share asyncio state. |
| MEDIUM | …io/backend/tests/test_llama_cpp_windows_nvidia_path.py | 179 | # Create a regular file at the path where 'bin' would normally be a dir |
| MEDIUM | …dio/backend/tests/test_llama_cpp_load_progress_live.py | 111 | # Create a fake 200 MB sparse gguf so bytes_total is concrete. |
| MEDIUM | studio/backend/tests/test_training_worker_flash_attn.py | 873 | # Create a fake modeling module that did `from ... import is_flash_linear_attention_available`. |
| MEDIUM | tests/python/test_tokenizers_and_torch_constraint.py | 277 | # Create a mock uv that logs its arguments |
| MEDIUM | tests/utils/cleanup_utils.py | 120 | # Create a static list of modules to avoid RuntimeError |
| MEDIUM | tests/utils/perplexity_eval.py | 48 | # Create a simple function to add results to the comparison |
| MEDIUM | tests/utils/perplexity_eval.py | 55 | # Create a function to print the comparison report whenever needed |
| MEDIUM | tests/utils/perplexity_eval.py | 64 | # Create a comparison dataframe |
| MEDIUM | tests/utils/ocr_eval.py | 295 | # Create a comparison dataframe |
| MEDIUM | tests/utils/aime_eval.py | 224 | # Initialize tracking variables |
| MEDIUM | tests/utils/test_q_galore.py | 220 | # Create a mini-transformer-like model |
| MEDIUM | tests/utils/test_q_galore.py | 350 | # Create a gradient with clear low-rank structure |
| MEDIUM | tests/utils/test_q_galore.py | 445 | # Create a mock parameter and group |
| MEDIUM | tests/sh/test_mac_intel_compat.sh | 177 | # Create a mock uname that returns Darwin |
| MEDIUM | tests/sh/test_mac_intel_compat.sh | 292 | # Create a mock uv that logs all calls instead of running them |
| MEDIUM | …/saving/language_models/test_save_merged_grpo_model.py | 144 | # Create the assistant response |
| MEDIUM | tests/saving/vision_models/test_push_to_hub_merged.py | 1 | ## Import required libraries |
| MEDIUM | …/saving/vision_models/test_index_file_sharded_model.py | 1 | ## Import required libraries |
| MEDIUM | unsloth/save.py | 2769 | # Create the custom directory if it doesn't exist |
| MEDIUM | unsloth/models/loader.py | 554 | # Create a combined error message showing both failures |
| MEDIUM | unsloth/models/loader.py | 1342 | # Create a combined error message showing both failures |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | install.sh | 440 | # Step 1: Try installing without sudo (works when already root) |
| LOW | install.sh | 444 | # Step 2: Check which packages are still missing |
| LOW | install.sh | 463 | # Step 3: Escalate -- need elevated permissions for remaining packages |
| LOW | studio/backend/core/tool_healing.py | 101 | # Step 1: Find all <function=name> positions and extract their bodies. |
| LOW | studio/backend/core/tool_healing.py | 126 | # Step 2: Extract parameters from body. |
| LOW | studio/backend/core/training/worker.py | 822 | # Step 1: --no-deps keeps --force-reinstall from touching torch/CUDA via the dep graph. |
| LOW | studio/backend/core/training/worker.py | 844 | # Step 2: regular install pulls in transitive deps (z3-solver, ml-dtypes) without touching torch. |
| LOW | studio/backend/core/inference/inference.py | 620 | # Step 1: Unload the adapter weights if model is a PeftModel. |
| LOW | studio/backend/core/inference/inference.py | 627 | # Step 2: Clear any lingering peft_config from the unwrapped model. |
| LOW | studio/backend/core/inference/inference.py | 1026 | # Step 1: Apply get_chat_template if model is in mapper |
| LOW | studio/backend/core/inference/inference.py | 1054 | # Step 2: Format with tokenizer.apply_chat_template() |
| LOW | studio/backend/core/inference/inference.py | 1084 | # Step 3: Generate |
| LOW | studio/backend/utils/datasets/dataset_utils.py | 1106 | # Step 1: Format the dataset |
| LOW | studio/backend/utils/datasets/dataset_utils.py | 1138 | # Step 2: Apply chat template |
| LOW | studio/backend/utils/datasets/dataset_utils.py | 1165 | # Step 3: Generate summary |
| LOW | unsloth/save.py | 1468 | # Step 1: Ensure llama.cpp is installed |
| LOW | unsloth/save.py | 1485 | # Step 2: Download and patch converter script |
| LOW | unsloth/save.py | 1492 | # Step 3: Initial GGUF conversion |
| LOW | unsloth/save.py | 1541 | # Step 4: Additional quantizations using llama-quantize |
| LOW | unsloth/save.py | 2307 | # Step 6: Clean up memory |
| LOW | unsloth/save.py | 2315 | # Step 7: Get model dtype and type |
| LOW | unsloth/save.py | 2196 | # Step 1: Check if this is a VLM (Vision-Language Model) and check if gpt-oss |
| LOW | unsloth/save.py | 2219 | # Step 2: Prepare arguments for model saving |
| LOW | unsloth/save.py | 2252 | # Step 3: Fix tokenizer BOS token if needed |
| LOW | unsloth/save.py | 2258 | # Step 4: Save/merge model to 16-bit format |
| LOW | unsloth/save.py | 2332 | # Step 8: Convert to GGUF format |
| LOW | unsloth/save.py | 2396 | # Step 9: Create Ollama modelfile |
| LOW | unsloth/save.py | 2418 | # Step 10: Show BOS token warning if applicable |
| LOW | unsloth/save.py | 2510 | # Step 1: Determine save directory |
| LOW | unsloth/save.py | 2523 | # Step 2: Call save_pretrained_gguf to do the conversion |
| LOW | unsloth/save.py | 2561 | # Step 3: Upload to HuggingFace Hub |
| LOW | unsloth/kernels/moe/tests/moe_utils.py | 45 | # Step 2: Copy existing expert weights into buffers |
| LOW | unsloth/kernels/moe/tests/moe_utils.py | 51 | # Step 3: Rebind expert weights to views in shared buffer |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | unsloth/save.py | 885 | internal_model.model.embed_tokens.weight.data.to(torch_dtype) |
| CRITICAL | unsloth/kernels/moe/grouped_gemm/kernels/tuning.py | 42 | properties = triton.runtime.driver.active.utils.get_device_properties( |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | unsloth/kernels/fast_lora.py | 656 | |
| MEDIUM | unsloth/kernels/fast_lora.py | 657 | |
| MEDIUM | unsloth/kernels/fast_lora.py | 659 | |
| MEDIUM | unsloth/kernels/fast_lora.py | 730 | |
| MEDIUM | unsloth/kernels/moe/autotune_cache.py | 386 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/saving/text_to_speech_models/test_whisper.py | 166 | # Example usage |
| LOW | scripts/install_gemma4_mlx.sh | 13 | # Usage: |
| LOW | scripts/install_qwen3_6_mlx.sh | 16 | # Usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | …nd/src/features/settings/components/usage-examples.tsx | 68 | print(chunk.choices[0].delta.content or "", end="")`, |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | studio/backend/utils/inference/inference_config.py | 127 | Load inference configuration parameters for a model. Priority chain: 1. Model-specific YAML (if it exists |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | unsloth-cli.py | 17 | Usage: (most of the options have valid default values this is an extended example for demonstration purposes) |
| LOW | unsloth/kernels/cross_entropy_loss.py | 373 | losses.masked_fill_(labels == -100, 0) # Don't forget to mask padding out! |
| LOW | unsloth/kernels/fast_lora.py | 64 | Don't forget to see our blog post for more details! |
| LOW | unsloth/models/qwen3_moe.py | 83 | # the current expert. We need to make sure to multiply the output hidden |