aoa-course decision allocator (Qwen3-0.6B + Kev LoRA/pointer head)
A typed decision model for the planner in the Agent-Oriented Architecture course.
Given {"goal", "task"} as state, it answers a Choice over the registered capability cards (plus none_of_these)
a yes/no fit question, and (v0.2) a Choice over the course's workflow descriptions for free-text goals, with calibrated probabilities, in one forward pass, on CPU. It never generates text and
cannot name a capability that was not offered.
Architecture and serving: Kev (Apache-2.0): LoRA r16 on all projections of
Qwen/Qwen3-0.6B-Base plus a 256-d pointer head; TypeSafe-compatible POST /v1/systemone via kev.serve.
Warm-started from jaredpalmer/kev-0.6b, then 2 epochs on the course's own examples.
Training data: the 18 task→capability pairs pinned in the course planner's WORKFLOWS, hand-written goal phrasings
per workflow (also used as workflow-choice labels, 20 extra paraphrases each, with 23 off-topic requests and their paraphrases labelled none_of_these), paraphrases of goals and task purposes generated locally (gpt-oss:20b via Ollama), none_of_these
records with the gold card removed or the candidates restricted to the Session 1 allowlist, and wrong-card fit
negatives. Labels are inherited from the course source; no hosted decision API output was used.
Held-out test, v0.4 (637 questions; human-written originals never trained on): overall 99.2%, agent Choice 100% on gold pairs and 96.1% abstention when the gold card is absent, fits 99-100%, workflow Choice 100% on human goals, 98.1% on paraphrased goals and 100% refusal on 20 off-topic requests, ECE 0.004, 0.2% confident errors. ~23 ms per question on a DGX Spark GPU, ~1-2.5 s on its CPU. Classification rule: a question is a knowledge-query whether or not the wiki can answer it (the evaluator decides that downstream); none_of_these is for actions no workflow performs. (v0.3: 98.7%; v0.2: 98.0%; v0.1: agent + fits only, 98.6%.)
Use: DECISION_MODEL_RUN=lewisdog/aoa-course-decision-0.6b in the course .env; the decision service loads it
from the Hub. Serve elsewhere with python -m kev.serve --run lewisdog/aoa-course-decision-0.6b.
Model tree for lewisdog/aoa-course-decision-0.6b
Base model
Qwen/Qwen3-0.6B-Base