Text Classification
Transformers
ONNX
Safetensors
English
distilbert
intent-classification
multitask
iab
conversational-ai
adtech
calibrated-confidence
text-embeddings-inference
Instructions to use admesh/agentic-intent-classifier with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use admesh/agentic-intent-classifier with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="admesh/agentic-intent-classifier")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("admesh/agentic-intent-classifier", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| language: | |
| - en | |
| library_name: transformers | |
| pipeline_tag: text-classification | |
| base_model: distilbert-base-uncased | |
| metrics: | |
| - accuracy | |
| - f1 | |
| tags: | |
| - intent-classification | |
| - multitask | |
| - iab | |
| - conversational-ai | |
| - adtech | |
| - calibrated-confidence | |
| license: apache-2.0 | |
| # admesh/agentic-intent-classifier | |
| Production-ready intent + IAB classifier bundle for conversational traffic. | |
| Combines multitask intent modeling, supervised IAB content classification, and per-head confidence calibration to support safe monetization decisions in real time. | |
| ## Links | |
| - Hugging Face: https://huggingface.co/admesh/agentic-intent-classifier | |
| - GitHub: https://github.com/GouniManikumar12/agentic-intent-classifier | |
| ## What It Predicts | |
| | Field | Description | | |
| |---|---| | |
| | `intent.type` | `commercial`, `informational`, `navigational`, `transactional`, … | | |
| | `intent.subtype` | `product_discovery`, `comparison`, `how_to`, … | | |
| | `intent.decision_phase` | `awareness`, `consideration`, `decision`, … | | |
| | `iab_content` | IAB Content Taxonomy 3.0 tier1 / tier2 / tier3 labels | | |
| | `component_confidence` | Per-head calibrated confidence with threshold flags | | |
| | `system_decision` | Monetization eligibility, opportunity type, policy | | |
| --- | |
| ## Deployment Options | |
| ### 0. Colab / Kaggle Quickstart (copy/paste) | |
| ```python | |
| !pip -q install -U pip | |
| !pip -q install -U "torch==2.10.0" "torchvision==0.25.0" "torchaudio==2.10.0" | |
| !pip -q install -U "transformers>=4.36.0" "huggingface_hub>=0.20.0" "safetensors>=0.4.0" | |
| ``` | |
| Restart the runtime after installs (**Runtime → Restart runtime**) so the new Torch version is actually used. | |
| ```python | |
| from transformers import pipeline | |
| clf = pipeline( | |
| "admesh-intent", | |
| model="admesh/agentic-intent-classifier", | |
| trust_remote_code=True, # required (custom pipeline + multi-model bundle) | |
| ) | |
| out = clf("Which laptop should I buy for college?") | |
| print(out["meta"]) | |
| print(out["model_output"]["classification"]["intent"]) | |
| ``` | |
| --- | |
| ## Latency / inference timing (quick check) | |
| The first call includes model/code loading. Warm up once, then measure: | |
| ```python | |
| import time | |
| q = "Which laptop should I buy for college?" | |
| _ = clf("warm up") | |
| t0 = time.perf_counter() | |
| out = clf(q) | |
| print(f"latency_ms={(time.perf_counter() - t0) * 1000:.1f}") | |
| ``` | |
| ### 1. `transformers.pipeline()` — anywhere (Python) | |
| ```python | |
| from transformers import pipeline | |
| clf = pipeline( | |
| "admesh-intent", | |
| model="admesh/agentic-intent-classifier", | |
| trust_remote_code=True, | |
| ) | |
| result = clf("Which laptop should I buy for college?") | |
| ``` | |
| Batch and custom thresholds: | |
| ```python | |
| # batch | |
| results = clf([ | |
| "Best running shoes under $100", | |
| "How does TCP work?", | |
| "Buy noise-cancelling headphones", | |
| ]) | |
| # custom confidence thresholds | |
| result = clf( | |
| "Buy headphones", | |
| threshold_overrides={"intent_type": 0.6, "intent_subtype": 0.35}, | |
| ) | |
| ``` | |
| --- | |
| ### 2. HF Inference Endpoints (managed, deploy to AWS / Azure / GCP) | |
| 1. Go to https://ui.endpoints.huggingface.co | |
| 2. **New Endpoint** → select `admesh/agentic-intent-classifier` | |
| 3. Framework: **PyTorch** — Task: **Text Classification** | |
| 4. Enable **"Load with trust_remote_code"** | |
| 5. Deploy | |
| The endpoint serves the same `pipeline()` interface above via REST: | |
| ```bash | |
| curl https://<your-endpoint>.endpoints.huggingface.cloud \ | |
| -H "Authorization: Bearer $HF_TOKEN" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"inputs": "Which laptop should I buy for college?"}' | |
| ``` | |
| --- | |
| ### 3. HF Spaces (Gradio / Streamlit demo) | |
| ```python | |
| # app.py for a Gradio Space | |
| import gradio as gr | |
| from transformers import pipeline | |
| clf = pipeline( | |
| "admesh-intent", | |
| model="admesh/agentic-intent-classifier", | |
| trust_remote_code=True, | |
| ) | |
| def classify(text): | |
| return clf(text) | |
| gr.Interface(fn=classify, inputs="text", outputs="json").launch() | |
| ``` | |
| --- | |
| ### 4. Local / notebook via `snapshot_download` | |
| ```python | |
| import sys | |
| from huggingface_hub import snapshot_download | |
| local_dir = snapshot_download( | |
| repo_id="admesh/agentic-intent-classifier", | |
| repo_type="model", | |
| ) | |
| sys.path.insert(0, local_dir) | |
| from pipeline import AdmeshIntentPipeline | |
| clf = AdmeshIntentPipeline() | |
| result = clf("I need a CRM for a 5-person startup") | |
| ``` | |
| Or the one-liner factory: | |
| ```python | |
| from pipeline import AdmeshIntentPipeline | |
| clf = AdmeshIntentPipeline.from_pretrained("admesh/agentic-intent-classifier") | |
| ``` | |
| --- | |
| ## Troubleshooting (avoid environment errors) | |
| ### `No module named 'combined_inference'` (or similar) | |
| This means the Hub repo root is missing required Python files. Ensure these exist at the **root of the model repo** (same level as `pipeline.py`): | |
| - `pipeline.py`, `config.json`, `config.py` | |
| - `combined_inference.py`, `schemas.py` | |
| - `model_runtime.py`, `multitask_runtime.py`, `multitask_model.py` | |
| - `inference_intent_type.py`, `inference_subtype.py`, `inference_decision_phase.py`, `inference_iab_classifier.py` | |
| - `iab_classifier.py`, `iab_taxonomy.py` | |
| ### `does not appear to have a file named model.safetensors` | |
| Transformers requires a standard checkpoint at the repo root for `pipeline()` to initialize. This repo includes a **small dummy** `model.safetensors` + tokenizer files at the root for compatibility; the *real* production weights live in: | |
| - `multitask_intent_model_output/` | |
| - `iab_classifier_model_output/` | |
| - `artifacts/calibration/` | |
| --- | |
| ## Example Output | |
| ```json | |
| { | |
| "model_output": { | |
| "classification": { | |
| "iab_content": { | |
| "taxonomy": "IAB Content Taxonomy", | |
| "taxonomy_version": "3.0", | |
| "tier1": {"id": "552", "label": "Style & Fashion"}, | |
| "tier2": {"id": "579", "label": "Men's Fashion"}, | |
| "mapping_mode": "exact", | |
| "mapping_confidence": 0.73 | |
| }, | |
| "intent": { | |
| "type": "commercial", | |
| "subtype": "product_discovery", | |
| "decision_phase": "consideration", | |
| "confidence": 0.9549, | |
| "commercial_score": 0.656 | |
| } | |
| } | |
| }, | |
| "system_decision": { | |
| "policy": { | |
| "monetization_eligibility": "allowed_with_caution", | |
| "eligibility_reason": "commercial_discovery_signal_present" | |
| }, | |
| "opportunity": {"type": "soft_recommendation", "strength": "medium"} | |
| }, | |
| "meta": { | |
| "system_version": "0.6.0-phase4", | |
| "calibration_enabled": true, | |
| "iab_mapping_is_placeholder": false | |
| } | |
| } | |
| ``` | |
| ## Reproducible Revision | |
| ```python | |
| from huggingface_hub import snapshot_download | |
| local_dir = snapshot_download( | |
| repo_id="admesh/agentic-intent-classifier", | |
| repo_type="model", | |
| revision="0584798f8efee6beccd778b0afa06782ab5add60", | |
| ) | |
| ``` | |
| ## Included Artifacts | |
| | Path | Contents | | |
| |---|---| | |
| | `multitask_intent_model_output/` | DistilBERT multitask weights + tokenizer | | |
| | `iab_classifier_model_output/` | IAB content classifier weights + tokenizer | | |
| | `artifacts/calibration/` | Per-head temperature + threshold JSONs | | |
| | `pipeline.py` | `AdmeshIntentPipeline` (transformers.Pipeline subclass) | | |
| | `combined_inference.py` | Core inference logic | | |
| ## Notes | |
| - `trust_remote_code=True` is required because this model uses a custom multi-head architecture that does not map to a single standard `AutoModel` checkpoint. | |
| - `meta.iab_mapping_is_placeholder: true` means IAB artifacts were missing or skipped; train and calibrate IAB for full production accuracy. | |
| - For long-running servers, instantiate once and reuse — models are cached in memory after the first call. | |