Evaluators attach via your framework’s
instrument() call, not init().
decimalai.init(...) sets up tracing; the evals=[...] and
builtin_evals= arguments live on decimalai.langchain.instrument(...).
They are LangChain-only today — every other adapter’s instrument()
raises TypeError on either kwarg. On the other adapters, score traces
with decimalai.eval() / decimalai.batch_eval() instead.Pre-Built Evaluators
DecimalAI ships 10 ready-to-use evaluators in two tiers:Deterministic Evaluators (Free)
These run instantly with zero external calls:Built-in Auto-Checks (Always On)
In addition to the evaluators above, DecimalAI runs 5 automatic quality checks on every trace — zero configuration, zero cost:
These appear in the dashboard labeled
source: builtin and feed into the Decision Engine alongside your custom evaluators.
LLM-as-Judge Evaluators
These use an LLM to score outputs on a 0.0–1.0 scale with a pass/fail verdict:Execution Modes
- Client-Side (BYO Key)
- Server-Side (Metered)
Evals run in your process using your own API key via
litellm:- Unlimited evaluations — no metering
- You choose the judge model —
gpt-4o-minifor cheap,gpt-4ofor quality,claude-sonnet-4-6for diversity - Works offline — in CI pipelines, notebooks, local testing
- Privacy — DecimalAI never sees your eval prompts or judge responses; the judge call goes from your process straight to your LLM provider
Custom Evaluators
The @eval Decorator
Write custom evaluators that run on every trace:
Sampling Rate
Expensive evaluators (especially LLM-as-judge) can run on a subset of traces:TraceData Fields
Eval Dashboard
The Evaluate page provides a production-grade dashboard:
The Evaluate page: pass-rate stat cards, the agent × category coverage matrix, and recent eval failures.
- Stat cards — quality pass, safety pass, all-evals pass, and coverage
- Coverage matrix — agents down the side, evaluator categories across the top. Its job is to show you the gaps: a cell with no evaluator is a category nobody is checking on that agent, and each empty cell offers to add one.
- Recent eval failures — the failing traces themselves, so a red number is one click from the run that produced it
- SDK-defined evals — the evaluators your own code registered, listed alongside the built-ins
Auto-Scoring
Configure automatic evaluation of incoming traces per-agent:
Configure auto-scoring from the Evaluate dashboard’s Auto-Scoring panel, or by registering evaluators via the API. Each evaluator you create for an agent runs automatically on that agent’s incoming traces:
The older
GET/PUT /api/v1/agents/{name}/eval-policy route is deprecated.
Configure auto-scoring through /api/v1/evaluators (above) instead.External Score Import
Push scores from external evaluation tools (DeepEval, LangSmith, custom pipelines):SDK Convenience Methods
trace_id_field (default input).
REST API
source is required and applies to the whole batch. The external-tool
names deepeval, langsmith, braintrust and ragas are reserved and
are rejected with 422 on this path — use custom, or a name of your own
like my-pipeline.
LangSmith scores
There is no inbound webhook endpoint to point LangSmith at. Push the scores yourself once the online eval run finishes:key becomes the metric name and comment becomes the
reason. Scores pushed this way are stamped source: "langsmith-import",
since the bare langsmith name is reserved.
External scores appear alongside built-in scores in the dashboard and feed into the same decision engine.
Decision Engine
The decision engine aggregates scores from all sources (built-in, SDK, LLM judge, external) into a unified verdict: The eval verdict (Pass / Fail / Review / Unevaluated) answers “is this output high quality?” It is orthogonal to the compatibility verdict (keep / repair / flag / replay / drop), which answers “what should we do with this trace for training?” The engine reads both as inputs but keeps the two axes distinct.
Verdicts feed into:
- Dataset filtering — only
passtraces are included in training data - Compatibility scoring — combined with manifest verdicts (keep/repair/replay/drop)
- Dashboard analytics — pass rate trends and regression detection
Batch Evaluation
Run evaluators across multiple traces programmatically:Next Steps
Eval Scores API
Push and retrieve evaluation scores per trace.
Evaluation concepts
Evaluators, eval scores, eval verdicts, the unified decision engine.
Datasets
Filter datasets by eval verdict — only train on high-quality traces.
Migration from other tools
Push scores from DeepEval, LangSmith, or your custom eval pipeline.