An intelligent research companion that combines LangGraph agents, MCP tools, and advanced AI to accelerate academic research workflows and student learning.
EduAssist bridges the gap between fragmented research tools by providing a unified platform for academic paper discovery, content analysis, course recommendations, and intelligent Q&A β all powered by memory-enabled conversation that adapts to your research focus.
- π¬ Features
- ποΈ Architecture
- π Quick Start
- βοΈ Configuration
- π οΈ Usage
- π Research Capabilities
- π€ Contributing
- π License
- β FAQ
- arXiv Paper Discovery: Search, extract, and analyze academic papers with automatic metadata storage
- Citation Management: Organize research papers with JSON metadata for easy reference
- Paper Summarization: AI-powered extraction of key insights, methodologies, and findings
- YouTube Transcript Extraction: Process educational videos and lectures for research analysis
- Web Research Integration: Fetch and analyze academic websites and documentation
- NPTEL Course Discovery: Semantic search through pre-embedded course datasets
- Persistent Context: Remember research topics and ongoing investigations across sessions
- Adaptive Learning: Personalize recommendations based on research history
- Cross-Reference Tracking: Maintain connections between papers, concepts, and research threads
EduAssist/
βββ Config/
β βββ .env # Environment variables and API keys
βββ Data/
β βββ nptel_courses_with_embeddings.xlsx
βββ agent_orchestrator.py # LangGraph ReAct agent with memory
βββ course_retriever.py # NPTEL semantic search engine
βββ main.py # Streamlit research interface
βββ research_mcp.py # arXiv paper discovery & extraction
βββ youtube_mcp.py # Academic video transcript extraction
βββ requirements.txt # Python dependencies
βββ README.md # Project documentation
- Memory-Enabled Agent: LangGraph ReAct agent with MemorySaver for persistent research context
- MCP Integration: Model Context Protocol servers for seamless tool communication
- Semantic Search Engine: SentenceTransformer-based recommendations with cosine similarity
- Interactive UI: Streamlit interface with real-time processing and debug capabilities
Before you begin, ensure you have the following installed:
- Python 3.8 or higher
- pip package manager
- Git
- Clone the repository
git clone https://github.com/zeeshanparwez/EduAssist.git
cd EduAssist- Install dependencies
pip install -r requirements.txt- Install uv for MCP server management
curl -LsSf https://astral.sh/uv/install.sh | sh- Create environment file
mkdir Config
touch Config/.env- Add your API credentials to
Config/.env
GOOGLE_API_KEY=your_google_generative_ai_key_here
COURSE_DATA_PATH=/absolute/path/to/nptel_courses.xlsx- Prepare course data (Optional)
- Download or prepare NPTEL course dataset with pre-computed embeddings
- Ensure Excel file contains:
embedding,course_name,url,descriptioncolumns [attached_file:4]
streamlit run main.pyThe application will be available at http://localhost:8501
| Variable | Description | Required |
|---|---|---|
GOOGLE_API_KEY |
Google Generative AI API key for Gemini model | β Yes |
COURSE_DATA_PATH |
Absolute path to NPTEL courses Excel file | β Yes |
Your NPTEL course dataset should include these columns:
embedding: Pre-computed sentence embeddings (JSON array format)course_name: Course title for displayurl: Direct course linkdescription: Course summary for semantic matching
- Launch the application using
streamlit run main.py - Wait for initialization to complete (tools will appear in sidebar)
- Start asking research questions in natural language
Paper Discovery: "Find recent papers on neural networks for natural language processing"
Course Recommendations: "Suggest NPTEL courses related to machine learning and AI"
Video Analysis: "Extract transcript from this YouTube lecture: [URL]"
Multi-Modal Research: "Research transformer architectures, find papers and related courses"
- Automated Search: Query arXiv database with natural language
- Metadata Extraction: Automatic paper information parsing and storage
- Citation Tracking: Organize research with JSON-based reference system
- Educational Video Processing: Extract and analyze YouTube lecture content
- Web Research Tools: Fetch academic websites and documentation
- Course Discovery: Find relevant educational content using semantic similarity
- Session Persistence: Maintain research context across multiple interactions
- Adaptive Recommendations: Learn from research patterns and preferences
- Knowledge Graph: Build connections between papers, concepts, and resources
We welcome contributions from the research community! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes and test thoroughly
- Submit a pull request with detailed description
- Enhanced citation network analysis
- Multi-language academic content support
- Advanced research visualization tools
- Integration with institutional repositories
- Follow PEP 8 Python style guidelines
- Add docstrings to all functions and classes
- Include unit tests for new features
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
Q: What makes EduAssist different from other research tools?
A: EduAssist combines multiple research workflows into a single memory-enabled AI assistant, providing contextual recommendations and maintaining research continuity across sessions.
Q: Do I need programming knowledge to use EduAssist?
A: No! EduAssist provides a user-friendly Streamlit interface that requires no programming experience.
Q: How does the memory system work?
A: EduAssist uses LangGraph's MemorySaver to maintain conversation context and research history across sessions.
Q: Can I add custom research sources?
A: Yes, the MCP architecture allows for easy integration of additional research tools and databases.
Q: What if initialization fails?
A: Check your API keys, network connection, and use the built-in Retry button in the interface. Debug logs are available in the sidebar.
Q: How is my research data stored?
A: Research data is stored locally in JSON format. No personal research information is sent to external services beyond necessary API calls.
Q: Is my conversation history private?
A: Yes, all conversation memory is stored locally using LangGraph's MemorySaver system.
Transform your research workflow with AI-powered discovery, analysis, and synthesis. Start exploring the future of academic research today!
For questions and support, please open an issue or contact the development team.
