AI-assisted content generation that's deterministic, reproducible, and production-ready. auto-sme uses templates, LLMs, and QA validation to generate structured documents (e.g., educational units) end-to-end.
- 📝 Template-Driven — Jinja2 templates ensure consistent structure every time
- 🤖 LLM Integration — Fills content using OpenAI or Ollama
- 📄 PDF Generation — WeasyPrint produces print-ready, styled PDFs
- ✅ QA Validation — Automated checks for page counts, vocabulary, multiple choice questions
- 🎨 Asset Generation — SVGs, NGSS alignment, differentiation notes
- 🐳 Docker Ready — One-command pipeline execution
git clone https://github.com/GBOYEE/auto-sme.git
cd auto-sme
pip install -e .
auto-sme generate -t templates/earth_science_water_cycle.j2 -o water_cycle.pdf- Template Loading — Jinja2 defines document structure
- Content Generation — LLM fills placeholders via prompts
- Assembly — Insert content into template
- PDF Generation — WeasyPrint renders HTML to PDF
- QA Validation — Checks page counts, vocab terms, MC counts
- Asset Generation — Creates diagrams, alignment notes
See docs/architecture.md for details.
| Component | Technology |
|---|---|
| Templates | Jinja2 |
| LLM | OpenAI / Ollama |
| WeasyPrint (CSS-based) | |
| QA | Custom validators (coverage, structure) |
| DevOps | Docker, CI |
pytest tests/ -v --cov=auto_smeCI runs lint, type-check, tests, and coverage upload on every push.
- More output formats (EPUB, DOCX)
- Interactive template builder (web UI)
- Multi-language support
- Cloud storage backends (S3, GCS)
- Collaborative template editing
We need help with:
- New template examples (different subjects)
- QA validators for new content types
- PDF styling improvements
- Performance optimizations for large documents
See CONTRIBUTING.md.
MIT — see LICENSE.
Built by Oyebanji Adegboyega • Portfolio • @Gboyee_0
