@ankurpm/evalschool
v1.0.8
Published
Interactive CLI for learning LLM evaluations - like Gemini CLI but for evals
Maintainers
Readme
EvalSchool CLI
Master LLM Evaluations in Your Terminal
An interactive CLI for learning LLM evaluations hands-on. Built like Gemini CLI and Claude CLI — beautiful terminal UI, step-by-step lessons, live exercises, and progress tracking.
╔═════════════════════════════════════════════════════════════════╗
║ ║
║ EVALSCHOOL ║
║ Master LLM Evaluations ║
║ ║
╚═════════════════════════════════════════════════════════════════╝Quick Start
# Install globally
npm install -g @ankurpm/evalschool
# Start learning
evalschoolFeatures
- 12 Interactive Lessons — Comprehensive curriculum across 4 modules
- Live Exercises — Run real Gemini API calls and see evaluation results
- Quizzes — Test your understanding after each topic
- Progress Tracking — Pick up where you left off
- Offline Mode — Works without API key using pre-computed examples
- Beautiful TUI — Polished terminal interface with colors, tables, and diagrams
Installation
Option 1: npm (Recommended)
npm install -g @ankurpm/evalschool
evalschoolOption 2: Homebrew (macOS/Linux)
# Add the tap and install
brew tap ankshvayt/evalschool
brew install evalschool
# Start learning
evalschoolUpdating:
brew update && brew upgrade evalschoolUninstalling:
brew uninstall evalschool
brew untap ankshvayt/evalschoolOption 3: From Source
git clone https://github.com/ankshvayt/evalschool.git
cd evalschool
npm install
npm run build
npm link
evalschoolUsage
Interactive Mode
evalschoolLaunches the full interactive experience with module selection, lessons, quizzes, and exercises.
Commands
| Command | Description |
|---------|-------------|
| evalschool | Interactive menu |
| evalschool lesson <id> | Jump to specific lesson (e.g., 1.1, 2.3) |
| evalschool setup | Configure Gemini API key |
| evalschool progress | View completion status |
| evalschool list | List all available lessons |
| evalschool --help | Show help |
| evalschool --version | Show version |
Examples
# Start from the beginning
evalschool lesson 1.1
# Jump to RAG evaluation
evalschool lesson 3.1
# Check your progress
evalschool progress
# Configure API for live exercises
evalschool setupCurriculum
Module 1: Foundations
| Lesson | Topic | |--------|-------| | 1.1 | Introduction to LLM Evaluations | | 1.2 | Environment Setup & Configuration | | 1.3 | Basic Evaluation Metrics |
Module 2: Core Metrics
| Lesson | Topic | |--------|-------| | 2.1 | Semantic Similarity & G-Eval | | 2.2 | Hallucination Detection | | 2.3 | Bias & Toxicity Detection |
Module 3: RAG Evaluation
| Lesson | Topic | |--------|-------| | 3.1 | RAG-Specific Metrics | | 3.2 | End-to-End RAG Evaluation |
Module 4: Advanced Techniques
| Lesson | Topic | |--------|-------| | 4.1 | Multi-Turn Conversation Evaluation | | 4.2 | Custom Metrics Development | | 4.3 | CI/CD Integration | | 4.4 | A/B Testing for LLMs |
API Key Setup
Many exercises include live API calls to demonstrate real evaluations. Get your free Gemini API key:
- Visit Google AI Studio
- Click "Get API Key"
- Copy your key
- Run
evalschool setupand paste it
Or set via environment variable:
export GEMINI_API_KEY=your_key_hereNote: The CLI works without an API key using pre-computed examples, but live exercises provide the best learning experience.
What You'll Learn
By completing all lessons, you'll master:
- ✅ LLM evaluation fundamentals and why they matter
- ✅ Answer relevancy, coherence, and fluency metrics
- ✅ Semantic similarity using embeddings
- ✅ G-Eval methodology with LLM judges
- ✅ Hallucination detection and mitigation
- ✅ Bias and toxicity scanning
- ✅ RAG-specific metrics (faithfulness, precision, recall)
- ✅ Multi-turn conversation evaluation
- ✅ Building custom evaluation metrics
- ✅ CI/CD integration with GitHub Actions
- ✅ A/B testing prompts with statistical rigor
Tech Stack
- TypeScript — Type-safe codebase
- Commander — CLI argument parsing
- Chalk — Terminal colors
- Conf — Local configuration storage
- @google/generative-ai — Gemini API SDK
Project Structure
evalschool-cli/
├── src/
│ ├── index.ts # Entry point
│ ├── cli.ts # Commander setup
│ ├── core/
│ │ ├── terminal.ts # TUI utilities
│ │ ├── config.ts # Progress & settings
│ │ └── gemini.ts # API integration
│ ├── ui/
│ │ └── menu.ts # Interactive menus
│ └── lessons/
│ ├── index.ts # Lesson registry
│ ├── m1_intro.ts # Module 1 lessons
│ ├── m2_semantic.ts # Module 2 lessons
│ ├── m3_rag_metrics.ts # Module 3 lessons
│ └── m4_*.ts # Module 4 lessons
├── package.json
├── tsconfig.json
└── README.mdDevelopment
# Install dependencies
npm install
# Build
npm run build
# Run in development
npm run dev
# Watch mode
npm run watch
# Link globally for testing
npm linkContributing
Contributions welcome! Please read our contributing guidelines before submitting PRs.
- Fork the repository
- Create a feature branch
- Make your changes
- Run
npm run buildto verify - Submit a pull request
Related Resources
License
MIT © ankshvayt
