The model classifies user messages sent to a scheduling assistant. It returns one intent label that a downstream scheduling agent can use to choose the next workflow.
Example:
text
1User message:
2Can you cancel my appointment tomorrow?
34Model output:
5CANCEL_APPOINTMENTS
This type of model is useful as a routing layer in an agentic application. Instead of asking a general LLM to complete the entire task in one step, the application can first classify intent, then call the right scheduling tool or API.
The fine-tuning run used an 80/20 stratified split: 240 training examples and 61 held-out test examples.
Class distribution:
Intent
Examples
BLOCK_SLOTS
61
RESCHEDULE_APPOINTMENTS
51
LIST_APPOINTMENTS
46
UNBLOCK_SLOTS
39
UPDATE_SPECIAL_SLOTS
35
CANCEL_APPOINTMENTS
32
UNSUPPORTED_REQUEST
25
CONVERSATIONAL_GREETING
6
CLOSING_CONVERSATION
6
Evaluation Summary
Held-out test results from the fine-tuning notebook:
Model
Test Accuracy
Macro F1
Weighted F1
Base Llama 3.2 1B Instruct
39.3%
0.1753
0.3134
Fine-tuned model
85.2%
0.8784
0.8549
The fine-tuned model substantially improves over the base model for this intent-classification task. A production system should validate the classifier with a larger dataset that reflects real scheduling traffic.
Inference Contract
The model expects a chat-style prompt with a system instruction that asks it to return exactly one intent label.
System instruction:
text
1You are an intent classifier for a doctor appointment booking system.
2Classify the user message into exactly one of these following intents:
3LIST_APPOINTMENTS, CANCEL_APPOINTMENTS, RESCHEDULE_APPOINTMENTS, UNSUPPORTED_REQUEST, BLOCK_SLOTS, UNBLOCK_SLOTS, UPDATE_SPECIAL_SLOTS, CONVERSATIONAL_GREETING, CLOSING_CONVERSATION
4Reply with ONLY the EXACT intent label. Nothing else.
User message:
I need to move my appointment from Monday to Friday.
Expected output:
RESCHEDULE_APPOINTMENTS
Run Locally with Ollama
For local Ollama usage, use the GGUF repo:
bash
1ollama pull hf.co/vidhyakshayakannan/appointment-intent-llama32-1b-sft-GGUF:Q4_K_M
2curl -L https://huggingface.co/vidhyakshayakannan/appointment-intent-llama32-1b-sft-GGUF/resolve/main/Modelfile -o Modelfile
3ollama create appointment-intent-sft -f Modelfile
4ollama run appointment-intent-sft "I need to move my appointment from Monday to Friday."
Expected output:
RESCHEDULE_APPOINTMENTS
Building a Scheduling Agent
Use this model as the intent-routing layer:
Classify the user message with the local Ollama model.
Map the label to an application route.
Collect missing scheduling fields.
Call the relevant calendar or appointment-management tool.
Ask for confirmation before changing appointments or availability.
Use fallback handling for UNSUPPORTED_REQUEST or ambiguous messages.
Limitations
This is a compact model trained on a small labeled dataset for a narrow scheduling-intent task. It is not a medical assistant and should not provide medical advice. Production deployment should include a larger dataset, stronger evaluation, monitoring, and fallback handling for ambiguous or unsupported requests.