🚧 Welcome to the Inspect Evals Dashboard (Beta) 🚧
This project is currently in beta, and we're actively seeking feedback from the community to guide our next steps. Whether you spot a bug, have suggestions for new features, or want to help us improve the user experience - we want to hear from you!
👉 Create an issue to share feedback or report bugs: GitHub Issues
A Streamlit-based web application for visualizing results of AI evaluations based on open source implementations from the inspect_evals library.
├── app.py
├── config.yml
├── requirements.txt
├── pyproject.toml
├── Makefile
├── .streamlit
├── tests
├── src
│ ├── pages
│ │ ├── evaluations
│ │ ├── changelog.py
│ │ └── docs.py
│ ├── plots
│ ├── log_utils
│ └── config.py- Recommended Python version: Python 3.12+
- Clone this repository:
git clone https://github.com/ArcadiaImpact/inspect_evals_dashboard.git
cd inspect_evals_dashboard- Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate # On Windows, use: venv\Scripts\activate- Install required packages:
# For running the app
pip install .
# For development
pip install .[dev]- Set up environment variables in
.streamlit/secrets.toml:
STREAMLIT_ENV = "dev"
AWS_ACCESS_KEY_ID = "your_access_key"
AWS_SECRET_ACCESS_KEY = "your_secret_key"
AWS_DEFAULT_REGION = "eu-west-2"
AWS_S3_BUCKET = "you_bucket"- Run the application:
streamlit run app.pyThe project includes several development tools and configurations:
- Pre-commit Hooks: Configured in
.pre-commit-config.yamlfor code quality checks - Type Checking: Using
mypyfor static type checking - Linting: Using
rufffor Python linting - Testing: Using
pytestfor unit tests - Make Commands: Common development tasks are available via
makecommands
make testmake hooks-installmake hooks-updatemake checkThe application will be available at http://localhost:8501
- Home: Landing page with project overview and main features
- Evaluations: Contains subpages for different evaluation categories:
- Agents
- Assistants
- Coding
- Cybersecurity
- Knowledge
- Mathematics
- Reasoning
- Safeguards
- Documentation: Detailed documentation about the evaluation methodologies
- Changelog: Version history and updates
The application supports different environments (test, dev, stage, prod) configured through config.yml.
Set the environment using the STREAMLIT_ENV environment variable:
# For development (default)
streamlit run app.py
# For staging
STREAMLIT_ENV=stage streamlit run app.py
# For production
STREAMLIT_ENV=prod streamlit run app.py
# For development
STREAMLIT_ENV=dev streamlit run app.pySTREAMLIT_ENV: Environment to use (test/dev/stage/prod). Defaults to 'dev'AWS_ACCESS_KEY_ID: AWS access key for S3 accessAWS_SECRET_ACCESS_KEY: AWS secret key for S3 accessAWS_DEFAULT_REGION: AWS region for S3 accessAWS_S3_BUCKET: AWS S3 bucket name to read logs from
.streamlit/config.toml: Streamlit-specific configurationconfig.yml: Environment-specific configuration including:- Evaluation configurations
- S3 paths for data storage
- Default scorers and metrics
.pre-commit-config.yaml: Pre-commit hooks configuration.markdownlint.yml: Markdown linting rulespyproject.toml: Project metadata and tool configurations