NinjaEvalDocs← NinjaEvalGet startedDeveloper guideAPI quickstartFAQData & privacyCase study

Get started in 10 minutes

From sign-in to your first ready / blocked verdict. You need a Google account, plus one of:

Step Time
1. Sign in and name your project 1 min
2. Connect your bot and send one message 2 min
3. Add 5–10 tests 3 min
4. Pick a release rule and run the baseline 2 min
5. Test your first change 2 min (+ run time)

1. Sign in and name your project (1 min)

Open ninjaeval.com and Sign in with Google. You get your own private workspace, and setup opens straight away.

2. Connect your bot and send one message (2 min)

Connect your bot

Your endpoint asks What are you connecting?

Model + prompt asks for your bot's instructions, the model, and optionally its tools.

Then type a real message in πŸ’¬ Try it and Send. You should see the reply and βœ“ Connected. If your service reports its internals, Try it also says βœ“ Also received: N tool calls Β· N LLM turns (how).

Rate-limited model or API (for example a free tier)? Tick My API has a low rate limit: tests then run one at a time and wait longer for each reply.

3. Add 5–10 tests (3 min)

Starter tests

A test is what a user says plus what a good answer does. Three ways to add them:

The tests you've added are listed underneath. Later, in Test cases, you can add automatic checks (says / doesn't say / calls a tool), expected tool calls and follow-up messages (to test a whole conversation), or import real conversations from Langfuse, starting with the ones that went wrong in production. Tag safety rules safety: they must always pass.

4. Pick a release rule and run the baseline (2 min)

5. Test your first change (2 min, plus run time)

Click οΌ‹ Test a change, change something (a prompt line, the model, a tool), and β–Ά Run tests on this change. Each test runs on the new version and is compared with production, case by case.

A blocked change

You get a verdict: Ready, or Blocked with the rule that failed. Changed only the model? The review starts with a Model swap card: passing cases, score, cost, speed and tokens side by side. A case that fails on both versions but in a new way is flagged New failure. Then click any case:

Tab Shows
Overview Both answers side by side (for a multi-turn case, both conversations), the checks that failed, the judge's note
Tool calls Each tool call production and the new version made, marked same or different, and against the expected calls
Trace A timeline: every step side by side, turn by turn, with the first difference named; click a step for the LLM calls behind it. Map shows the same as a mind map. The case list shrinks so the trace gets the width
Root cause Why it failed. Regressions are diagnosed automatically; for any other failure click πŸ”Ž Diagnose

Root cause and fix

The diagnosis rules out setup issues first (a broken run, a wrong test, check or expectation) before blaming the prompt, a tool, missing information or the model. It proposes a fix, such as an exact prompt edit or a corrected test, and re-runs the test to confirm it. Use ✎ Apply to the prompt & re-run or Apply to the test case, then rate the diagnosis πŸ‘ / πŸ‘Ž.

Fixed a test, or want to check one case again? ↻ Re-run this case in the case view runs only that case on both versions, in a minute or two. It's a partial test and can't ship: use β–Ά Run all cases before you ship.

The Trace tab's timeline

The same case as a map

When the verdict is Ready, Continue to ship makes the new version production. It's also the new baseline.

Next