Ausa Hub — intent router

On-device SetFit intent classifier for the Ausa Hub local voice assistant (see engine/router_config.py). Maps a patient utterance to one of 39 intents (appointments, routines, profiles, tests/vitals, messages, meal_time, symptoms, summary, settings, and the system.* catch-alls). Runs as ONNX on-device and also seeds the cloud LLM router's priors.

  • Intents: 39
  • Training examples: ~1699
  • Last updated: 2026-06-25
  • Recent change: conversation-meta / recall utterances ("what did I just say", "what did I tell you my dog's name was", "remind me what I said") and general-knowledge questions now classify as system.oos so they reach the conversational assistant instead of a records intent.

SetFit

This is a SetFit model that can be used for Text Classification. A LogisticRegression instance is used for classification.

The model has been trained using an efficient few-shot learning technique that involves:

  1. Fine-tuning a Sentence Transformer with contrastive learning.
  2. Training a classification head with features from the fine-tuned Sentence Transformer.

Model Details

Model Description

  • Model Type: SetFit
  • Classification head: a LogisticRegression instance
  • Maximum Sequence Length: 512 tokens
  • Number of Classes: 39 classes

Model Sources

Model Labels

Label Examples
messages.send
  • 'should I take a half dose of my statin?'
  • 'message aakash hi'
  • 'Should I be worried about this reading?'
appointments.read
  • 'what appointments do I have this week'
  • 'are there any earlier slots'
  • 'what times are available tomorrow'
profiles.care_team
  • 'does my doctor have any openings this week'
  • "what is my doctor's phone number"
  • 'list my assigned medical professionals'
system.oos
  • 'twice a day'
  • 'update that one'
  • 'what is your name'
routines.update
  • 'update my meditation routine duration from 10 to 20 minutes'
  • 'update my yoga routine to include weekends'
  • "I need to push my morning jog routine back by an hour to 7 AM because it's getting too cold."
summary.read
  • "what's happening for me today"
  • 'fill me in on my day'
  • 'give me a rundown of my day'
tests.take_test
  • 'let me do a temperature check'
  • 'glucose test'
  • 'begin a health test right now'
tests.test_history
  • 'are my vitals normal'
  • 'show me my vitals'
  • 'is my blood sugar too high'
profiles.family.update
  • "extend my mother's data sharing for 90 more days"
  • "extend my son's data sharing access for another 30 days"
  • "update my brother-in-law's sharing to permanent"
symptoms.report
  • "I'm getting these chest palpitations"
  • 'I have a migraine'
  • "i'm not well"
meal_time.update
  • 'push my breakfast back to 7:30'
  • 'set my dinner meal time to 8pm'
  • 'set breakfast to 8am'
meal_time.read
  • 'do I have a meal coming up'
  • 'what time do I have my meals'
  • 'what time is breakfast'
profiles.personal_info.picture
  • 'choose a different photo for my profile'
  • 'I need a new avatar picture'
  • 'Let me snap a quick selfie to replace my current avatar.'
settings.calls
  • 'warn me about poor connection during calls'
  • 'enable background blur and closed captions'
  • 'keep camera off when joining a call'
routines.read
  • 'show my routines for today'
  • 'what is the schedule for my gym routine'
  • 'cancel this, show my routine schedule'
profiles.read
  • 'what conditions have been diagnosed for me'
  • 'what is my medical history'
  • 'what medical issues are on my record'
profiles.personal_info.read
  • 'what email is on my account'
  • 'show me my email address'
  • 'what is my email'
profiles.allergies.update
  • 'cancel, I want to update my allergy info'
  • 'My reaction to dairy has gotten worse, change the severity to high and add stomach cramps.'
  • 'update my cat allergy to include asthma symptoms'
appointments.create
  • 'arrange a visit for next Friday I need a prescription refill'
  • 'leave it, I want to schedule a doctor visit instead'
  • 'I want to schedule a checkup'
profiles.update
  • 'I need to change my primary care physician'
  • 'update my emergency contact to my wife'
  • 'update my insurance plan details'
routines.create
  • 'set up a blood pressure testing routine'
  • 'create a routine to take my aspirin 81mg every day after lunch'
  • 'create a monthly routine for my doctor follow-up on the first Monday'
settings.wifi
  • 'I need to switch wifi networks'
  • 'configure my wifi settings'
  • 'show me my saved wifi networks'
profiles.family.read
  • 'list all family members connected'
  • 'show me who I am sharing my health data with'
  • 'show me my family'
profiles.family.create
  • 'invite someone to my account'
  • 'I want to invite my husband to my care circle so he can keep track of my appointments.'
  • 'let someone see my health information'
messages.read
  • 'show my messages'
  • 'show me my recent messages'
  • 'what did Dr. Chen say'
profiles.personal_info.verify_email
  • 'validate my email with a code'
  • 'verify my email address'
  • 'resend the email confirmation link'
profiles.family.delete
  • 'delete my sister from family sharing'
  • 'delete my neighbor from my care circle'
  • 'delete all sharing with my in-laws'
appointments.delete
  • 'take my Thursday appointment off the calendar'
  • "Scrap the follow-up appointment with the dermatologist, I won't be needing it."
  • 'cancel the telehealth call I scheduled'
routines.delete
  • 'take off my insulin shot reminder'
  • 'erase this routine from my list forever'
  • 'I do not need this routine anymore'
settings.display
  • 'what is my current brightness level'
  • 'brighten the display'
  • 'dim the screen brightness'
settings.notifications
  • 'show me my current notification settings'
  • 'I want to make sure I get pinged whenever my care team sends a message, turn those on.'
  • 'disable care team notifications'
system.cancel
  • 'disregard'
  • 'can we just stop'
  • "let's not"
profiles.allergies.read
  • 'check if I have a sulfa drug allergy'
  • 'tell me about my allergy details'
  • 'is there an egg allergy on my profile'
profiles.allergies.delete
  • 'delete an old allergy that is not relevant'
  • 'get rid of the egg allergy entry'
  • 'delete the nickel allergy from my file'
settings.devices
  • 'connect a health monitoring device'
  • 'remove the old thermometer from my devices'
  • 'is my blood pressure cuff connected'
profiles.personal_info.update
  • 'update my last name to Johnson'
  • 'nevermind, change my height'
  • 'change my date of birth'
appointments.update
  • 'reschedule my appointment from morning to afternoon'
  • 'stop, can you change my appointment time instead'
  • 'I need to change the time of my visit'
profiles.personal_info.verify_phone
  • 'nevermind, verify my phone'
  • 'I changed my number and need to verify it'
  • 'trigger a new phone verification code'
profiles.allergies.create
  • 'I found out I am allergic to something new'
  • 'put down a soy allergy with mild stomach discomfort'
  • 'add a penicillin allergy with severe severity I get hives and swelling and it started in childhood'

Uses

Direct Use for Inference

First install the SetFit library:

pip install setfit

Then you can load this model and run inference.

from setfit import SetFitModel

# Download from the 🤗 Hub
model = SetFitModel.from_pretrained("setfit_model_id")
# Run inference
preds = model("at what time do I have dinner")

Training Details

Training Set Metrics

Training set Min Median Max
Word count 1 6.2825 21
Label Training Sample Count
appointments.create 27
appointments.delete 37
appointments.read 63
appointments.update 24
meal_time.read 57
meal_time.update 26
messages.read 39
messages.send 109
profiles.allergies.create 22
profiles.allergies.delete 26
profiles.allergies.read 22
profiles.allergies.update 22
profiles.care_team 40
profiles.family.create 29
profiles.family.delete 21
profiles.family.read 35
profiles.family.update 21
profiles.personal_info.picture 21
profiles.personal_info.read 36
profiles.personal_info.update 28
profiles.personal_info.verify_email 22
profiles.personal_info.verify_phone 22
profiles.read 28
profiles.update 21
routines.create 42
routines.delete 24
routines.read 51
routines.update 24
settings.calls 21
settings.devices 22
settings.display 28
settings.notifications 22
settings.wifi 22
summary.read 32
symptoms.report 44
system.cancel 27
system.oos 180
tests.take_test 31
tests.test_history 76

Training Hyperparameters

  • batch_size: (16, 16)
  • num_epochs: (3, 3)
  • max_steps: -1
  • sampling_strategy: oversampling
  • num_iterations: 20
  • body_learning_rate: (2e-05, 1e-05)
  • head_learning_rate: 0.01
  • loss: CosineSimilarityLoss
  • distance_metric: cosine_distance
  • margin: 0.25
  • end_to_end: False
  • use_amp: False
  • warmup_proportion: 0.1
  • l2_weight: 0.01
  • seed: 42
  • evaluation_strategy: epoch
  • eval_max_steps: -1
  • load_best_model_at_end: True

Training Results

Epoch Step Training Loss Validation Loss
0.0003 1 0.0006 -
0.0139 50 0.0042 -
0.0277 100 0.0011 -
0.0416 150 0.0009 -
0.0554 200 0.0004 -
0.0693 250 0.0005 -
0.0831 300 0.0004 -
0.0970 350 0.0005 -
0.1108 400 0.0004 -
0.1247 450 0.0004 -
0.1385 500 0.0005 -
0.1524 550 0.0004 -
0.1662 600 0.0004 -
0.1801 650 0.0004 -
0.1939 700 0.0004 -
0.2078 750 0.0004 -
0.2216 800 0.0004 -
0.2355 850 0.0005 -
0.2493 900 0.0005 -
0.2632 950 0.0005 -
0.2770 1000 0.0005 -
0.2909 1050 0.0005 -
0.3047 1100 0.0005 -
0.3186 1150 0.0005 -
0.3324 1200 0.0006 -
0.3463 1250 0.0005 -
0.3601 1300 0.0005 -
0.3740 1350 0.0005 -
0.3878 1400 0.0032 -
0.4017 1450 0.0006 -
0.4155 1500 0.0006 -
0.4294 1550 0.0005 -
0.4432 1600 0.0005 -
0.4571 1650 0.0005 -
0.4709 1700 0.0007 -
0.4848 1750 0.0005 -
0.4986 1800 0.0005 -
0.5125 1850 0.0005 -
0.5263 1900 0.0006 -
0.5402 1950 0.0005 -
0.5540 2000 0.0005 -
0.5679 2050 0.0005 -
0.5817 2100 0.0005 -
0.5956 2150 0.0006 -
0.6094 2200 0.0005 -
0.6233 2250 0.0004 -
0.6371 2300 0.0005 -
0.6510 2350 0.0005 -
0.6648 2400 0.0005 -
0.6787 2450 0.0005 -
0.6925 2500 0.0005 -
0.7064 2550 0.0005 -
0.7202 2600 0.0004 -
0.7341 2650 0.0013 -
0.7479 2700 0.0005 -
0.7618 2750 0.0005 -
0.7756 2800 0.0005 -
0.7895 2850 0.0004 -
0.8033 2900 0.0005 -
0.8172 2950 0.0005 -
0.8310 3000 0.0004 -
0.8449 3050 0.0005 -
0.8587 3100 0.0007 -
0.8726 3150 0.0004 -
0.8864 3200 0.0005 -
0.9003 3250 0.0005 -
0.9141 3300 0.0005 -
0.9280 3350 0.0004 -
0.9418 3400 0.0006 -
0.9557 3450 0.0004 -
0.9695 3500 0.0005 -
0.9834 3550 0.0004 -
0.9972 3600 0.0008 -
1.0 3610 - 0.0001
1.0111 3650 0.0004 -
1.0249 3700 0.0006 -
1.0388 3750 0.0005 -
1.0526 3800 0.0004 -
1.0665 3850 0.0007 -
1.0803 3900 0.0005 -
1.0942 3950 0.0004 -
1.1080 4000 0.0005 -
1.1219 4050 0.0004 -
1.1357 4100 0.0005 -
1.1496 4150 0.0004 -
1.1634 4200 0.0008 -
1.1773 4250 0.0004 -
1.1911 4300 0.0004 -
1.2050 4350 0.0004 -
1.2188 4400 0.0004 -
1.2327 4450 0.0004 -
1.2465 4500 0.0005 -
1.2604 4550 0.0004 -
1.2742 4600 0.0004 -
1.2881 4650 0.0005 -
1.3019 4700 0.0004 -
1.3158 4750 0.0005 -
1.3296 4800 0.0004 -
1.3435 4850 0.0004 -
1.3573 4900 0.0004 -
1.3712 4950 0.0004 -
1.3850 5000 0.0005 -
1.3989 5050 0.0004 -
1.4127 5100 0.0004 -
1.4266 5150 0.0004 -
1.4404 5200 0.0007 -
1.4543 5250 0.0004 -
1.4681 5300 0.0004 -
1.4820 5350 0.0004 -
1.4958 5400 0.0005 -
1.5097 5450 0.0004 -
1.5235 5500 0.0005 -
1.5374 5550 0.0004 -
1.5512 5600 0.0005 -
1.5651 5650 0.0004 -
1.5789 5700 0.0004 -
1.5928 5750 0.0004 -
1.6066 5800 0.0004 -
1.6205 5850 0.0004 -
1.6343 5900 0.0004 -
1.6482 5950 0.0004 -
1.6620 6000 0.0005 -
1.6759 6050 0.0005 -
1.6898 6100 0.0004 -
1.7036 6150 0.0012 -
1.7175 6200 0.0007 -
1.7313 6250 0.0006 -
1.7452 6300 0.0015 -
1.7590 6350 0.0005 -
1.7729 6400 0.0004 -
1.7867 6450 0.0005 -
1.8006 6500 0.0017 -
1.8144 6550 0.0004 -
1.8283 6600 0.0004 -
1.8421 6650 0.0004 -
1.8560 6700 0.0004 -
1.8698 6750 0.0004 -
1.8837 6800 0.0004 -
1.8975 6850 0.0004 -
1.9114 6900 0.0004 -
1.9252 6950 0.0004 -
1.9391 7000 0.0004 -
1.9529 7050 0.0004 -
1.9668 7100 0.0004 -
1.9806 7150 0.0004 -
1.9945 7200 0.0004 -
2.0 7220 - 0.0001
2.0083 7250 0.0005 -
2.0222 7300 0.0004 -
2.0360 7350 0.0006 -
2.0499 7400 0.0004 -
2.0637 7450 0.0004 -
2.0776 7500 0.0003 -
2.0914 7550 0.0004 -
2.1053 7600 0.0005 -
2.1191 7650 0.0004 -
2.1330 7700 0.0004 -
2.1468 7750 0.0004 -
2.1607 7800 0.0004 -
2.1745 7850 0.0004 -
2.1884 7900 0.0004 -
2.2022 7950 0.0004 -
2.2161 8000 0.0004 -
2.2299 8050 0.0005 -
2.2438 8100 0.0004 -
2.2576 8150 0.0004 -
2.2715 8200 0.0004 -
2.2853 8250 0.0004 -
2.2992 8300 0.0004 -
2.3130 8350 0.0004 -
2.3269 8400 0.0004 -
2.3407 8450 0.0004 -
2.3546 8500 0.0004 -
2.3684 8550 0.0004 -
2.3823 8600 0.0007 -
2.3961 8650 0.0004 -
2.4100 8700 0.0004 -
2.4238 8750 0.0004 -
2.4377 8800 0.0004 -
2.4515 8850 0.0003 -
2.4654 8900 0.0003 -
2.4792 8950 0.0004 -
2.4931 9000 0.0004 -
2.5069 9050 0.0004 -
2.5208 9100 0.0006 -
2.5346 9150 0.0004 -
2.5485 9200 0.0004 -
2.5623 9250 0.0004 -
2.5762 9300 0.0004 -
2.5900 9350 0.0003 -
2.6039 9400 0.0004 -
2.6177 9450 0.0003 -
2.6316 9500 0.0004 -
2.6454 9550 0.0003 -
2.6593 9600 0.0004 -
2.6731 9650 0.0004 -
2.6870 9700 0.0004 -
2.7008 9750 0.0003 -
2.7147 9800 0.0003 -
2.7285 9850 0.0003 -
2.7424 9900 0.0004 -
2.7562 9950 0.0003 -
2.7701 10000 0.0003 -
2.7839 10050 0.0005 -
2.7978 10100 0.0004 -
2.8116 10150 0.0003 -
2.8255 10200 0.0003 -
2.8393 10250 0.0003 -
2.8532 10300 0.0003 -
2.8670 10350 0.0004 -
2.8809 10400 0.0003 -
2.8947 10450 0.0004 -
2.9086 10500 0.0003 -
2.9224 10550 0.0004 -
2.9363 10600 0.0004 -
2.9501 10650 0.0004 -
2.9640 10700 0.0003 -
2.9778 10750 0.0003 -
2.9917 10800 0.0003 -
3.0 10830 - 0.0000

Framework Versions

  • Python: 3.12.10
  • SetFit: 1.1.3
  • Sentence Transformers: 5.4.1
  • Transformers: 4.57.6
  • PyTorch: 2.11.0
  • Datasets: 4.8.4
  • Tokenizers: 0.22.2

Citation

BibTeX

@article{https://doi.org/10.48550/arxiv.2209.11055,
    doi = {10.48550/ARXIV.2209.11055},
    url = {https://arxiv.org/abs/2209.11055},
    author = {Tunstall, Lewis and Reimers, Nils and Jo, Unso Eun Seo and Bates, Luke and Korat, Daniel and Wasserblat, Moshe and Pereg, Oren},
    keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
    title = {Efficient Few-Shot Learning Without Prompts},
    publisher = {arXiv},
    year = {2022},
    copyright = {Creative Commons Attribution 4.0 International}
}
Downloads last month
172
Safetensors
Model size
33.4M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for aadiausa/Set_Fit_Ausa