vectara/open-rag-eval

RAG evaluation without the need for "golden answers"

Open RAG Eval – Quick Overview

What it is – An open‑source Python toolkit for evaluating Retrieval‑Augmented Generation (RAG) pipelines. It bundles a set of ready‑made metrics (including the TREC‑RAG benchmark, UMBRELA, AutoNuggetizer, and factual‑consistency scores) and provides connectors for popular RAG frameworks such as Vectara, LlamaIndex and LangChain.

Why it matters – Measuring RAG quality is tricky because you need to assess both relevance of retrieved chunks and the factual correctness of the generated answer. open‑rag‑eval lets you do this without having to hand‑craft “golden” chunks or answers; many metrics work out‑of‑the‑box, and you can plug in your own.

Core pieces

  • Metrics – UMBRELA & AutoNuggetizer (no gold data needed), TREC‑RAG metrics, optional golden‑answer metrics, and hallucination detection via an open‑source HHEM model or Vectara’s commercial API.
  • Connectors – Ready adapters for Vectara, LlamaIndex, LangChain; you can also feed pre‑generated answer files.
  • CLI & library – Install with pip install open-rag-eval. The open‑rag‑eval command lets you run evaluations, generate synthetic queries, and plot results.
  • Visualization – Exported JSON/CSV can be explored in the web viewer at https://openevaluation.ai, via a local Streamlit app, or with simple CLI plots.

Typical workflow

  1. Create a query list (CSV) or let the tool synthesize queries from your corpus.
  2. Write a YAML config that points to the queries, selects a connector (e.g., Vectara), and chooses which evaluator(s) to run.
  3. Run open‑rag‑eval eval --config <your‑config>.yaml.
  4. Inspect the per‑query scores and visualizations to spot weak spots (low relevance, high hallucination, etc.).

Who should use it – Data scientists, ML engineers, or product teams building RAG‑based chat or search systems who need a reproducible, extensible way to benchmark and debug their pipelines.


Key Details from the README

  • License: Apache 2.0
  • Python version: ≥ 3.9
  • LLM judge: Defaults to OpenAI (gpt‑4o‑mini) but can be swapped.
  • Factual consistency back‑ends: Open‑source HHEM model (vectara/hallucination_evaluation_model) or Vectara API.
  • Installation: pip install open-rag-eval (provides the CLI) or pip install -e . from source.
  • Configuration files: Example configs live under config_examples/ (e.g., eval_config_vectara.yaml).
  • Visualization options: Web viewer (JSON), CLI plotting, or Streamlit app in open_rag_eval/viz/.

TL;DR

open‑rag‑eval = plug‑and‑play Python library + CLI for measuring how well your RAG system retrieves relevant chunks and generates factually correct answers, with built‑in metrics, connectors, synthetic query generation, and multiple ways to visualise the results.

Related

  • Project
  • Project
  • Project
  • Project