langchain.evaluation.parsing.json_schema.JsonSchemaEvaluator¶
- class langchain.evaluation.parsing.json_schema.JsonSchemaEvaluator(**kwargs: Any)[source]¶
 An evaluator that validates a JSON prediction against a JSON schema reference.
This evaluator checks if a given JSON prediction conforms to the provided JSON schema. If the prediction is valid, the score is True (no errors). Otherwise, the score is False (error occurred).
- requires_input¶
 Whether the evaluator requires input.
- Type
 bool
- requires_reference¶
 Whether the evaluator requires reference.
- Type
 bool
- evaluation_name¶
 The name of the evaluation.
- Type
 str
Examples
evaluator = JsonSchemaEvaluator() result = evaluator.evaluate_strings(
prediction=’{“name”: “John”, “age”: 30}’, reference={
“type”: “object”, “properties”: {
“name”: {“type”: “string”}, “age”: {“type”: “integer”}
}
}
) assert result[“score”] is not None
Initializes the JsonSchemaEvaluator.
- Parameters
 **kwargs – Additional keyword arguments.
- Raises
 ImportError – If the jsonschema package is not installed.
Attributes
Returns the name of the evaluation.
Returns whether the evaluator requires input.
Returns whether the evaluator requires reference.
Methods
__init__(**kwargs)Initializes the JsonSchemaEvaluator.
aevaluate_strings(*, prediction[, ...])Asynchronously evaluate Chain or LLM output, based on optional input and label.
evaluate_strings(*, prediction[, reference, ...])Evaluate Chain or LLM output, based on optional input and label.
- __init__(**kwargs: Any) None[source]¶
 Initializes the JsonSchemaEvaluator.
- Parameters
 **kwargs – Additional keyword arguments.
- Raises
 ImportError – If the jsonschema package is not installed.
- async aevaluate_strings(*, prediction: str, reference: Optional[str] = None, input: Optional[str] = None, **kwargs: Any) dict¶
 Asynchronously evaluate Chain or LLM output, based on optional input and label.
- Parameters
 prediction (str) – The LLM or chain prediction to evaluate.
reference (Optional[str], optional) – The reference label to evaluate against.
input (Optional[str], optional) – The input to consider during evaluation.
**kwargs – Additional keyword arguments, including callbacks, tags, etc.
- Returns
 The evaluation results containing the score or value.
- Return type
 dict
- evaluate_strings(*, prediction: str, reference: Optional[str] = None, input: Optional[str] = None, **kwargs: Any) dict¶
 Evaluate Chain or LLM output, based on optional input and label.
- Parameters
 prediction (str) – The LLM or chain prediction to evaluate.
reference (Optional[str], optional) – The reference label to evaluate against.
input (Optional[str], optional) – The input to consider during evaluation.
**kwargs – Additional keyword arguments, including callbacks, tags, etc.
- Returns
 The evaluation results containing the score or value.
- Return type
 dict