Skip to main content

Artemis LLM Benchmark

A Python CLI for correctness validation and performance benchmarking of LLM serving endpoints. Works with any OpenAI-compatible server — vLLM, Ollama, llama.cpp, and more.


Install

pip install artemisllmbench                    # core
pip install "artemisllmbench[dashboard]"       # + Streamlit dashboard
pip install "artemisllmbench[full]"            # + dashboard + semantic similarity

[full] adds sentence-transformers for semantic similarity checks (Layer 3 validity).


What It Does

Artemis LLM Benchmark answers two questions after you optimize an LLM endpoint:

  • Did the optimization preserve correctness? — multi-layer validity checks on every response
  • What is the publishable performance number? — reproducible latency, throughput, and goodput metrics

Quick Start

Validate a single endpoint — correctness + performance in one command:

artemisllmbench validate \
  --endpoint http://localhost:9000 \
  --model Qwen/Qwen2.5-7B-Instruct \
  --hardware a100

Compare stock vs optimized — sequential benchmarking with full GPU resources for each:

artemisllmbench compare \
  --endpoint-a http://localhost:9000 \
  --endpoint-b http://localhost:9001 \
  --model Qwen/Qwen2.5-7B-Instruct \
  --hardware a100

Split-session compare — when the stock endpoint is already torn down:

# Session 1: save the stock baseline
artemisllmbench baseline --endpoint http://localhost:9000 --model <model> --hardware a100

# Session 2: run the optimized candidate
artemisllmbench candidate --endpoint http://localhost:9000 --model <model> --hardware a100

The dashboard launches automatically after each run. Open it at http://<your-ip>:8501.


Key Features

  • Multi-layer validity — sanity, structural, semantic (embedding similarity ≥ 0.92), and exact-match checks catch regressions that latency numbers alone miss
  • Reproducible metrics — TTFT, P95/P99 latency, ITL (inter-token latency), throughput, CV, drift, and spike detection
  • SLO / goodput tracking — set --slo-ttft and --slo-latency thresholds; get the % of requests that met them
  • Streamlit dashboard — live progress, side-by-side results, analytics charts, and a live response comparison panel
  • Fast mode — --fast cuts runtime by ~75% for quick iteration checks
  • Cross-machine support — endpoints can be on different hosts or different hardware

Common Flags

Flag Description
--fast Reduced runs (~75% faster). For quick checks only.
--production Full 50-run sequential + concurrent load (default).
--slo-ttft <ms> TTFT SLO threshold — enables goodput reporting.
--slo-latency <ms> End-to-end latency SLO threshold.
--plots ASCII charts inline in terminal output.
--live Rich terminal live view during concurrent phases.
--no-dashboard Skip auto-launching Streamlit.
--port N Streamlit port (default: 8501).

Validity Layers

Layer Check On failure
1 Sanity Non-empty, complete sentence, token bounds Hard fail
2 Structural JSON/Python syntax where required Hard fail
3 Semantic Cosine similarity ≥ 0.92 vs. reference Hard fail / warning
4 Exact match String equality (control_prompt_v1 only) Warning

Pre-flight Conformance Check

artemisllmbench check-conformance --endpoint http://localhost:9000

Verifies your endpoint speaks the required OpenAI-compatible SSE format before a full benchmark run.


Full documentation and source: artemisllmbench --help or artemisllmbench <command> --help

Metadata

Release files for artemisllmbench 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for artemisllmbench 0.1.4
File Size Uploaded
artemisllmbench-0.1.4.tar.gz 112.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for artemisllmbench 0.1.4
File Interpreter ABI Platform
artemisllmbench-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 231.1 kB

Release files / artemisllmbench-0.1.4.tar.gz

Download URL artemisllmbench-0.1.4.tar.gz
Size 112.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b6e318335ddabf3f15d8cc492470ce89439e4fe2218d23c2eedfe8f4336040cf
BLAKE2b-256 checksum
How to use checksums
86473ae1365da145bbe388adabc96bc46304ce19ac0e1d67a39d6a06f7af96e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / artemisllmbench-0.1.4-py3-none-any.whl

Download URL artemisllmbench-0.1.4-py3-none-any.whl
Size 118.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ab84c836f40b27a3e8db60ae0495dd546c79bc29ae04dbdbbfe966785116529
BLAKE2b-256 checksum
How to use checksums
d8f8d8d654e9d17ec1a34701b379b193d567cbd2f35b59c40b6913e169403036
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page