Contents

init(judge:dimensions:scoringMode:prompt:)

Creates a multi-metric evaluator with a custom model prompt.

Declaration

init(judge: any LanguageModel, dimensions: [ScoreDimension], scoringMode: ScoringMode = .discrete, prompt: ModelJudgePrompt<Input>)

Parameters

  • judge:

    The language model to use as judge.

  • dimensions:

    The dimensions to score. Each produces a separate DataFrame column.

  • scoringMode:

    Whether scores are discrete (default) or allow any floating-point value.

  • prompt:

    Configuration for the model prompt, including instructions, response presentation, and reference.

Discussion

let prompt = ModelJudgePrompt<ModelSample<String>>(
    instructions: "Score the response on multiple dimensions."
)
let evaluator = ModelJudgeEvaluator<ModelSample<String>>(
    judge: SystemLanguageModel.default,
    dimensions: [
        ScoreDimension("Quality", scale: .passFail(passDescription: "Good", failDescription: "Poor"))
    ],
    prompt: prompt
)

See Also

Creating a multi-dimension evaluator