EvalStack
Pre-alpha · v0.0.1 · MIT licensed

LLM apps are easy to build and hard to trust.

EvalStack is an open source eval framework for LLM and multi-agent systems. Write down what a good answer looks like, run your model against it, and know whether it works before your users find out.

Get started Learn the basics

Why this exists

Most teams ship an LLM app, try a few prompts by hand and call it done. Then it fails quietly in production. EvalStack gives you a repeatable way to check model output, so a change to a prompt or a model shows up as a number, not a surprise.

What works today

Eval loop

Send a prompt, score the reply, get pass/fail with a reason. Run one case or a batch.

Scorers

Exact match, contains, and an LLM judge that grades meaning from 0.0 to 1.0.

Any provider

Anthropic and OpenAI built in, or plug in any function that takes a prompt and returns text.

Honest failures

API errors, refusals and bad judge replies raise errors. A broken eval never looks like a pass.

Quick start

Clone the repo and install it with the Anthropic SDK:

git clone https://github.com/ajithjoseph/evalstack
cd evalstack
pip install -e ".[anthropic]"

Then run your first eval:

from evalstack.core import EvalRunner
from evalstack.scorer import LLMJudgeScorer

runner = EvalRunner(model="claude-opus-5-5")
result = runner.run("What is the capital of France?", expected="Paris")
print(result.passed, result.metadata["reason"])

# Grade meaning instead of matching text:
judge = LLMJudgeScorer(model="claude-opus-5-5")
runner = EvalRunner(model="claude-opus-5-5", scorer=judge)

Use provider="openai" with pip install -e ".[openai]" for OpenAI models. Python 3.11 or newer.

Roadmap

  • Core eval loop (single LLM call)
  • Multi-agent workflow eval
  • RAG retrieval quality scoring
  • MCP server integration
  • Production dashboard

Building in public

EvalStack is early and moving fast. Follow the build log on LinkedIn, star the repo on GitHub, and open a PR if you want to help.