Skip to content

Eval operators

Public

The Eval family contains 4 operators. Grade outputs against assertions, regexes, and judge prompts.

Evaluates a CEL boolean expression against merged inputs and fails the step if it returns false.

Version 1.0.0 · Semantics passthrough · Idempotent

FieldTypeRequiredDefaultDescription
expressionstringyes—CEL expression returning a boolean. Inputs are bound under ctx.inputs.* and inputs.*.
targetstringno—Optional target value exposed as ctx.inputs.target.
PortTypeRequiredDescription
inputanynoInput
PortTypeRequiredDescription
outputobjectnoOutput

Scores a response against a rubric using an LLM judge. Returns a score, justification, and per-criterion results.

Version 1.0.0 · Semantics passthrough · Secrets OPENROUTER_API_KEY

FieldTypeRequiredDefaultDescription
max_scorenumberno10
modelstringno—Model identifier (resolved against the customer catalog).
responsestringno—Response to evaluate. Falls back to inputs.output if omitted.
rubricstringyes—Evaluation rubric or criteria. Embedded into the judge’s system prompt.
PortTypeRequiredDescription
inputstringnoInput
PortTypeRequiredDescription
outputobjectnoOutput

Native regex match/find_all/replace against a target string.

Version 1.0.0 · Semantics passthrough · Idempotent

FieldTypeRequiredDefaultDescription
mode”match” | “find_all” | “replace”no"match"
patternstringyes—Regular expression pattern (Rust regex syntax).
replacementstringno—Replacement string (required when mode=replace).
targetstringno—String to apply the pattern to. Falls back to inputs.output if omitted.
PortTypeRequiredDescription
inputstringnoInput
PortTypeRequiredDescription
outputobjectnoOutput

Scores output quality against a reference or rubric.

Version 1.0.0 · Semantics passthrough · Visibility advanced · Secrets OPENROUTER_API_KEY

FieldTypeRequiredDefaultDescription
max_tokensintegerno4096
modelstringno—Model identifier (e.g. ‘deepseek/deepseek-r1’).
referencestringno—Optional reference answer.
rubricstringyes—Evaluation rubric or criteria.
stop_sequencesstring[]no—
temperaturenumberno0.7
top_pnumberno—
PortTypeRequiredDescription
inputstringyesInput
PortTypeRequiredDescription
explanationstringnoExplanation
scorenumbernoScore
usageobjectnoUsage

Every operator above is rendered from its JSON schema in /opt/glyph/schemas/operators/:

  • schemas/operators/eval.assertion.json
  • schemas/operators/eval.grade.json
  • schemas/operators/eval.regex.json
  • schemas/operators/eval.score.json