In a few minutes you will go from zero to a fine-tuned model you can chat with in a local Playground. The training itself takes 7 to 12 minutes; setup time depends on your connection and what is already installed.Documentation Index
Fetch the complete documentation index at: https://arkor-92aeef0e-eng-353.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Node.js 22.6 or newer. Node 24 is recommended.
- pnpm. Other package managers (npm, yarn, bun) work too; the examples below use pnpm.
- A working internet connection. Training runs on Arkor’s managed GPUs.
1. Scaffold a project
| Template | Task | Output shape | Estimated training |
|---|---|---|---|
triage | Support triage | { category, urgency, summary, nextAction } | ~7 min |
translate | 9-language translation | { translation, detectedLanguage } | ~7 min |
redaction | PII redaction | { redactedText, redactedCount, tags } | ~12 min |
unsloth/gemma-4-E4B-it) with a curated public dataset on HuggingFace. The training is real and finishes in minutes, so you get to see the whole loop end to end.
To skip the prompt:
2. Look at what was generated
src/arkor/trainer.tsholds your trainer definition. Model, dataset, LoRA settings, hyperparameters, and lifecycle callbacks all live here.src/arkor/index.tsis the entry point. It callscreateArkor({ trainer })so the CLI and Studio can discover what to run.
trainer.ts. The shape is the same across templates; only the dataset, output schema, and example prompts differ.
3. Open Studio and start a run
arkor dev, which boots Studio at http://localhost:4000. Studio is the UI; arkor dev itself does not start training and does not watch your trainer files.
In the browser, click Run training. Studio submits the job to the managed backend in the background and streams the output back into the page. The first time you trigger anything, an anonymous workspace is created automatically: no signup, no credit card.
Once a run is in flight, three views matter:
- Jobs. A list of training runs. Click into one to see live status.
- Loss chart and event log. As the run streams from the managed GPU, the loss curve updates and the log tail shows training events. The first run takes 7 to 12 minutes depending on the template.
- Playground. After a job completes, pick the final adapter from the selector and chat with it. Use the mode toggle to switch between the base model and the adapter. To run inference on intermediate checkpoints while a run is still in flight, use
onCheckpointcallbacks instead of Studio.
src/arkor/ between runs, refresh the Run training page (or run pnpm exec arkor build) before the next click so the new code is what runs.
4. Tie runs to an account (optional)
Anonymous workspaces are useful for trying things out, but the work is tied to the anonymous token on this local machine and is not visible from another device or another account. To keep training under an account, sign in with OAuth before you start the next run:arkor as a local devDependency, so use your package manager’s local-bin runner (e.g. pnpm exec arkor <command>, npx arkor <command>, yarn arkor <command>, or bunx arkor <command>) over a bare arkor invocation unless you have installed the CLI globally. The generated project README walks through the equivalent setup for npm, pnpm, yarn, and bun.
A few caveats. Running pnpm exec arkor login without a flag opens an interactive picker that defaults to Anonymous; accepting the default mints a brand-new anonymous token (a new anonymousId) and overwrites ~/.arkor/credentials.json, so it lands you in a different workspace from the previous anonymous session, not a refresh of it. Switching to OAuth overwrites the same file and does not migrate prior anonymous workspaces or jobs into the account. Merging anonymous work into an OAuth account once you sign in is on the roadmap; until that lands, sign in before the runs you want associated with the account.
5. Where to go next
- Concepts. Read Concepts to build a mental model of
createArkor,createTrainer, the lifecycle callbacks, and Studio. - Customize the trainer. Open
src/arkor/trainer.tsand tweaklora.r,maxSteps, or add more callbacks. Refresh the Run training page (or runpnpm exec arkor build) before the next click so your edits land. - Try another template. Run
pnpm create arkoragain with a different--templateto compare.