Skip to main content

A graph-based toolkit for evaluating LLM and RAG outputs with repeatable quality metrics and reporting.

Project description

neXa-gauge

neXa-gauge

CI License: MIT Python

A graph-based evaluation toolkit for LLM and RAG systems with repeatable quality checks, upfront cost visibility, cache for reusability and clean per-case outputs for analysis.

  • Graph-native evaluation flow (scan -> claims -> metrics -> eval)
  • Cost visibility before runtime with estimate-first execution
  • Cache-aware runs to avoid duplicate spend and recomputation
  • Coverage across relevance, grounding, redteam, GEval, and reference scoring
  • Production-friendly CLI for run, estimate, and cache management
  • Scales with control across utility and metric nodes
  • Bring your own model: Ollama support comming!!

Install

PyPI (recommended)

pip install nexa-gauge

With Hugging Face adapter support:

pip install "nexa-gauge[huggingface]"

From source (development)

git clone git@github.com:Sardhendu/nexa-gauge.git
cd nexa-gauge
pip install -e .

Quick Start

# set your provider key
export OPENAI_API_KEY="<your-key>"

# inspect CLI
nexagauge --help

# estimate first
nexagauge estimate grounding --input sample.json --limit 5

# run and write reports
nexagauge run eval --input sample.json --limit 5 --output-dir ./report

CLI Overview

  • nexagauge run <target_node> --input <source> [flags]
  • nexagauge estimate <target_node> --input <source> [flags]

Most-used flags:

  • data: --input, --adapter, --split, --start, --end, --limit
  • model routing: --model, --llm-model, --llm-fallback
  • cache: --force, --no-cache, --cache-dir
  • execution: --max-workers, --max-in-flight, --continue-on-error
  • debug: --debug (enables node logs; hides progress bar)
  • output (run): --output-dir

Node Topology

Canonical nodes:

  • scan
  • chunk
  • claims
  • dedup
  • geval_steps
  • relevance
  • grounding
  • redteam
  • geval
  • reference
  • eval
  • report

Typical paths:

  • grounding: scan -> chunk -> claims -> dedup -> grounding
  • relevance: scan -> chunk -> claims -> dedup -> relevance
  • geval: scan -> geval_steps -> geval
  • eval: full graph execution and aggregation

Configuration

See .env.example for environment settings.

Minimum for LLM-backed runs:

  • OPENAI_API_KEY (or alternative provider key)
  • LLM_MODEL (default available)

Per-node overrides are supported:

  • LLM_{NODE}_MODEL
  • LLM_{NODE}_FALLBACK_MODEL
  • LLM_{NODE}_TEMPERATURE

For Maintainers

uv sync
make lint
make test
make ci

Releases are automated with release-please:

  • use Conventional Commit PR titles (feat:, fix:, deps:, chore:, etc.) so merged commits are parseable
  • if using merge commits, ensure the merge message includes a conventional title (or use squash merge with a conventional PR title)
  • a Release PR is created/updated automatically and auto-merged after required checks pass
  • release bump scope is repo-level (nexa-gauge root version), not every package-level file
  • publish runs from .github/workflows/release.yml after release creation

Build distributions:

uv build

Expected artifacts:

  • dist/nexa_gauge-<version>-py3-none-any.whl
  • dist/nexa_gauge-<version>.tar.gz

Project Standards

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nexa_gauge-0.1.4.tar.gz (128.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nexa_gauge-0.1.4-py3-none-any.whl (106.0 kB view details)

Uploaded Python 3

File details

Details for the file nexa_gauge-0.1.4.tar.gz.

File metadata

  • Download URL: nexa_gauge-0.1.4.tar.gz
  • Upload date:
  • Size: 128.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nexa_gauge-0.1.4.tar.gz
Algorithm Hash digest
SHA256 1300878203b19601e6f578bc043c8edbf3d3a317effed4676ecf383c368d417c
MD5 e9635dcf202e86db4f384f6122d6384f
BLAKE2b-256 ba5f81d3902f6529880f6c95bc22ce4c7b7cafb7bca56317be6e1a5e3da06096

See more details on using hashes here.

Provenance

The following attestation bundles were made for nexa_gauge-0.1.4.tar.gz:

Publisher: release.yml on harneXa/nexa-gauge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nexa_gauge-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: nexa_gauge-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 106.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nexa_gauge-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ecd2052b06c61e86965979581de291613b61fc3ad05759bf757556150c36c64d
MD5 007e1ddb2451d1ae10308031cf508f73
BLAKE2b-256 cc09a38a5d8200e3f0ec306cf587e8d673990ac99e55ff38df3112f4809ec3cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for nexa_gauge-0.1.4-py3-none-any.whl:

Publisher: release.yml on harneXa/nexa-gauge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page