Skip to main content
Autoblocks provides a set of evaluators that can be used out of the box. These evaluators are designed to be easily integrated into your test suite and can help you get started with testing your AI-powered applications. Each evaluator below lists the custom properties and methods that need to be implemented to use the evaluator in your test suite. You must set the id property, which is a unique identifier for the evaluator. All of the code snippets can be run by following the instructions in the Quick Start guide. Ragas

Logic Based

Is Equals

The IsEquals evaluator checks if the expected output equals the actual output. Scores 1 if equal, 0 otherwise.

Is Valid JSON

The IsValidJSON evaluator checks if the output is valid JSON. Scores 1 if it is valid, 0 otherwise.

Has All Substrings

The HasAllSubstrings evaluator checks if the output contains all the expected substrings. Scores 1 if all substrings are present, 0 otherwise.

Assertions (Rubric/Rules)

The Assertions evaluator enables you to define a set of assertions or rules that your output must satisfy.
Individual assertions can be marked as not required, and if they are not met, the evaluator will still pass.

LLM Judges

Custom LLM Judge

The CustomLLMJudge evaluator enables you to define custom evaluation criteria using an LLM judge.

Accuracy

The Accuracy evaluator checks if the output is accurate compared to an expected output. Scores 1 if accurate, 0.5 if somewhat accurate, 0 if inaccurate.

NSFW

The NSFW evaluator checks if the output is safe for work. Scores 1 if safe, 0 otherwise.

Toxicity

The Toxicity evaluator checks if the output is not toxic. Scores 1 if it is not toxic, 0 otherwise.

Ragas

Ragas is a framework that helps you evaluate your Retrieval Augmented Generation (RAG) pipelines. We have built wrappers around the metrics to make integration with Autoblocks seamless. Available Ragas evaluators:
  • BaseRagasLLMContextPrecisionWithReference uses a LLM to measure the proportion of relevant chunks in the retrieved_contexts.
  • BaseRagasNonLLMContextPrecisionWithReference measures the proportion of relevant chunks in the retrieved_contexts without using a LLM.
  • BaseRagasLLMContextRecall evaluates the extent to which the retrieved context aligns with the annotated answer, treated as the ground truth.
  • BaseRagasNonLLMContextRecall uses non llm string comparison metrics to identify if a retrieved context is relevant or not.
  • BaseRagasContextEntitiesRecall evaluates the measure of recall of the retrieved context, based on the number of entities present in both ground_truths and contexts relative to the number of entities present in the ground_truths alone.
  • BaseRagasNoiseSensitivity measures how often a system makes errors by providing incorrect responses when utilizing either relevant or irrelevant retrieved documents.
  • BaseRagasResponseRelevancy focuses on assessing how pertinent the generated answer is to the given prompt.
  • BaseRagasFaithfulness measures the factual consistency of the generated answer against the given context.
  • BaseRagasFactualCorrectness compares and evaluates the factual accuracy of the generated response with the reference. This metric is used to determine the extent to which the generated response aligns with the reference.
  • BaseRagasSemanticSimilarity measures the semantic resemblance between the generated answer and the ground truth.
The Ragas evaluators are only available in the Python SDK. You must install Ragas (pip install ragas) before using these evaluators. Our wrappers require at least version 0.2.* of Ragas.
Individual Ragas evaluators require different parameters. You can find sample implementations for each of the Ragas evaluators here.