Systematically and quantitatively evaluate the response quality of LLMs and Agents — model configs, dataset management, pre-evaluation scripts, 9 evaluation types with AI judges, result analytics and A/B testing. Built with FastAPI + Vue 3 + Celery, deployable as a single Docker Compose stack.
Preparation → Evaluation → Analysis, in one platform:
| Module | Capabilities |
|---|---|
| Model configs | OpenAI / Anthropic compatible endpoints, custom HTTP (import from curl), runtime variable injection, streaming connectivity test |
| Datasets | Excel import (dynamic fields), Agent session file import, media fields, field-level validation |
| Script library | Pre-evaluation scripts (zip / folder packages), model.py contract declaration, online file-tree editing, scaffold templates |
| Evaluation tasks | AI judge / Agent long-session / consistency / success-rate / RAG retrieval / binary classification, batch runs, real-time progress over WebSocket |
| Judge engines | Claude Code judge, DeepSeek Harness judge, generic LLM judge graph; per-task evaluation dimensions |
| Results & analytics | Score details, run-to-run history, Excel/JSON/CSV export, trend statistics, side-by-side A/B comparison |
| Administration | Teams and user enable/disable (super admin), audit log, built-in user guide |
First registered user automatically becomes the super admin; sessions are JWT (Authorization: Bearer), passwords stored as PBKDF2-HMAC-SHA256 hashes.
Prerequisites: Python 3.12+, Node.js 18+ with pnpm, Docker (for PostgreSQL and Redis).
# 1. Start PostgreSQL + Redis (dev containers)
docker compose -f docker-compose.dev.yml up -d
# 2. Backend dependencies (use a virtualenv)
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# 3. Configure environment (.env is not committed)
cp .env.example .env
# set DATABASE_URL / REDIS_URL / AUTH_JWT_SECRET
# 4. Run database migrations
export AIEVO_DATABASE_URL="$DATABASE_URL"
alembic upgrade head
# 5. Start the backend (port 8100)
python scripts/run_local_dev.py
# 6. Start the frontend (another terminal, /api proxies to 8100)
cd frontend && pnpm install && pnpm dev # https://localhost:3000Open https://localhost:3000 → register (first user becomes super admin) → add a target model and a judge model under Model Configs → import a dataset from Excel → create and run an evaluation task.
The image is built online (Dockerfile.online: Node stage builds the frontend, Python stage installs dependencies):
cp .env.example .env # set DATABASE_URL / REDIS_URL / AUTH_JWT_SECRET / IMAGE_TAG
docker compose up -d --buildapiserves both the REST API and the built frontend on port 8100 (AIEVO_PORTto change)workerruns Celery evaluation tasks;logs/anduploads/are persisted via volumes- set
COMPOSE_PROFILES=bundled-dbin.envto also start a bundled PostgreSQL
The full offline/CI pipeline (locked wheels, bundled Claude Code CLI) is described in docs/build-pipeline.md.
| Type | One-liner | Needs a judge model |
|---|---|---|
| AI judge | LLM judge scores model outputs on configured dimensions | Yes |
| Agent (long session) | Judge scores imported agent session transcripts | Yes |
| Consistency | Same input called N times, measures output stability | Optional |
| Success rate | Share of successful calls | No |
| RAG retrieval | Precision / recall and 4 more retrieval metrics | Partial |
| Binary classification | Label comparison: accuracy / sensitivity / specificity | No |
- User guide (中文, with screenshots)
- Quick start (中文)
- API docs are served by the backend at
/api-docsonce running
- Set a strong
AUTH_JWT_SECRETin production (missing values fall back to a derived key, local development only) - anc-hub endpoints use strict TLS verification by default; self-signed internal endpoints can opt out with
AIEVO_HUB_TLS_INSECURE=1 - This platform intentionally calls user-configured model endpoints (including internal gateways) — deploy it inside a trust boundary you control
