Skip to content
RAG routing

Filter retrieved passages before the generative call — and check the answer after it.

Similarity search returns what looks like the question, not what answers it. In a community test on an 81-passage corpus, two thirds of retrieved passages were excluded by four typed questions — and an injected passage that ranked #1 by similarity was caught with p = 0.99.

In development — the benchmark numbers on this page are measured; the Decide-1 model is in training.

The problem

Top-k is not evidence

Passages that mention the entities are not passages that answer the question.

Injected passages rank well

Text written to be retrieved is retrieved. Similarity cannot tell.

Unsupported answers

Nothing checks that the generated answer is actually backed by what was retrieved.

How it works with Decide
  1. 1

    Four nouls per passage

    relevant · usable as evidence · contradicts the query premise · contains instructions to the model. Batched, one call per query.

  2. 2

    Order by priority

    Drop injections first, then irrelevance, then contradictions you want surfaced rather than hidden.

  3. 3

    Verify after generation

    “This answer is supported by the passages” as a noul over (answer, passages). Below 0.5, regenerate or abstain.

checks = {f"p{i}_{k}": {"type": "noul", "instructions": q}
          for i, passage in enumerate(top_k)
          for k, q in CHECKS.items()}      # relevant / evidence / contradicts / injection
r = client.system_one(state={"query": query, "passages": top_k}, questions=checks)
kept = [p for i, p in enumerate(top_k)
        if r[f"p{i}_injection"].noul < 0.2 and r[f"p{i}_relevant"].noul > 0.6]
  • Noul — a calibrated yes/no probability
  • Score — a position on your ordered rubric
Something you can check

Community validation (oflight.co.jp): 72-passage set, injected passage ranked #1 by cosine (0.584) caught with injection score 0.99; two thirds of passages excluded across 6 queries.

Numbers about Jev are its authors' or the cited source's; numbers from the benchmark are ours, on one harness, with the raw JSON published. Full table.

Get early access — and tell us which decision you'd hand over first

We're building Metatext Decide with the first teams that use it. Leave your email, answer as much as you like, and say yes to a short interview if you want a say in what ships.

  • Early access to Decide as it opens up
  • A 20-minute interview if you want one — research, not a pitch
  • The benchmark harness and raw results, today
  • No spam — early-access updates only
Where do decisions happen in your stack today?
What kind of decisions?
Have you tried Jev?
What stops you using a hosted decision API?
Would you pay?
Open to a 20-minute interview?

Research, not a pitch — we want to hear how you decide today.

Early-access updates only. No spam, unsubscribe any time.

Questions

How many passages per call?
Batch them: a 13-question call was measured 12× cheaper and 10× faster than 13 calls on hosted Jev; on a self-hosted encoder the batch is one forward pass.