Instructions to use nsalerni/loudink-v1.1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use nsalerni/loudink-v1.1 with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir loudink-v1.1 nsalerni/loudink-v1.1
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
loudink-v1.1 v1.1.1 (canary)
On-device dual-stack for LoudInk / Flowcast on Apple Silicon, plus user skills:
- Writer β LFM2.5-1.2B LoRA (dictation polish / messages / email / prompts)
- Planner β FunctionGemma compact-IR LoRA (
run_skill+ freeform computer-use) - Skill store β local JSON skills (record β compile β voice replay)
Stable GA line: nsalerni/loudink-v1 (0.4.0 freeze).
This package is the v1.1 canary (PR-AβE). Prefer dual-package client routing with kill-switch to v1.
Product bars (v1.1)
| Slice | Shipped | Neural | Latency |
|---|---|---|---|
| Writing daily | 100% | 100.0% | p50 184 ms |
| Computer daily | 100% | β | mostly fast-path |
| Multi-step | 100% | β | mostly fast-path |
| Daily-Mac overall (n=69) | 100% | β | β |
| Skill invoke (n=19) | 100% | β | deterministic store |
| IR honesty (n=112, no FP) | β | 46.4% | honesty lineage |
Holds loudink-v1 0.4 bars; writing neural improved on expanded suite (~92% vs ~86%).
Bundle layout
writer/ # optional promoted_core_100.safetensors seed adapter
writer_unified/ # production writer LoRA
ir/ # skill-aware IR LoRA
ir_honesty_fallback/ # v0.4 honesty IR (optional rollback)
skill_store/ # example seed skills (not user data)
router.json
manifest.json
inference_config.json
Bases are not vendored (size). Pull 4-bit bases:
- Writer:
mlx-community/LFM2.5-1.2B-Instruct-4bit - IR:
mlx-community/functiongemma-270m-it-4bit
Skills (record β replay)
from huggingface_hub import snapshot_download
from gemmaflow_tune.skills.store import SkillStore
from gemmaflow_tune.skills.invoke import try_skill_invoke_plan
bundle = snapshot_download("nsalerni/loudink-v1.1")
store = SkillStore(f"{bundle}/skill_store")
plan = try_skill_invoke_plan("run my invoice chase for Acme", skill_store=store)
Client should point skill_store_path at a user-writable directory and merge or replace example seeds. Private recordings stay local; do not train cloud models on them by default.
IR extension
{"intent": "run_skill", "skill_id": "invoice_chase", "slots": {"company": "Acme"}, "confidence": 0.92}
Unknown skill_id β null plan (never invent). Freeform (open gmail) never hijacks skills.
Vision (PR-E)
skills/vision.py scaffold is in the training repo; default disabled. Client injects a resolver when ready.
Integration
# runner_kind: loudink_v1
# skill_store_path: {bundle}/skill_store # or user path
# ir_adapter_path: {bundle}/ir
# writer_unified_adapter_path: {bundle}/writer_unified
See inference_config.json and client_contract.md.
Methods (v1.1)
- PR-A: Skill schema, store, recorder compiler, null-safe
run_skill - PR-B: Paraphrase invoke + skill_invoke bench + light IR SFT
- PR-C: Deterministic slot fill (
for/about/ named) - PR-D: Expanded daily-Mac computer + writing cases
- PR-E: Vision fallback scaffold (noop until client wires resolver)
License
Apache-2.0 (adapters + example skills). Base model licenses apply to community 4-bit bases. User-recorded skills are user data.
Quantized