Text Classification
PEFT
Safetensors
English
intent-classification
ecommerce
lora
qlora
function-calling
Instructions to use while-ai/ecommerce-1b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use while-ai/ecommerce-1b with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("unsloth/gemma-3-1b-it-bnb-4bit") model = PeftModel.from_pretrained(base_model, "while-ai/ecommerce-1b") - Notebooks
- Google Colab
- Kaggle
Zero Proof AI commited on
Strong v0 card: version table, comparison + per-intent tables, base-collapse, citation
Browse files
README.md
CHANGED
|
@@ -18,112 +18,73 @@ tags:
|
|
| 18 |
- structured-output
|
| 19 |
---
|
| 20 |
|
| 21 |
-
# ZeroProof Intent Model 0
|
| 22 |
|
| 23 |
-
|
| 24 |
-
> that reads a payment/agent conversation and returns **one structured intent object**.
|
| 25 |
-
> It is the model half of ZeroProof's behavioral-attestation stack: it decides *what the
|
| 26 |
-
> user actually intended* so a downstream layer can verify an agent's action matches it.
|
| 27 |
|
| 28 |
-

|
| 26 |
|
| 27 |
+
## Model description
|
|
|
|
| 28 |
|
| 29 |
+
- Base: `gemma-3-1b` (frozen, pinned snapshot)
|
| 30 |
+
- Method: QLoRA supervised fine tuning, rank-16 adapter, response-only supervision, 2 epochs
|
| 31 |
+
- Task: route a conversation to one of 7 intents (`spend`, `send`, `exchange`, `recur`, `bill`, `reverse`, `none`) and extract the fields for that intent
|
| 32 |
+
- Language: English
|
| 33 |
|
| 34 |
+
Ground truth is taken from the user turns only. `none` is first class: in an attestation setting a false positive is a false attestation, so the model is trained and measured on getting the no-action boundary right.
|
|
|
|
|
|
|
| 35 |
|
| 36 |
+
The output schema and integration spec are part of the ZeroProof runtime and are not published here.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
+
## Model sources
|
|
|
|
|
|
|
|
|
|
| 39 |
|
| 40 |
+
- Org: [zero-proof-ai](https://huggingface.co/zero-proof-ai) · Collection: ZeroProof Intent Models
|
| 41 |
+
- Website: [zeroproofai.com](https://www.zeroproofai.com/)
|
| 42 |
+
- Paper: in progress
|
| 43 |
|
| 44 |
+
## Versions
|
|
|
|
| 45 |
|
| 46 |
+
| Version | Base | Status | Notes |
|
| 47 |
|---|---|---|---|
|
| 48 |
+
| **v0 (this)** | gemma-3-1b | released | first controlled base-vs-SFT result |
|
| 49 |
+
| v1 | TBD | planned | balanced trap-laden eval, frontier and peer comparison, long-context |
|
|
|
|
|
|
|
| 50 |
|
| 51 |
+
## Performance
|
|
|
|
| 52 |
|
| 53 |
+
Base and the adapter are scored in one engine on the identical 4,000 held-out conversations, greedy decoding. Only the adapter differs. Core-type is reported macro (equal weight per intent) because the eval is 57% `none`; the micro number is shown for completeness only.
|
| 54 |
|
| 55 |
+
| Metric | Base gemma-3-1b | **Model 0** |
|
| 56 |
+
|---|---|---|
|
| 57 |
+
| Valid structured output | 87.5 | **99.8** |
|
| 58 |
+
| Intent detected (act vs none) | 35.0 | **81.9** |
|
| 59 |
+
| **Core-type routing, macro** | 14.4 | **70.0** |
|
| 60 |
+
| Core-type routing, micro | 7.6 | 79.8 |
|
| 61 |
+
| Detail extraction | 19.7 | **61.3** |
|
| 62 |
|
| 63 |
+
Per-intent core-type accuracy (n = held-out count):
|
|
|
|
| 64 |
|
| 65 |
+
| | none | reverse | send | exchange | bill | spend | recur |
|
| 66 |
+
|---|---|---|---|---|---|---|---|
|
| 67 |
+
| n | 2286 | 300 | 300 | 214 | 300 | 300 | 300 |
|
| 68 |
+
| base | 0 | 0 | 10 | 0 | 6 | 84 | 0 |
|
| 69 |
+
| **Model 0** | **90** | **74** | **72** | **68** | **65** | 63 | **59** |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
|
| 71 |
+
The base does not fail at random. It collapses to a single class, predicting `spend` on 80.7% of all inputs regardless of the true intent, so its only strong column is `spend`. The adapter trades that false strength for real coverage of all seven intents. Columns for a peer 1B (Llama) and a frontier parent are the v1 comparison, run on this same eval.
|
| 72 |
|
| 73 |
+
## Training
|
| 74 |
|
| 75 |
+
QLoRA SFT on Modal, effective batch 16, 2 epochs, learning rate 2e-4, response-only masking on the frozen base. Trained on ZeroProof's proprietary conversation data: 6,000 train / 4,000 eval, human-realistic conversations across many people and situations, near-duplicates removed so eval gains are not memorized. How we build and label that data is proprietary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
|
| 77 |
+
## Intended use and limitations
|
| 78 |
|
| 79 |
+
Intended for intent detection inside the ZeroProof attestation pipeline. v0, single base family, English. Weakest intents are `recur` (59) and `spend` (63), the status-vs-action and purchase-vs-defer boundaries, which the next data cycle targets. The confidence field is not yet calibrated; treat it as a rough signal. No frontier or peer comparison is claimed in v0.
|
|
|
|
|
|
|
| 80 |
|
| 81 |
+
## Citation
|
| 82 |
|
| 83 |
+
```bibtex
|
| 84 |
+
@misc{zeroproof2026intentmodel0,
|
| 85 |
+
title = {ZeroProof Intent Model 0},
|
| 86 |
+
author = {ZeroProof},
|
| 87 |
+
year = {2026},
|
| 88 |
+
howpublished = {\url{https://huggingface.co/zero-proof-ai/intent-model-0}}
|
| 89 |
+
}
|
| 90 |
+
```
|