CTRL-2B

CTRL-2B: the Expedient control key. Control is the feature.

Try it out: the CTRL-2B demo Space runs the sample questions below as one-click buttons. This card also exists as an interactive page on the CTRL-2B card Space.

CTRL-2B, the Expedient agent model. A retrieval-grounded support agent for Expedient's cloud-infrastructure knowledge base, built on a QLoRA adapter of openbmb/MiniCPM5-2B (LlamaForCausalLM, Apache-2.0), trained on first-party and source-verified KB question/answer pairs.

Codename lineage: trained as expedient-agent-minicpm5-2b-v2; shipped as CTRL-2B to match the AI CTRL product family.

Design: the adapter supplies voice, retrieval supplies truth. Closed-book answers are not a supported mode; every deployment pairs the adapter with excerpts from the KB index (bge-small-en-v1.5 โ†’ cross-encoder rerank โ†’ top-3 injected) and an abstention gate at the measured lens threshold.

Runtime path: question in, retrieve top 3, lens gate, then answer or abstain

Measured results

All numbers come from on-disk eval summaries (see LINEAGE.json and MEASUREMENTS.md; instruments pinned in INSTRUMENTS.sha256). Metrics: number-fact recall (gold numbers present in the answer) and precision (answer numbers present in gold, so invented numbers are the hallucination signal).

Headline results: 0.943 open-book recall, 0.945 precision, 94/94 retrieval hit@3, 15/15 OOD questions gated

Closed-book, held-out questions (26 rows):

Arm Recall Precision
Base MiniCPM5-2B 0.692 โ€”
This adapter 0.772 0.865

Open-book (adapter + retrieved excerpts), the supported posture:

Eval Rows Index Hit@3 Recall Precision
Held-out val 26 257 26/26 (rank 0.0) 0.962 0.962
Production shape 94 939 94/94 (rank 0.0) 0.943 0.945

GGUF Q8_0 engine parity (llama-server, 26 rows): open-book 1.000 / 0.981, overall 0.889. The export reproduces adapter behavior.

Corpus

Five sources feed the v2 corpus. The belt shows rows collected before review; the gate decides what ships.

Corpus conveyor: source rows from five vendors rolling into the review gate

Source Type Rows
Nutanix Vendor docs 522
VMware VCF9 Vendor docs 504
Expedient KB First-party 218
Zerto Vendor docs 71
Cohesity Vendor docs 62
Five source sets 1,377

The v2 corpus holds 939 rows (845 train / 94 val) after review and dedupe: 258 first-party reviewed rows plus 681 promoted through automated source-page verification (review_status agent-assisted-review-2026-11-03). The 1,005 unreviewed vendor rows triaged: 682 accepted, 207 rejected, 116 held for human review.

Robustness and the gate

Paraphrased questions (hand-rewritten): recall 0.962, precision 0.962, hit@3 26/26. Out-of-domain questions (general knowledge, competitor platforms): the composite abstention gate (lens 0.74, measured for this vehicle) catches 15/15. Prompted-only abstention does not work (20%); the gate is required.

Lens gate threshold: OOD max 0.723, gate at 0.740, paraphrase p25 0.748

Training

  • QLoRA: r16 / ฮฑ32, lr 2e-4 cosine, eff. batch 16, 4 epochs, 211 steps (~54 min on an RTX 4050 Laptop 6 GB), bf16 compute, NF4 double-quant base
  • Assistant-only supervision via fail-loud string-prefix masking
  • A 4B control run bought no clear quality gain for twice the size, at 19.9 seconds per step versus 15.4. 2B ships.

Sibling model โ€” CTRL-0.6B

For demos that must run inside a browser tab, use CTRL-0.6B: the same corpus and recipe on Qwen3-0.6B, shipped as a 378 MB Q4_K_M GGUF that llama.cpp WASM can load client-side.

CTRL-2B is the model to use when quality matters (0.772 closed-book recall / 0.865 precision vs 0.692 / 0.846 for the 0.6B). CTRL-0.6B is the model that fits on a web page. Both reach ~0.96 recall with retrieval.

Try it: sample questions

An interactive version of this card runs as a Hugging Face Space: the working theme toggle, the Hold-Ctrl gate demo, and the corpus conveyor.

Curated test questions with the key facts a good answer contains. Answers are retrieval-grounded: pair the adapter with these KB excerpts and the abstention instruction.

Core KB facts
Question A good answer contains
What types of PII can AI CTRL's prompt filter detect and redact? email ยท phone ยท SSN ยท credit card ยท IP addresses
What is AI CTRL, and how is customer data handled? multi-model AI gateway ยท dedicated private environment ยท data not used to train models
How do I submit a remote hands request? ticket required ยท OSC/SMC ticket ยท Project Change Request via account manager
What RPO settings does Expedient recommend for Nutanix DR? Async 1-hour RPO ยท NearSync 1โ€“15 min ยท synchronous unsupported
Exact numbers and versions
Question A good answer contains
What is Expedient's aggregate data center footprint? 35 MW ยท 472K sq ft ยท 247K raised floor
How many vCPUs per Kubernetes worker node for a CSE cluster? two per node ยท deployment fails below two
When does a standard connector sync content, and how long does setup take? โ‰ค50,000 docs ยท five business days ยท daily incremental sync
Can a new deployment go directly to VCF 9.0.2? Yes โ€” no 9.0.0/9.0.1 upgrade path needed
Procedures and navigation
Question A good answer contains
Where do I change CPU, memory, disk, or NIC resources for an EEC VM? VM Details โ†’ Hardware section ยท guest reboot required
If we use our own Active Directory for GlobalProtect, who manages it? OneLogin default ยท client-supplied = client's responsibility
Which markets does Expedient operate data centers in? Columbus ยท Cleveland ยท Indianapolis ยท Kansas City ยท Pittsburgh ยท Toledo
Beyond the KB (should abstain, not invent)
Question Expected
How much does Expedient charge for bandwidth overages? KB doesn't cover pricing
Does Expedient support IPv6 on dedicated internet access? KB doesn't state
How do I deploy a container to Azure Kubernetes Service? competitor platform โ€” out of scope

Usage

Runtime (adapter + retrieval + gate):

# see agent_runtime.py in the training repo; loads this adapter,
# retrieves top-3 excerpts per question, generates greedily, and
# abstains when the lens gate (geo-mean answer-token prob < 0.74) fires

GGUF Q8_0 (merged) included for llama.cpp serving โ€” mainline conversion, MiniCPM5-2B reports model_type "llama".

Governance

  • Base model: Apache-2.0; this adapter ships under Apache-2.0.
  • Corpus sources: Expedient first-party KB drafts plus vendor documentation (Nutanix, Broadcom/VMware) paraphrased and source-verified against the live pages (hash-pinned in the lineage record). Rights for the underlying vendor content remain with the respective publishers; this release is intended for Expedient-internal support use pending the corpus owner's final rights call.
  • Known limits: facts live in retrieval, not in weights. Closed-book mode confabulates specifics (precision 0.865, not 1.0); the abstention gate is mandatory in production.

Reproducibility

LINEAGE.json pins the adapter, corpus, and export hashes; MEASUREMENTS.md lists every published number and its source summary; INSTRUMENTS.sha256 pins the eval instruments (val split, paraphrase and OOD probe sets).

Downloads last month
16
GGUF
Model size
0.6B params
Architecture
qwen3
Hardware compatibility
Log In to add your hardware

4-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for expedient-ai/CTRL-2B

Finetuned
(85)
this model
Quantizations
1 model

Collection including expedient-ai/CTRL-2B