Skip to content

Fine-Tune Pipeline

Scaffolds a TypeScript CLI for fine-tuning LLMs. Handles end-to-end dataset preparation (JSONL formatting, schema validation, train/val/test splitting), training job submission via a provider registry (OpenAI fine-tuning API included out of the box), and post-training evaluation that compares base model vs fine-tuned model outputs side by side. The provider registry is pluggable — add new training backends by creating a single file that self-registers at import time.

Namefine-tune-pipeline
Version0.1.0
Categoryai-systems
LicenseApache-2.0
Personaengineering
Tagstypescript, fine-tuning, llm, training, dataset, ai
Sourcetemplates/fine-tune-pipeline

Render it

Three front doors, one catalog. Pick whichever suits the caller.

# CLI
npx @nanohype/sdk render fine-tune-pipeline --out ./my-app

# SDK
import { LocalSource, renderTemplate } from "@nanohype/sdk";
const result = await renderTemplate(source, "fine-tune-pipeline", variables);

# MCP — from an agent
get_template({ name: "fine-tune-pipeline" })

Prerequisites

ToolVersionWhy
node>=22Node.js runtime for TypeScript execution

Variables

Required

ProjectName string
Kebab-case project name, used in package.json and directory Must be lowercase kebab-case starting with a letter.

Optional

Description string — defaults to LLM fine-tuning pipeline
Short project description for package.json and README
Provider string — defaults to openai
Default training provider name (built-in: openai — or any custom registered provider)
IncludeEval bool — defaults to true
Include post-training evaluation module for comparing base vs fine-tuned models
IncludeTests bool — defaults to true
Include vitest test suite with dataset and validation tests

What it produces

27 files. Placeholder names such as __APP_NAME__ are what the renderer substitutes into.

.env.example
.gitignore
biome.json
data/examples/.gitkeep
package.json
README.md
src/__tests__/dataset.test.ts
src/__tests__/validate.test.ts
src/bootstrap.ts
src/config.ts
src/dataset/prepare.ts
src/dataset/split.ts
src/dataset/types.ts
src/dataset/validate.ts
src/eval/compare.ts
src/eval/metrics.ts
src/index.ts
src/logger.ts
src/resilience/__tests__/circuit-breaker.test.ts
src/resilience/circuit-breaker.ts
src/training/index.ts
src/training/mock.ts
src/training/openai.ts
src/training/registry.ts
src/training/types.ts
tsconfig.json
vitest.config.ts

Composes with