Requirements
The engine also works without Pest via the CLI — Pest is a
suggest, not a hard dependency.
Pest 5 requires
symfony/process ^8.1, which Laravel 12 cannot satisfy — so Laravel 12
tops out at Pest 4 and Laravel 13 gets Pest 5. toPassEval() behaves identically on both,
and nothing in this documentation is Pest-5-only.If you want to run pestphp/pest-plugin-evals alongside
this package, that one needs Pest 5 and pins laravel/ai tightly — currently
>=0.10.2 <0.11.0 — so you will need Laravel 13 and a recent laravel/ai.Install
Terminal
Install with
--dev when evals only run from your test suite and CI. If you trigger runs from the dashboard in a deployed environment, require it as a regular dependency instead.evals.table_prefix):
Configuration (optional)
Terminal
The dashboard (optional)
Terminal
/evals dashboard — no publishing, no asset build in your app. See Dashboard.
Provider credentials
Evals invoke your agents throughlaravel/ai, so whatever providers your agents use must be configured as usual (e.g. OPENAI_API_KEY). The judge is an LLM call too and uses the provider configured in evals.judge. Nothing needs credentials until you actually run with --evals — normal test runs skip evals entirely, and fakes cover everything else.