InceptBench
Educational content evaluation framework using LLM-based analysis.
Website • Benchmarks • API Endpoint • API Docs • GitHub
Overview
InceptBench evaluates educational content across multiple quality dimensions:
- Automated Classification - Determines content type (question, quiz, reading, etc.)
- Hierarchical Evaluation - Decomposes complex content and evaluates bottom-up
- Comprehensive Metrics - 8-11 metrics per content type with scores and reasoning
- Curriculum-Aware - Integrates curriculum standards via vector store search
Installation
pip install inceptbench
System Dependencies
InceptBench requires system-level Cairo libraries for inline SVG image analysis. Without these, SVG images in educational content will not be analyzed.
macOS:
brew install cairo pango gdk-pixbuf libffi
Ubuntu/Debian:
sudo apt-get install -y libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev
Windows: Follow the GTK3 installer for Windows or install via MSYS2:
pacman -S mingw-w64-x86_64-cairo mingw-w64-x86_64-pango mingw-w64-x86_64-gdk-pixbuf2
CLI Usage
# Create sample input file
inceptbench example
# Evaluate from JSON file
inceptbench evaluate content.json
# Evaluate raw content
inceptbench evaluate --raw "What is 2+2? A) 3 B) 4 C) 5 D) 6"
# Save results to file
inceptbench evaluate content.json -o results.json
# Check version
inceptbench --version
REST API
The production API is available at https://api.inceptbench.com
# Health check
curl https://api.inceptbench.com/health
# Interactive docs
# Visit: https://api.inceptbench.com/docs
# Evaluate content
curl -X POST https://api.inceptbench.com/evaluate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-api-key" \
-d '{"generated_content": [{"content": "What is 2+2? A) 3 B) 4 C) 5 D) 6"}]}'
Programmatic Usage (Python)
import asyncio
from inceptbench import EvaluationService
async def main():
service = EvaluationService()
result = await service.evaluate(
content="What is 2+2? A) 3 B) 4 C) 5 D) 6",
curriculum="common_core"
)
print(f"Score: {result.overall.score:.2f}")
asyncio.run(main())
Input Format
{
"generated_content": [
{
"id": "q1",
"curriculum": "common_core",
"request": {
"grade": "7",
"subject": "mathematics",
"type": "mcq",
"difficulty": "medium",
"locale": "en-US",
"skills": {
"lesson_title": "Congruent and Similar Triangles",
"substandard_id": "CCSS.MATH.CONTENT.7.G.A.1+3"
},
"instruction": "A real-world problem involving congruent and similar triangles"
},
"content": "Triangle ABC is similar to triangle DEF. If AB = 6 cm and DE = 9 cm, what is the ratio of their corresponding sides?"
}
]
}
Content Item Fields
| Field | Required | Default | Description |
|---|---|---|---|
content |
Yes | - | Content to evaluate (string or JSON) |
id |
No | Auto-generated | Unique identifier |
curriculum |
No | common_core |
Curriculum for alignment |
request |
No | null |
Generation metadata (see below) |
Request Metadata Fields (all optional)
| Field | Description |
|---|---|
grade |
Grade level (e.g., "7", "K", "12") |
subject |
Subject area (e.g., "mathematics", "english") |
type |
Content type (e.g., "mcq", "fill-in", "article") |
difficulty |
Difficulty level (e.g., "easy", "medium", "hard") |
locale |
Locale/language code (e.g., "en-US", "es-MX") |
skills |
Skills info (JSON object or string) |
instruction |
Generation instruction/prompt |
Images
Images are automatically detected from content. Include as:
- Direct URLs:
https://example.com/image.png - Markdown:
 - HTML:
<img src="https://example.com/image.png"> - Inline SVG:
<svg>...</svg>(requires Cairo system libraries, see System Dependencies)
Content Types
The evaluator automatically classifies content into:
| Type | Description |
|---|---|
question |
Single educational question |
quiz |
Multiple questions together |
fiction_reading |
Fictional narrative passages |
nonfiction_reading |
Informational passages |
other |
General educational content |
Documentation
For complete documentation, input format details, and developer guides:
View Full Documentation on GitHub
License
Proprietary - Copyright Trilogy Education Services
Release files for inceptbench 2.7.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| inceptbench-2.7.8.tar.gz | 9.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| inceptbench-2.7.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.8 MB
Release files / inceptbench-2.7.8.tar.gz
| Download URL | inceptbench-2.7.8.tar.gz |
|---|---|
| Size | 9.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0be7cb5ed2756e95e9d120d6aa07ef76b6da2ca719276dc701570c034386f8e3
|
|
BLAKE2b-256 checksum How to use checksums |
5629419857df93e8bc763aad25605150fb3604051fb7526ac9546aa83b11a3dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.1 CPython/3.13.0 Darwin/25.1.0
|
Release files / inceptbench-2.7.8-py3-none-any.whl
| Download URL | inceptbench-2.7.8-py3-none-any.whl |
|---|---|
| Size | 10.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9dea71da4b93e10a99aaf368121fd6b149e592d83069177718055cdd9f1c1d7d
|
|
BLAKE2b-256 checksum How to use checksums |
10b59141730f7238a8ff2111f64562a786d8448eb6015337b4f2337aaa38ea5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.1 CPython/3.13.0 Darwin/25.1.0
|