Basketball

A Hands-On Guide to Testing Agents with RAGAs and G-Eval

· 5 min read

A Hands-On Guide to Testing Agents with RAGAs and G-Eval

In this article, you will learn how to evaluate large language model applications using RAGAs and G-Eval-based frameworks in a practical, hands-on workflow.

Topics we will cover include:

  • How to use RAGAs to measure faithfulness and answer relevancy in retrieval-augmented systems.
  • How to structure evaluation datasets and integrate them into a testing pipeline.
  • How to apply G-Eval via DeepEval to assess qualitative aspects like coherence.

Let’s get started.

A Hands-On Guide to Testing Agents with RAGAs and G-Eval

A Hands-On Guide to Testing Agents with RAGAs and G-Eval
Image by Editor

Introduction

RAGAs (Retrieval-Augmented Generation Assessment) is an open-source evaluation framework that replaces subjective “vibe checks” with a systematic, LLM-driven “judge” to quantify the quality of RAG pipelines. It assesses a triad of desirable RAG properties, including contextual accuracy and answer relevance. RAGAs has also evolved to support not only RAG architectures but also agent-based applications, where methodologies like G-Eval play a role in defining custom, interpretable evaluation criteria.

This article presents a hands-on guide to understanding how to test large language model and agent-based applications using both RAGAs and frameworks based on G-Eval. Concretely, we will leverage DeepEval, which integrates multiple evaluation metrics into a unified testing sandbox.

If you are unfamiliar with evaluation frameworks like RAGAs, consider reviewing this related article first.

Step-by-Step Guide

This example is designed to work both in a standalone Python IDE and in a Google Colab notebook. You may need to pip install some libraries along the way to resolve potential ModuleNotFoundError issues, which occur when attempting to import modules that are not installed in your environment.

We begin by defining a function that takes a user query as input and interacts with an LLM API (such as OpenAI) to generate a response. This is a simplified agent that encapsulates a basic input-response workflow.

In a more realistic production setting, the agent defined above would include additional capabilities such as reasoning, planning, and tool execution. However, since the focus here is on evaluation, we intentionally keep the implementation simple.

Next, we introduce RAGAs. The following code demonstrates how to evaluate a question-answering scenario using the faithfulness metric, which measures how well the generated answer aligns with the provided context.

Note that you may need sufficient API quota (e.g., OpenAI or Gemini) to run these examples, which typically requires a paid account.

Below is a more elaborate example that incorporates an additional metric for answer relevancy and uses a structured dataset.

Ensure that your API key is configured before proceeding. First, we demonstrate evaluation without wrapping the logic in an agent:

To simulate an agent-based workflow, we can encapsulate the evaluation logic into a reusable function:

The Hugging Face Dataset object is designed to efficiently represent structured data for large language model evaluation and inference.

The following code demonstrates how to call the evaluation function:

We now introduce DeepEval, which acts as a qualitative evaluation layer using a reasoning-and-scoring approach. This is particularly useful for assessing attributes such as coherence, clarity, and professionalism.

A quick recap of the key steps:

  • Define a custom metric using natural language criteria and a threshold between 0 and 1.
  • Create an LLMTestCase using your test data.
  • Execute evaluation using the measure method.

Summary

This article demonstrated how to evaluate large language model and retrieval-augmented applications using RAGAs and G-Eval-based frameworks. By combining structured metrics (faithfulness and relevancy) with qualitative evaluation (coherence), you can build a more comprehensive and reliable evaluation pipeline for modern AI systems.