Text Classification
Scikit-learn
Joblib
English
intent-classification
logistic-regression
conference-talk-demo
Instructions to use thinktecture/intent-logreg-nextera with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Scikit-learn
How to use thinktecture/intent-logreg-nextera with Scikit-learn:
from huggingface_hub import hf_hub_download import joblib model = joblib.load( hf_hub_download("thinktecture/intent-logreg-nextera", "sklearn_model.joblib") ) # only load pickle files from sources you trust # read more about it here https://skops.readthedocs.io/en/stable/persistence.html - Notebooks
- Google Colab
- Kaggle
Replace starter README with full model card
Browse files
README.md
CHANGED
|
@@ -1,51 +1,39 @@
|
|
| 1 |
---
|
| 2 |
-
license:
|
| 3 |
-
|
|
|
|
| 4 |
tags:
|
| 5 |
- conference-demo
|
| 6 |
- local-ai
|
| 7 |
-
-
|
| 8 |
-
-
|
| 9 |
-
- qwen
|
| 10 |
-
- thinktecture
|
| 11 |
---
|
| 12 |
|
| 13 |
-
# LogReg intent classifier (on top of EmbeddingGemma — Nextera demo)
|
| 14 |
-
|
| 15 |
> ⚠️ **Conference talk demo — not production weights.**
|
| 16 |
>
|
| 17 |
-
> This model accompanies a conference keynote on local on-device AI.
|
| 18 |
-
>
|
| 19 |
-
>
|
| 20 |
-
> the talk's state.
|
| 21 |
>
|
| 22 |
-
> Source repository:
|
| 23 |
-
>
|
| 24 |
-
>
|
| 25 |
-
> [`SECURITY.md`](https://github.com/thinktecture-labs/local-multi-model-agent-slm/blob/main/SECURITY.md)
|
| 26 |
|
| 27 |
---
|
| 28 |
|
| 29 |
-
##
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
|
| 40 |
-
|
| 41 |
-
its license: **Apache-2.0 (this artifact) + Gemma Terms (for the embedding step)**. See
|
| 42 |
-
[`finetune/MODEL_LICENSES.md`](https://github.com/thinktecture-labs/local-multi-model-agent-slm/blob/main/finetune/MODEL_LICENSES.md)
|
| 43 |
-
for the full per-model license summary.
|
| 44 |
-
|
| 45 |
-
## Collection
|
| 46 |
-
|
| 47 |
-
This model is part of the
|
| 48 |
-
[Local Multi-Model Agent — nextera fine-tunes](https://huggingface.co/collections/thinktecture/local-multi-model-agent-nextera-fine-tunes-6a04a8ff2a40e5696f3c2f18)
|
| 49 |
-
collection — five models in the production stack: intent (Gemma 1B), retrieval
|
| 50 |
-
(EmbeddingGemma), tool calling (Qwen 4B), RAG synthesis (Gemma 4B), and the
|
| 51 |
-
LogReg intent classifier.
|
|
|
|
| 1 |
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model: google/embeddinggemma-300m
|
| 4 |
+
library_name: sklearn
|
| 5 |
tags:
|
| 6 |
- conference-demo
|
| 7 |
- local-ai
|
| 8 |
+
- intent-classification
|
| 9 |
+
- logistic-regression
|
|
|
|
|
|
|
| 10 |
---
|
| 11 |
|
|
|
|
|
|
|
| 12 |
> ⚠️ **Conference talk demo — not production weights.**
|
| 13 |
>
|
| 14 |
+
> This model accompanies a conference keynote on local on-device AI. Published
|
| 15 |
+
> as a reference for the fine-tuning patterns shown on stage — **not** a
|
| 16 |
+
> deployable artefact. No security audit, no SLA, pinned to the talk's state.
|
|
|
|
| 17 |
>
|
| 18 |
+
> - Source repository: [thinktecture-labs/local-multi-model-agent-slm](https://github.com/thinktecture-labs/local-multi-model-agent-slm)
|
| 19 |
+
> - Threat model + out-of-scope: [`SECURITY.md`](https://github.com/thinktecture-labs/local-multi-model-agent-slm/blob/main/SECURITY.md)
|
| 20 |
+
> - All five models in the stack: [Collection — Local Multi-Model Agent — nextera fine-tunes](https://huggingface.co/collections/thinktecture/local-multi-model-agent-nextera-fine-tunes-6a04a8ff2a40e5696f3c2f18)
|
|
|
|
| 21 |
|
| 22 |
---
|
| 23 |
|
| 24 |
+
## LogReg Intent Classifier
|
| 25 |
+
|
| 26 |
+
| | |
|
| 27 |
+
|---|---|
|
| 28 |
+
| **Base** | scikit-learn `LogisticRegression`, multinomial, L2 penalty |
|
| 29 |
+
| **License** | Apache-2.0 (this repo) — but inputs are EmbeddingGemma vectors so the [Gemma Terms](https://github.com/thinktecture-labs/local-multi-model-agent-slm/blob/main/finetune/MODEL_LICENSES.md) cover the embedding step |
|
| 30 |
+
| **Training script** | [`training/train_intent_logreg.py`](https://github.com/thinktecture-labs/local-multi-model-agent-slm/blob/main/training/train_intent_logreg.py) |
|
| 31 |
+
| **Method** | LogReg on FT-EmbeddingGemma's 768-dim output vectors. Held-out 90/10 split. ~2 minutes on CPU. |
|
| 32 |
+
| **Training data** | Same as Gemma3-1B intent: `data/training-data/gemma3_intent_{scenario}.jsonl` (re-embedded with the FT EmbeddingGemma) |
|
| 33 |
+
| **Hardware** | CPU is sufficient. Requires the FT EmbeddingGemma llama-server running on port 9092/9096 to embed training examples. |
|
| 34 |
+
| **Intended use** | Replaces the 1B generative classifier as the primary intent router. ~10ms per query (vs ~200ms for the 1B). Same accuracy on the standard eval set. |
|
| 35 |
+
| **Out of scope** | Anything that requires generation (it's a 3-way classifier). Falls back to the 1B classifier when confidence is below threshold (defaults to 0.65). |
|
| 36 |
+
| **Reference eval (Nextera)** | 96.1% on 180-query eval set. ~10ms per classification (single CPU thread). |
|
| 37 |
+
| **Known failure modes** | When the EmbeddingGemma FT changes, the LogReg weights become invalid — `intent_classifier_logreg.py:13-15` warns about this coupling. Re-train both together. |
|
| 38 |
|
| 39 |
+
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|