Skip to main content

Trace-aware AI evaluation toolkit and local Vectory Benchmark runner.

Project description

Vectory

Python 3.10+ Streamlit License: MIT

Precision LLM Evaluation - A powerful, professional-grade toolkit for evaluating Large Language Model outputs.

Features

  • ๐Ÿ“Š Dataset Management - Upload JSON, CSV, or PDF files. Automatic column detection and mapping.
  • ๐Ÿค– LLM-as-Judge - Use current OpenAI or Anthropic models to automatically evaluate output quality with customizable criteria.
  • ๐Ÿ“ Rule-Based Metrics - Calculate BLEU, ROUGE, exact match, Levenshtein similarity, and regex patterns.
  • ๐Ÿ” Error Analysis - Discover failure modes with open coding, axial coding, taxonomy dashboards, and AI-assisted taxonomy suggestions.
  • ๐Ÿ”Ž RAG Metrics - Evaluate retrieval precision, recall, MRR, NDCG, context relevance, faithfulness, and answer completeness.
  • ๐Ÿ‘ค Human Evaluation - Rate outputs manually with customizable scales and criteria.
  • ๐Ÿ† MTEB Leaderboard - View embedding model benchmarks from the Massive Text Embedding Benchmark.
  • ๐Ÿงช Custom Benchmarks - Prepare organization datasets and run optional local embedding model comparisons.
  • ๐Ÿงญ Vectory Benchmark - Score submitted agent traces for task success, reality sampling, tool discipline, recovery, control, and turn efficiency.
  • โš™๏ธ Configurable Themes - Switch between Dark, Light, and Colorblind-safe themes for accessibility.

Quick Start

pip install vectoryai
vectory app

Use pipx when you want an isolated CLI install:

pipx install vectoryai
vectory app

The app opens in your browser at http://localhost:8501.

Run the included agent benchmark example from the CLI:

vectory benchmark data/vectory_benchmark/example_submission.json

Installation

Local CLI

Use pip inside an activated virtual environment or project environment:

pip install vectoryai
vectory app

Use pipx when you want Vectory as a standalone local command without mixing its dependencies into another Python project:

pipx install vectoryai
vectory app --port 8501

Source Checkout

git clone https://github.com/tacticaledge/vectory.git
cd vectory
pip install -e ".[dev]"
vectory app

Prerequisites

  • Python 3.10 or higher
  • pip, pipx, or uv

Contributor Installation

# Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install the project in editable mode
pip install -e ".[dev]"

# Launch the app
vectory app

Optional: Embedding Benchmark Support

The default install does not include PyTorch. Embedding comparison features are optional because they add large model dependencies. Install them only when you need local embedding benchmark runs:

pip install "vectoryai[embedding]"

For a source checkout, install the optional extra from the checkout:

pip install -e ".[embedding]"

For an existing pipx install, add the optional runtime to the isolated Vectory environment:

pipx inject vectoryai "torch>=2.1.0" mteb sentence-transformers

Usage

1. Upload Your Data

Navigate to the ๐Ÿ“Š Dataset page and upload your evaluation data:

  • JSON/JSONL: Arrays of objects with input/output/expected fields
  • CSV: Tabular data with headers
  • PDF: Extracted to markdown (optimized for LLM consumption)

The app will automatically detect column roles, or you can map them manually.

2. Run Evaluations

Choose your evaluation method:

LLM-as-Judge (๐Ÿค–)

  • Select provider (OpenAI or Anthropic)
  • Enter your API key
  • Choose evaluation criteria
  • Run batch evaluation

Rule-Based Metrics (๐Ÿ“)

  • Select metrics (BLEU, ROUGE, exact match, etc.)
  • Run evaluation
  • View per-sample and aggregate results

Error Analysis (๐Ÿ”)

  • Review traces using open coding and pass/fail decisions
  • Group notes into a structured failure-mode taxonomy
  • Generate AI-assisted taxonomy suggestions from reviewer notes
  • Export annotations, taxonomies, and summary reports

Human Evaluation (๐Ÿ‘ค)

  • Navigate through samples
  • Rate on customizable scales
  • Add feedback and criteria tags
  • Export annotations

Vectory Benchmark (๐Ÿงญ)

  • Upload agent run traces as JSON or JSONL
  • Score submitted runs against a built-in agent reliability manifest
  • Review pathologies such as premature planning, retrieval thrashing, ignored evidence, and approval bypass
  • Export run scores and leaderboard summaries

Vectory Benchmark is designed for teams that need to understand agent behavior from real traces: whether the agent observed before acting, used tools productively, recovered from failure, respected scope, and stopped before extra turns became low-value work. For private evaluations of internal agents and workflows, use the Vectory contact form: https://vectoryai.com/#contact

Run the included example from the command line:

vectory benchmark data/vectory_benchmark/example_submission.json

Export scores and leaderboard summaries:

vectory benchmark data/vectory_benchmark/example_submission.json \
  --scores-out vectory-scores.json \
  --leaderboard-out vectory-leaderboard.csv

3. Export Results

Download your evaluation results as CSV or JSON from any results page.

Configuration

API Keys

Configure API keys in one of three ways:

Option 1: Streamlit Secrets (Recommended for deployment)

Create .streamlit/secrets.toml:

[api_keys]
openai = "<openai-api-key>"
anthropic = "<anthropic-api-key>"

Option 2: Environment Variables

export OPENAI_API_KEY="<openai-api-key>"
export ANTHROPIC_API_KEY="<anthropic-api-key>"

Option 3: Manual Input

Enter your API key directly in the UI (stored only in session).

Themes & Accessibility

Vectory includes multiple themes to suit different preferences and accessibility needs. Change your theme in the โš™๏ธ Settings page.

Available Themes:

Theme Description
Dark Developer Modern dark theme optimized for developers (default)
Light Clean light theme for bright environments
High Contrast (Colorblind Safe) Blue-orange palette distinguishable by most forms of color blindness
High Contrast Dark Maximum contrast for users with low vision

The colorblind-safe theme uses a carefully selected palette that works for:

  • Deuteranopia (red-green color blindness)
  • Protanopia (red color blindness)
  • Tritanopia (blue-yellow color blindness)

Streamlit Configuration

The default theme is configured in .streamlit/config.toml:

[theme]
primaryColor = "#6366f1"
backgroundColor = "#0f172a"
secondaryBackgroundColor = "#1e293b"
textColor = "#f1f5f9"
font = "monospace"

Deployment

Python Package Release

Vectory is packaged for Python distribution as vectoryai and exposes the vectory command. Release publishing to PyPI is handled by the Publish Python Package GitHub Actions workflow when a version tag such as v1.0.0 is pushed, or when the workflow is run manually.

Publishing uses PyPI Trusted Publishing. Internal package mirrors, when enabled, use GitHub Actions secrets and variables that are not committed to the public repository.

Docker

FROM python:3.10-slim

WORKDIR /app
COPY . .

RUN pip install .

EXPOSE 8501

CMD ["vectory", "app", "--address", "0.0.0.0"]

Manual Deployment

vectory app --port 8501 --address 0.0.0.0

Project Structure

vectory/
โ”œโ”€โ”€ app.py                    # Main entry point
โ”œโ”€โ”€ requirements.txt          # Python dependencies
โ”œโ”€โ”€ pages/                    # Streamlit pages
โ”‚   โ”œโ”€โ”€ 1_๐Ÿ“Š_Dataset.py      # Dataset upload & config
โ”‚   โ”œโ”€โ”€ 2_๐Ÿค–_LLM_Judge.py    # LLM-as-Judge evaluation
โ”‚   โ”œโ”€โ”€ 3_๐Ÿ“_Metrics.py      # Rule-based metrics
โ”‚   โ”œโ”€โ”€ 4_๐Ÿ‘ค_Human_Eval.py   # Human evaluation
โ”‚   โ”œโ”€โ”€ 5_๐Ÿ†_Leaderboard.py  # MTEB leaderboard
โ”‚   โ”œโ”€โ”€ 6_๐Ÿงช_Custom_Benchmark.py
โ”‚   โ”œโ”€โ”€ 7_โš™๏ธ_Settings.py     # Theme & API key settings
โ”‚   โ”œโ”€โ”€ 8_๐Ÿ”_Error_Analysis.py
โ”‚   โ””โ”€โ”€ 9_๐Ÿงญ_VectoryBenchmark.py
โ”œโ”€โ”€ components/               # Core modules
โ”‚   โ”œโ”€โ”€ __init__.py          # Version and branding
โ”‚   โ”œโ”€โ”€ models.py            # Pydantic data models
โ”‚   โ”œโ”€โ”€ themes.py            # Configurable theme system
โ”‚   โ”œโ”€โ”€ document_loader.py   # File loading utilities
โ”‚   โ”œโ”€โ”€ error_discovery.py   # AI-assisted taxonomy helpers
โ”‚   โ”œโ”€โ”€ ui.py                # Animated UI components
โ”‚   โ”œโ”€โ”€ mteb_evaluator.py    # Embedding evaluation
โ”‚   โ””โ”€โ”€ evaluators/          # Evaluation implementations
โ”‚       โ”œโ”€โ”€ llm_judge.py
โ”‚       โ”œโ”€โ”€ rag_metrics.py
โ”‚       โ””โ”€โ”€ metrics.py
โ”œโ”€โ”€ tests/                    # Test suite
โ””โ”€โ”€ data/                     # Sample datasets

Testing

# Install test dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Run with coverage
pytest tests/ -v --cov=components --cov-report=html

Troubleshooting

PyTorch Version Error

If you see module 'torch' has no attribute 'compiler':

pip install -e ".[embedding]"

The app works without PyTorch. Local embedding model execution stays disabled until the optional embedding extra is installed.

NLTK Data Missing

If you see NLTK-related errors:

python -c "import nltk; nltk.download('punkt'); nltk.download('punkt_tab')"

API Key Issues

  • Ensure your API key is valid and has sufficient credits
  • Check that the key is correctly formatted (no extra spaces)
  • For Anthropic, ensure you're using the correct model names

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments


Vectory - Precision LLM Evaluation | Tactical Edge

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

vectoryai-1.0.0.tar.gz (114.9 kB view details)

Uploaded Source

Built Distribution

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

vectoryai-1.0.0-py3-none-any.whl (180.3 kB view details)

Uploaded Python 3

File details

Details for the file vectoryai-1.0.0.tar.gz.

File metadata

  • Download URL: vectoryai-1.0.0.tar.gz
  • Upload date:
  • Size: 114.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vectoryai-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a54de0ef86a6a25d5308afd5e87c5c9378b3ba73ea717d73e3d0b768329be750
MD5 55d97a74c2f2f0ce7a4af0525f540c43
BLAKE2b-256 78aa798c189a330e983b178bbf63cdb0688e8f49e035d5e85082300f5afd1c54

See more details on using hashes here.

File details

Details for the file vectoryai-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: vectoryai-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 180.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vectoryai-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c76caf5103793184222090c9be567445ec2332d1c89d2a89ed9e2ec4513f02f9
MD5 9d723a1f93de6c740dc33db77130d8c0
BLAKE2b-256 23ea170d29b42cbd42b23ecd98263ce909d58e2f9149ce9319cf074752c34bae

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