How it works

Three NVIDIA Nemotron models on Nebius Token Factory, each used where it pays off, and Python wherever an answer can be computed.

The pipeline and its model routing

1. Read

Nemotron Nano: classify and extract

Every email. Category and intents, then every PO field with a confidence and the source quote.

Python checks every field

Is the quote really in the email? Do sizes add up? Is a size table missing? Dates, revisions, colours normalised.

Nemotron Super re-reads only the failing field

30% of emails; Super's answer is kept only if the same check then passes (91% do).

2. Compare

Python: match the order, diff the versions

Scored match on PO number, style, buyer and date; an unsure match becomes a question for a person.

3. Judge the risk

Python pre-fetch

Feasibility under the factory profile, value change, delivery options.

Nemotron Super: the risk agent (default)

Tool-calling loop, at most 8 rounds: compliance and buyer checks (Tavily), what-if feasibility, the report.

Nemotron Ultra, when a trigger fires

Infeasible plan · materials in-house or a partial shipment mentioned · Super contradicts the feasibility check · Super's report invalid. 21% of risk runs.

Python flag policy

Every flag must cite real evidence; severity follows a fixed rubric. An unconfirmed date never makes a high flag.

4. Reply

Nemotron Super drafts the reply and an internal note

From the order data and findings only; thresholds and internal policy never reach the model.

Python fact check

Every date, quantity and price in the draft is matched against the order and the email.

5. Approve and ship

A person approves, edits or rejects

Nothing is sent automatically.

Python: Commercial Invoice and Packing List

From the agreed plan, one set per shipment; unknown values print as TO BE CONFIRMED.

Models

ModelUsed for
Nano 30B-A3BClassification, extraction, stated changes (thinking off)
Super 120B-A12BEscalated fields, the risk agent, drafts
Ultra 550B-A55BRisk runs that need it (triggers above)

One router (backend/app/llm/router.py) logs every call: model, tokens, latency, cost. See Model calls.

Cost per email (DEV, 35 emails)

Read (Nano, Super on escalation)
$0.0004
Risk (Super, Ultra on triggers)
$0.0060
Reply and note (Super)
$0.0030
Total
$0.0094

Ultra for the risk step on every email cost $0.0215 per email on TEST v2; Super with escalation brought it to $0.0095 with the same high-risk recall.

Evaluation

TEST v2 held outDEV
Field extraction96.5%98.7%
Right order matched98.7%100%
Changes found (recall)77.4%96.3%
High risks found (recall)100%100%
High-risk precision80.1%100%
Drafts passing the fact check97.1%97.1%

TEST v2: 30 emails written by a separate session from a spec alone, run 3× before any fix. DEV: 35 emails the system was built on. Regressions and failure analysis are in the evaluation report in the repository.

Web checks (Tavily)

The risk agent may search for compliance rules for the product and destination, and for adverse news on the buyer. A compliance flag needs a concrete rule and a source URL; a buyer flag needs an adverse finding with a URL. Anything weaker is listed as checked, not flagged. Results are cached per query and day.