Multilingual_Intent_classifier_v1
8-layer Gemma 3 intent classifier exported to ONNX. The encoder is dynamic INT8. The linear intent head stays FP32. model.onnx is the file to deploy.
Intents
provide_info, affirm, deny, correction, question, clarify_request, unclear
Languages
Hindi, Tamil, Telugu, Kannada, Marathi, Malayalam, Bengali, Gujarati, Odia, and English. Utterances may be in the native script, romanized, or code-mixed.
I/O
logits [batch, 7]. Inputs: input_ids, attention_mask (int64, max length 64).
import json
from pathlib import Path
import numpy as np
import onnxruntime as ort
from transformers import AutoTokenizer
MODEL_DIR = Path(".") # or snapshot_download("blue-machines/Multilingual_Intent_classifier_v1")
tokenizer = AutoTokenizer.from_pretrained(MODEL_DIR)
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
with open(MODEL_DIR / "label_map.json", encoding="utf-8") as handle:
id2label = {int(k): v for k, v in json.load(handle)["head4_intent"]["id2label"].items()}
session = ort.InferenceSession(str(MODEL_DIR / "model.onnx"), providers=["CPUExecutionProvider"])
def predict(text: str) -> str:
enc = tokenizer(text, return_tensors="np", truncation=True, max_length=64, padding="max_length")
logits = session.run(
None,
{
"input_ids": enc["input_ids"].astype(np.int64),
"attention_mask": enc["attention_mask"].astype(np.int64),
},
)[0]
return id2label[int(logits[0].argmax())]
- Downloads last month
- 9