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.2.15.tar.gz (286.8 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.2.15-py3-none-any.whl (328.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lqh-0.2.15.tar.gz
  • Upload date:
  • Size: 286.8 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.2.15.tar.gz
Algorithm Hash digest
SHA256 617571ee95854efcf9baf2200268a3e80b6a854c213182140141cd3bd1a550b8
MD5 8a4686f9d690c1dab97dd329cf93d886
BLAKE2b-256 17a67545a8cb93c22552082afc6aa4113fc1198f07e88d7d6fafef4dc1547f80

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lqh-0.2.15-py3-none-any.whl
  • Upload date:
  • Size: 328.4 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.2.15-py3-none-any.whl
Algorithm Hash digest
SHA256 5bca244c4400d1e256b6fd98228da1afe4fb249fd090511428719c2fcd403ba7
MD5 780e3f40abdacd760160d57e35ad6f98
BLAKE2b-256 d3c5ca64388387db472faec52c9a7552fa04262b4f6d53142da7c3537cb2fa4c

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