Skip to main content

Liquid Harness – customize Liquid AI foundation models into task-specific models.

Project description

Liquid Harness — watch the demo

lqh — Liquid Harness

⚠️ Closed beta — visit lqh.ai to request access.

From zero to a fine-tuned LFM in under an hour.

Liquid Harness is a terminal user-interface (TUI) agent for customizing Liquid Foundation Models. It guide the user to define clear specifications of what problem needs to be solved, writes the data pipeline, scores and filters samples, runs baselines, fine-tunes, and iterates. No ML experience required.

pip install lqh
lqh

✨ Features

💬 Fully agentic

You chat, the agent works. It interviews you about your task, writes and manages the specifications, then drives every downstream stage end-to-end.

📝 Specify in plain English

No DSL, no boilerplate, no ML jargon. Just describe what you want the model to do — the agent captures requirements through dialogue and turns them into structured specs you can refine over time.

🧪 Synthetic data, scored & filtered

The agent authors a per-task data generation pipeline, generates samples concurrently on LQH Cloud, and scores each one with an LLM judge against your rubric. The dataset that hits training is already curated.

🏋️ Fine-tune locally or in the cloud

Eval and data generation run on LQH Cloud. Training can run locally on your own GPUs, or hand off to a beefier machine — just sync the dataset and continue.

🤗 HuggingFace integration

Push and pull datasets from the Hub. Set HF_TOKEN to enable private dataset access and dataset publishing.

🤖 Hands-off --auto mode

Point lqh at a directory and walk away. It either delivers a checkpoint that beats baseline or returns an explicit failure with the reason — never a hang, never a prompt.

🖥️ Interactive TUI

Provide input, guide the agent, visualize progress, and inspect dataset samples — all from a single terminal session with a slash-command palette and a live status bar.

📦 Project-as-directory

Any directory is a project — fully git-compatible, so you can version, branch, and collaborate on specs, datasets, and runs like any other code. cd to switch projects.

🚀 The pipeline

One command runs all nine stages. Each is a real component you can inspect, stop at, or hand off.

spec → rubric → data gen → filter → baseline → SFT → DPO → eval → checkpoint
$ lqh --auto ./my-task
[stage: rubric]            writing scorer from spec
[stage: data_gen_draft]    5 samples generated, all valid
[stage: filter_validation] 1,427 / 2,000 kept
[stage: sft_initial]       score 6.8/10  (baseline 4.1)
[stage: dpo]               iter 3/5, score 7.4/10
[final: success]           DPO checkpoint beats baseline by +3.3

🔧 Requirements

  • Python 3.11+
  • A Liquid Harness account (request access)
  • Optional: torch + transformers for local fine-tuning
  • Optional: HF_TOKEN for HuggingFace dataset sync

🔐 Authentication

lqh
> /login

The CLI stores your token in ~/.lqh/config.json and authenticates all requests to LQH Cloud.

🧬 Base model

Default: LFM2-1.2B-Instruct — small, capable, runs anywhere.

📁 Project layout

A project is just a directory. cd into it, run lqh, and the agent reads the directory contents to understand current state. There is no init command and no project marker file — the files themselves are the project.

my-task/
├── SPEC.md              # main spec: what you want the model to do
├── other_specs/         # additional specs for edge cases or sub-requirements
├── data_gen/            # generated pipeline scripts (one .py per pipeline)
├── evals/               # eval definitions and results, versioned (v1/, v2/, ...)
├── datasets/            # generated and curated datasets as parquet (v1/, v2/, ...)
├── runs/                # training runs with checkpoints, logs, and configs
└── .lqh/                # conversation logs and per-project permissions (gitignored)
  • SPEC.md is the heart of the project. The agent creates it during the spec-capture interview and refers back to it at every downstream stage. Edit it directly any time — the agent will pick up the changes on the next turn.
  • Everything is plain files. Specs are markdown, pipelines are Python, datasets are parquet, runs are directories of artifacts. Inspect, diff, and version-control them like any other code.
  • .lqh/ holds session state (conversation logs, tool permissions). Add it to .gitignore. Depending on size, you may also want to gitignore datasets/ and runs/.

🗺️ Roadmap / work in progress

Things we're actively building or planning. Open an issue if you want to weigh in.

  • Quantized evals — run the local evaluation using a quantized model (llama.cpp) so we measure the exact artifact that will be deployed (e.g. Q4_0). Includes checkpoint → GGUF conversion as part of the pipeline.
  • Quantization-aware training (QAT) — once quantized evals are in place, train against the quantization noise so the deployed quantized model matches the full-precision score.
  • Sub-agent spawning — today there's a single main agent loop. We're adding the ability for the agent to fork or spawn sub-agent processes in parallel for independent subtasks (e.g. drafting multiple data pipelines, running evals concurrently).
  • Training via API or SLURM — local and direct-SSH training work today. The training backend is already abstracted so SSH+SLURM cluster submission and a hosted training API can drop in, but neither is implemented or end-to-end tested yet.
  • Multi-modal support — scaffolding for image and audio inputs is in place, but the concrete pipelines, data generators, and end-to-end tests have not been written yet.

🤝 Contributing

Please read CONTRIBUTING.md before opening a pull request. Random PRs will be rejected — discuss first via an issue, and the discussion will usually conclude with a prompt (not a patch) that a coding agent will execute. Security hot fixes are the one exception. See the contribution policy for details.


Made with care by Liquid AI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lqh-0.3.3.tar.gz (305.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lqh-0.3.3-py3-none-any.whl (347.8 kB view details)

Uploaded Python 3

File details

Details for the file lqh-0.3.3.tar.gz.

File metadata

  • Download URL: lqh-0.3.3.tar.gz
  • Upload date:
  • Size: 305.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lqh-0.3.3.tar.gz
Algorithm Hash digest
SHA256 0dc811458a0abd0aa50eb107a3863c0991c09908bf080bd36d3221c8a69c8605
MD5 d4f0ecf3cfc9ed23216ef8836b9b3340
BLAKE2b-256 95e1fa2543c2dfc1526dbbdd8c52fabbbf7c14a47ac5f97340fbbd49438339b8

See more details on using hashes here.

File details

Details for the file lqh-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: lqh-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 347.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lqh-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e953ad650d1c52ace4396903324ab833cac963a8dc4a68742449a1be0bb6cf8b
MD5 16ba30a19f24e6688cccb9e00f27c71b
BLAKE2b-256 f7cf9039f30ff651bae5c49d441c248b8341b9ceed7da028fabe0b9745c4f582

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page