An intelligent AI-powered academic support system that transforms learning materials into structured notes, mind maps, and practice questions. The Project is in progress. Feel free to follow FutureMind@BJTU
Academic Support System is a comprehensive AI-driven learning assistant built with Django. It leverages advanced AI technologies to help students and educators efficiently process academic materials, generate structured notes, create interactive mind maps, and generate practice questions.
- Multi-format Support: Handles PDF, Word (DOCX), and PowerPoint (PPTX) files
- Advanced Parsing: Extracts text content and preserves document structure
- Image Recognition: Processes embedded images and diagrams
- Structured Notes: Automatically generates well-organized, hierarchical notes
- Content Analysis: AI analyzes document content to identify key concepts
- Smart Summarization: Creates concise summaries while maintaining academic rigor
- Visual Learning: Converts notes into interactive mind maps
- Hierarchical Structure: Organizes information in logical hierarchies
- Export Options: Supports multiple export formats
- Multiple Question Types: Generates various question formats
- Difficulty Levels: Adapts question complexity based on content
- Customizable: Allows users to specify preferences
- Context-Aware Responses: AI understands document context
- Chapter-Specific Q&A: Use
@chapter_namesyntax for targeted questions - Content Modification: Intelligent editing and enhancement
- Python 3.8 or higher
- pip package manager
-
Clone Repository
git clone https://github.com/yourusername/zhiwu-qiming-academic-system.git cd academic_support_system -
Create Virtual Environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Configure API Keys
cp academic_support_system/config_template.py academic_support_system/config.py # Edit config.py with your API keys -
Setup Database
python manage.py migrate
-
Run Application
python manage.py runserver
-
Access System
- Open browser:
http://localhost:8000 - Use guest mode or create account
- Open browser:
- Upload Documents: Upload PDF, DOCX, or PPTX files (max 5MB)
- Generate Notes: Type "็ๆ็ฌ่ฎฐ" to create AI-generated notes
- Create Mind Maps: Click "ๆ็ปดๅฏผๅพ" for visual representation
- Generate Questions: Visit "ๅบ้ข" page for practice questions
- AI Q&A: Use
@chapter_namefor targeted questions
@Chapter_Name Your question here
Example: @Network_Basics What is TCP/IP protocol?
@Chapter_Name Modification request
Example: @Chapter_1 Please add more examples
- Django 5.2+: Web framework with robust ORM
- Django REST Framework: API development
- Channels: WebSocket support
- OpenAI API: GPT models for NLP
- Custom Prompts: Optimized for academic content
- Streaming Responses: Real-time generation
- PyMuPDF: PDF processing
- python-docx: Word documents
- python-pptx: PowerPoint files
API_KEY=your_openai_api_key
BASE_URL=https://api.openai.com/v1
DEFAULT_MODEL=your-model- Formats: PDF, DOCX, PPTX
- Max Size: 5MB
- Storage:
media/{user_id}/uploads/
# Run all tests
python test/test_runner.py
# Specific modules
python test/test_api_client.py
python test/test_note_generation.pyacademic_support_system/
โโโ core/ # Core functionality
โโโ notes/ # Note generation
โโโ mindmap/ # Mind map creation
โโโ questions/ # Question generation
โโโ users/ # User management
โโโ templates/ # HTML templates
โโโ static/ # Static files
โโโ media/ # User content
โโโ test/ # Test suite
โโโ api_client.py # AI API client
โโโ config_template.py # Configuration template
โโโ prompts.py # AI prompts
- Fork the repository
- Create feature branch:
git checkout -b feature/AmazingFeature - Commit changes:
git commit -m 'Add AmazingFeature' - Push to branch:
git push origin feature/AmazingFeature - Open Pull Request
MIT License - see LICENSE file for details.