Portfolio demo · runs on two home GPUs

Support that checks its own work. Then shows you.

An AI agent for a wine shop that looks up orders, cancels and refunds within limits, and checks stock. It asks before anything it can't undo, and it never says it did something it didn't.

LangGraphLlamaIndexQLoRA fine-tuningMCPQwen on Ollama

Hana Deng · Gaithersburg

Will my order make Saturday?

  • Opened ORD-10072
  • Checked stock 0 on hand

Cancel it

ORD-10072Placed Sep 30
  • Ck Mondavi Cab · 1.5L$59.99
Refund $59.99 · approvedcancelled

Done. $59.99 is on its way back to your card.

Checked against your account

Try it

Be one of our customers

Each has real order history. Cancel things, ask for refunds, try to break it. Orders reset regularly.

Results

Measured, not claimed

Every number comes from an eval run checked against the store's database, not from reading replies and deciding they look right.

79/81test conversations passedmulti-turn, adversarial and wine-knowledge cases
98.8%tool calls correctthe right action on the right order
98.1%intent accuracyfine-tuned 3B model, vs 80.7% prompted
50msto understand a message2.5× faster than prompting the same model

The two failures are written up in the README: a message with two requests in it, and a reply that finds the right order but doesn't name it.

How a turn works

Code where an action must happen. The model where judgment helps.

Every message goes through the same five steps. The last one is why the agent can be trusted with your orders.

  1. 1

    Guard

    Card numbers are masked before any model sees them. Prompt injection is blocked.

  2. 2

    Understand

    A router trained on 22,000 support messages works out what you need in about 50ms.

  3. 3

    Look up

    Store policies come from a search index, so answers aren't guessed.

  4. 4

    Act

    Nine tools, locked to your account. Anything irreversible waits for your OK.

  5. 5

    Verify

    If a reply claims an action that didn't happen, it never reaches you.

What it won't do

The rules it can't talk its way around

These are enforced in code, not asked for in a prompt, and each one has a test.

Say it did something it didn't

Claims are checked against what actually happened before you see the reply.

Act without asking

Cancellations, refunds and address changes wait for your confirmation.

Show you someone else's order

Your account comes from your session, never from the conversation.

Approve big refunds alone

Anything over $100 goes to a supervisor.

Sell to under-21s

Product information is withheld for underage accounts.

Make up a vintage

If the store doesn't publish it, the agent says so.

Go ahead, cancel something.

It runs on local models on a home machine, so replies take a few seconds.

Try the demo