Roland Tannous
47654cb91c
Final cleanup
2026-03-12 18:28:04 +00:00
Roland Tannous
a2baf80511
Update license headers
2026-03-12 17:23:10 +00:00
Roland Tannous
11e74b2dc5
resolved conflicts
2026-03-11 20:58:25 +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
9dac1bedf9
Merge remote-tracking branch 'origin/nightly' into feature/llm-assist-detection
2026-03-11 16:23:09 +00:00
Roland Tannous
817f2e8dcc
feat: integrate structlog, configure workers for prod logging, and migrate print statements
2026-03-11 12:33:16 +00:00
Roland Tannous
f7ca361c5c
feat: add LLM-assisted dataset detection using ephemeral GGUF helper
...
Uses Qwen2.5-3B-Instruct Q8_0 via LlamaCppBackend to complement
heuristic-based dataset detection when heuristics are uncertain.
- New llm_assist.py: VLM instruction generation, column classification,
and user-friendly warning generation for dataset issues
- Pre-cache helper GGUF on FastAPI startup (background thread)
- Reorder training pipeline: dataset processing runs BEFORE model load
to avoid VRAM contention (detect → dataset → model → train)
- Add pre_detect_and_load_tokenizer() for lightweight detection
- LLM warnings on VLM conversion failures (broken URLs, missing images)
- LLM column classification fallback when heuristics return unknown
- Graceful degradation: all paths unchanged when helper unavailable
2026-03-10 09:20:45 +00:00
Roland Tannous
d6803de35a
fix: detect list-of-strings text columns and pick random element for VLM conversion
...
Handles datasets like phiyodr/coco2017 where captions is a list of strings.
2026-03-10 01:32:19 +00:00
Roland Tannous
0b8325ab96
feat: add ShareGPT+image VLM format support and improve image column detection
...
- Detect and convert ShareGPT/ChatML conversations with <image> placeholders
- Add file_name/filename as image column keywords
- Detect image paths and URLs by value (string ending in .jpg/.png/etc)
2026-03-10 01:27:36 +00:00
Roland Tannous
32bbccc573
fix: resolve bare-filename images via HF repo lookup
...
Datasets like VQAonline store image filenames (e.g. "img.png") without
the directory prefix. Build a basename→repo_path lookup using
list_repo_files, then resolve each file via hf_hub_download.
2026-03-09 23:37:00 +00:00
Roland Tannous
c272c4f844
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-09 22:00:20 +00:00
Roland Tannous
d882678fe4
Add AGPL-3.0 SPDX headers to all source files
2026-03-09 20:17:45 +00:00
Roland Tannous
c171573a8f
fix: check for http(s) prefix instead of bare string type for URL detection
2026-03-05 06:10:10 +00:00
Roland Tannous
9ca45826d4
feat: parallel URL image probe with time estimate and progress reporting
...
- Add 200-sample parallel probe using ThreadPoolExecutor + safe_num_proc
to estimate download speed and failure rate before full conversion
- Abort with clear error if >=30% of probe images fail to download
- Show estimated download time in the training overlay modal
- Parallel batch conversion for URL-based datasets (vs sequential for local)
- Add warning field to /check-format response for URL-based image datasets
- Display URL warning in dataset preview dialog (amber banner)
- Thread progress_callback from trainer through format_and_template_dataset
to convert_to_vlm_format for real-time status updates
2026-03-04 23:40:38 +00:00
Roland Tannous
f59eaad212
feat: add tqdm progress bar to VLM conversion and download benchmark test
2026-03-04 23:29:43 +00:00
Roland Tannous
50885a7aa3
fix: add early probe to fail fast on datasets with too many broken image URLs
2026-03-04 23:29:43 +00:00
Roland Tannous
fdc23f4a43
fix: use fsspec for URL image downloads with per-sample error handling
2026-03-04 23:29:43 +00:00
Roland Tannous
929c3e9e1e
fix: cast URL image columns to HF Image() type in VLM conversion
2026-03-04 23:29:43 +00:00
Roland Tannous
91783c0fb2
Revert "Add index range dataset slicing to Studio training page"
2026-03-05 03:21:07 +04:00
Roland Tannous
e4ec16296e
feat: add tqdm progress bar to VLM conversion and download benchmark test
2026-03-04 13:30:27 +00:00
Roland Tannous
5ee9479e37
fix: add early probe to fail fast on datasets with too many broken image URLs
2026-03-04 08:05:40 +00:00
Roland Tannous
722744cf04
fix: use fsspec for URL image downloads with per-sample error handling
2026-03-04 07:50:55 +00:00
Roland Tannous
34fb9ec973
fix: cast URL image columns to HF Image() type in VLM conversion
2026-03-04 06:42:37 +00:00
Roland Tannous
d74174f7f5
Cap dataset.map num_proc on multi-GPU machines to prevent fork deadlocks
2026-02-23 14:25:31 +00:00
Roland Tannous
d69431fa57
Scale dataset num_proc dynamically to cpu_count//3 instead of hardcap 8
2026-02-18 08:38:53 +00:00
Roland Tannous
3d0d1c7020
fix: cap dataset.map() num_proc to 8 to prevent CUDA fork deadlocks
2026-02-17 23:12:45 +00:00
Roland Tannous
62ddcfa019
Refactor [dataset_utils.py](cci:7://file:///home/support/new-ui-prototype/studio/backend/utils/datasets/dataset_utils.py:0:0-0:0) into focused modules
2026-02-03 14:38:02 +00:00