Von picks a team. Who moves the ticket?
Published
Von is a local AI model that chooses from options. Give it a support ticket and team descriptions; your application still has to check the returned choice and dispatch the ticket.
Explanation & code
The companion uses von-sdk 1.0.1 with a simulated HTTP answer. No model inference, routing accuracy or speed is measured. Local hosting needs a Python service, model weights and compute.
Understand it. Then fix it.
Name the choices
The input is “The checkout button crashes.” The options describe frontend, billing and human review. Their descriptions must reflect the real ownership rules.
Send the question to the local service
The JavaScript package is a client. It sends a POST request to a Python inference service; the model weights are not inside the npm package. Our demo intercepts that request and returns a fixture.
const reply = await client.systemOne({
state: { ticket },
questions: { team: choice("Which team?", teams) }
});A choice has not moved a ticket
The simulated answer is frontend. There are still zero queue entries. Our custom allowlist validates the label before the dispatcher adds one ticket to the frontend queue. Unknown or malformed labels go to review.
const target = knownTeam(answer.choice)
? answer.choice : "review";
enqueue(target);Use judgment only when needed
A label can be valid but wrong. Evaluate real tickets and ambiguous cases. If a ticket already has a validated team, use direct dispatch instead of another model call.
if (knownTeam(ticket.team)) {
enqueue(ticket.team);
}Code blocks are teaching excerpts. Keep the surrounding error handling and application requirements.
Save the code excerpts ↓Read the full transcript
Von is a local AI model that picks from choices. Can it send a support ticket to the right team? Yes, with your code. Give Von the ticket and clear options: frontend, billing, or human review. This JavaScript client sends the question to a local Python service. The model runs there, not inside this package. Here, the example answer is frontend. We simulated it. No ticket has moved. So who sends it? Your code checks the choice, then queues the ticket. Unknown answers go to review. This mapping is our code. Could frontend still be wrong? Yes. Test real tickets. If a ticket already has a valid team, plain code is enough. Local hosting still needs compute. I asked for a department, not a speech. Good. The ticket needs an owner, not a motivational podcast.