Skip to main content
Evaluators assess the quality and performance of AI models and flows.

defineEvaluator()

Defines and registers an evaluator.

Parameters

Registry
required
The Genkit registry instance
EvaluatorOptions<DataPoint, EvaluatorOpts>
required
string
required
Unique name for the evaluator
string
required
Human-readable display name
string
required
Description of what the evaluator measures
DataPoint
Zod schema for the expected data point structure
EvaluatorOpts
Zod schema for evaluator configuration
boolean
Whether this evaluator incurs costs (default: true)
EvaluatorFn<EvalDataPoint, EvaluatorOpts>
required
Implementation functionFunction signature:

Returns

EvaluatorAction
An evaluator action that can be used with evaluate()

evaluate()

Evaluates a dataset using an evaluator.

Parameters

Registry
required
The Genkit registry instance
EvaluatorParams<DataPoint, CustomOptions>
required
EvaluatorArgument<DataPoint, CustomOptions>
required
Evaluator to use (string name, EvaluatorAction, or EvaluatorReference)
Dataset<DataPoint>
required
Array of data points to evaluate
string
Unique identifier for this evaluation run (auto-generated if not provided)
z.infer<CustomOptions>
Evaluator-specific configuration

Returns

EvalResponses
Array of evaluation results

evaluatorRef()

Creates a reference to an evaluator.

Parameters

EvaluatorReference<CustomOptionsSchema>
required
string
required
Evaluator name
CustomOptionsSchema
Configuration schema
EvaluatorInfo
Evaluator metadata

Returns

EvaluatorReference<CustomOptionsSchema>
An evaluator reference

Types

BaseDataPoint

BaseEvalDataPoint

Score

EvalResponse

EvaluatorAction

EvalStatusEnum

Example: Custom Evaluator