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.2.tar.gz (12.5 MB 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.2-py3-none-any.whl (232.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lqh-0.2.2.tar.gz
  • Upload date:
  • Size: 12.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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.2.tar.gz
Algorithm Hash digest
SHA256 30f96e63db56f5f66dbcf496b5bde5977ecbbd7d3c7209ddde236f2a0550db1f
MD5 b9ebc3922a7a5c943f96d1c1a8252ea3
BLAKE2b-256 ad7350e942d59353f587a7856c91f9b7e986172643ea864c046badcd04ee1301

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lqh-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 232.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 190c14264a250f55a8c590f0350157ad06e9d970e7d0ed2a4c37bf98f2fdc329
MD5 0a4f4ef2a463028c8bd11b0ea0002a63
BLAKE2b-256 0c028189a4fca146807193ebd369306dbe011e5a98e15535ba17daaa3cc7cade

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