Skip to main content

Run the AI Agent QA Eval Pack against your tool-using LLM agent + grade it with a shareable scorecard badge. Deterministic, OWASP Agentic Top 10 aligned, no LLM-judge.

Project description

agent-eval-runner

Run the AI Agent QA Eval Pack (vendor-agnostic YAML eval cases) against your tool-using LLM agent. Deterministic checks — no LLM-as-judge — so the report is defensible for production sign-off. Cross-platform (pure Python: Win / macOS / Linux).

See your agent break in one command (zero config)

pip install "agent-eval-runner[openai]"
export OPENAI_API_KEY=sk-...
agent-eval try --model openai:gpt-4o

No clone, no setup, no adapter — 5 OWASP-Agentic-aligned cases ship inside the package. try runs them against your model and shows you exactly how your agent breaks. (For Claude: pip install "agent-eval-runner[anthropic]" + agent-eval try --model anthropic:claude-sonnet-4-6.)

Real usage (all 5 case types, incl. tool-trace assertions)

Write a 10-line adapter wrapping your agent:

# my_adapter.py
from agent_eval_runner import AgentResult, ToolCall

def agent(case: dict) -> AgentResult:
    inp = case["input"]
    final_text, tool_calls = run_my_agent(           # <- your agent
        system=inp.get("system_message"),
        user=inp["user_message"],
        context=inp.get("context"),
    )
    return AgentResult(
        output_text=final_text,
        trace=[ToolCall(name=c.name, args=c.args) for c in tool_calls],
    )
agent-eval run --cases ./cases --adapter my_adapter:agent --report signoff.md

Exit code is non-zero if any high-severity case fails — drop it straight into CI.

What it checks

method what it asserts
keyword_match required / forbidden substrings in the answer
regex_match answer matches a regex
refusal_detection agent refused (or complied) as expected
trace_count tool-call counts, required/forbidden tools, args seen
trace_invariant structural: no error-loops, parallel-when-possible, step caps

Output

  • Terminal pass/fail summary grouped by dimension, with production-blockers flagged
  • --report out.md → a Markdown sign-off report (share with your team / customer)

Full 23-case pack: https://weiseer.gumroad.com/l/dcipxt · Free 5-case starter: https://github.com/weiseer/ai-agent-qa-eval-pack-starter

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

agent_eval_runner-0.3.1.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

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

agent_eval_runner-0.3.1-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file agent_eval_runner-0.3.1.tar.gz.

File metadata

  • Download URL: agent_eval_runner-0.3.1.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for agent_eval_runner-0.3.1.tar.gz
Algorithm Hash digest
SHA256 f21715c8be2bbec20c1c70a56f06b8fed4f1c7f4a130267aa8ab98a8d1b79d23
MD5 de39022be996b02fefe2e1ae1e529522
BLAKE2b-256 98ea5c76bbd8a69dfac715a56bdee1e94e35ac592793a6f84d9b43450e4660d8

See more details on using hashes here.

File details

Details for the file agent_eval_runner-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_eval_runner-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a2ad1ce66cf8f575c6d01d476e3b5fc434cb935f698c53d7d8d7b2985caa18fc
MD5 5c67dfcb5ec90dff7e30816db100724a
BLAKE2b-256 9856488a08b2375ae4a1feae540d0bf6173c4f47cd3d622cb40681a82edd7939

See more details on using hashes here.

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