⚡ FINETUNE STUDIO

Train, run, and evaluate large language models — entirely on your own hardware.

A self-hosted workshop for the whole lifecycle: documents → datasets → LoRA training → GGUF → benchmarks → chat. One dark-themed WebUI that lives in your browser. No cloud, no telemetry, no lock-in.

python 3.10+ Non-Commercial license CUDA FastAPI

FEATURES

Every stage of the local-LLM pipeline, wired together with a shared project concept. Pick what you need — most people start with one tab and grow.

AGENTIC DATA PREP TOOL-CALLING

A local model mines your documents for training data: list_sources → read_source → create_qa_pairs, with every tool call rendered inline so you can audit exactly what the AI did before it touches your dataset.

LoRA / QLoRA TRAINING

Point at a JSONL or your mined dataset, pick a base model, hit train. Live loss curves, VRAM-aware config, adapter merge, and a one-click bake to GGUF.

RAG CORPORAS

Ingest PDF / DOCX / CSV / code / images (OCR), chunk, embed, index. Search playground with top_k, threshold and reranker tuning. SSE progress the whole way.

FILE LIBRARY

SHA-256 dedup, MIME-auto-routed immutable raws, your own folders, versioning, and a 7-day soft-delete trash. Files are data; the DB is just the index.

BENCHMARKS

MMLU · HellaSwag · ARC · TruthfulQA · GSM8K · Winogrande + tool-calling evals. Side-by-side base-vs-trained tables, exportable JSON.

LOCAL INFERENCE

GGUF (llama.cpp) or safetensors (transformers), vision models included. Idle auto-unload frees VRAM; per-chat temperature, top-p and system prompt.

SELF-HEALING UPDATES

./update.sh or Settings → Apply update: pull, venv repair, dep sync, migrations, restart — with a live log stream in the UI.

VRAM DIAGNOSTICS

Out-of-VRAM? The load error names the culprit and its memory: “needs ~19.8 GB, only 10.3 free; top consumers: comfyui(pid 2063394)”.

THE PIPELINE

From raw documents to a benchmarked, chat-ready model — one project, one flow:

upload ──► file library      sha256 dedup · MIME auto-folders · versioning · 7-day trash
   └─► parse + chunk      pdf · docx · csv · xml · images(OCR) ── ~500-token chunks
        └─► Q&A mining       batch prep job  OR  agentic tool-calling chat
             └─► review           approve / reject / edit pairs ──► JSONL datasets
                  └─► train           LoRA / QLoRA / full · live loss · VRAM profiles
                       └─► merge + bake     adapter → merged → GGUF (quantized)
                            └─► benchmark        MMLU · GSM8K · tool-calling · base-vs-trained
                                 └─► chat             single-model engine · vision · RAG context

WHY NOT JUST…?

None of the pieces are impossible by hand. The point is that all of them are now in one place, with your data in ~/.finetune-studio/ where you can find it.

What you'd do manuallyWhat Finetune Studio does
Five terminal windows + a Notion page of "things to remember"One browser tab, one project concept
Hand-craft chunking + embedding loopsClick Build — SSE progress the whole way
Write your own MMLU eval harnessPick the suite, click Run, get a comparison table
Lose an afternoon to CUDA install issuesOne ./install.sh — GPU-aware wheels, self-repair
“Failed to load model from file” (useless)Actionable errors: needs 19.8 GB, 10.3 free, comfyui is holding it

QUICKSTART

Linux / macOS / Windows(WSL2). Auto-detects your GPU and picks the right CUDA wheels.

$ git clone https://github.com/GenorTG/finetune-studio.git
$ cd finetune-studio
$ ./install.sh                    # GPU detection, venv, wheels, llama.cpp CLI
$ source .venv/bin/activate
$ fts web --host 0.0.0.0 --port 7860
# open http://localhost:7860 — an 8-step tour walks you through it

DOCS