PageLM  by CaviraOSS

AI education platform transforming study materials into interactive learning experiences

Created 2 months ago
405 stars

Top 71.7% on SourcePulse

GitHubView on GitHub
Project Summary

PageLM is an open-source AI-powered education platform designed to transform study materials into interactive learning resources. It caters to students, educators, and researchers, aiming to enhance learning efficiency by generating quizzes, flashcards, structured notes, and podcasts from uploaded documents. The platform offers a modern interface and leverages state-of-the-art LLMs and TTS systems to create engaging and personalized study experiences.

How It Works

PageLM processes various document formats (PDF, DOCX, Markdown, TXT) to create interactive learning tools. Its core approach involves using LLMs for tasks like contextual chat, automatic Cornell-style note generation (SmartNotes), flashcard extraction, and quiz creation with scoring and hints. It also features an AI Podcast generator to convert notes into audio content and a Voice Transcribe tool for lecture recordings. The platform supports multiple LLM providers and TTS engines, allowing for flexible integration and real-time generation via WebSocket streaming.

Quick Start & Requirements

  • Prerequisites: Node.js v21.18+, npm or pnpm, ffmpeg (for podcast audio), Docker (optional).
  • Local Development: Clone the repository, install backend and frontend dependencies (npm install), copy .env.example to .env and configure API keys. Run backend (npm run dev) and frontend (npm run dev) in separate terminals.
  • Docker Deployment: Use docker compose up --build for development or docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build for production.
  • Access: Local development access is typically at http://localhost:5173.
  • Demo Site: Available at https://pagelm.spotit.dev.

Highlighted Details

  • Learning Tools: Contextual Chat, SmartNotes, Flashcards, Quizzes, AI Podcast, Voice Transcribe, Homework Planner, ExamLab, Debate.
  • Supported AI Models: Google Gemini, OpenAI GPT, Anthropic Claude, xAI Grok, Ollama (local), OpenRouter.
  • Supported TTS Engines: Edge TTS, ElevenLabs, Google TTS.
  • Technical Highlights: WebSocket streaming for real-time generation, JSON or vector database support, Markdown-based outputs, configurable multi-provider LLM and TTS setup.

Maintenance & Community

The project is community-driven with a Discord server available for discussions and support (https://discord.gg/P7HaRayqTh). Contributions are welcomed via standard GitHub pull requests. Areas for contribution include AI model integrations, mobile app support, performance improvements, and documentation.

Licensing & Compatibility

The project is licensed under the "CaviraOSS Community License". It is free for personal and educational use, allowing sharing and modification. Commercial use or resale requires prior written permission from CaviraOSS.

Limitations & Caveats

Commercial use is restricted without explicit permission. The README does not detail specific performance benchmarks, known bugs, or unsupported platforms beyond the general license restrictions.

Health Check
Last Commit

1 week ago

Responsiveness

Inactive

Pull Requests (30d)
16
Issues (30d)
4
Star History
211 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.