Scholaris is an agentic AI web application designed to transform passive reading into active, effective learning. It takes your personal documents, lecture notes, or academic papers and converts them into a suite of interactive exercises to help you master any subject.
- Secure User Management: Full authentication system powered by Auth0, ensuring each user's data is private and secure.
- Dynamic Document Library:
- File Uploads: Upload your own PDF, DOCX, or TXT files.
- Arxiv Integration: Search for and process the latest academic papers directly from Arxiv without leaving the app.
- Library Management: Easily view and remove processed documents from your personal library.
- Interactive Learning Modules:
- Multiple Choice Quizzes: Generate custom quizzes based on one or more documents, with instant feedback and source references.
- Sentence Completion: Test your recall of key terms and phrases from your material.
- AI-Graded Q&A: Answer open-ended questions generated from your documents and receive a semantic similarity score against an AI-generated ideal answer.
- AI-Powered Summarization: Create concise, markdown-formatted summaries of dense documents and save them back to your library to enrich the source material.
- Personalized Progress Tracking:
- User Dashboard: View detailed metrics on your performance, including average scores and total exercises completed.
- GitHub-Style Activity Calendar: Visualize your daily study performance and track your learning streaks.
- Log In: Create an account or log in securely using Auth0.
- Provide API Key: Enter your Google API Key for the session to enable the AI features (To ensure transparency, the API Key is retained only in the active user's session)
- Build Your Library: Navigate to the Library Management page to upload your own files or search Arxiv for relevant papers.
- Generate Exercises: Go to any of the learning modules (e.g., Multiple Choice Quiz), select the document(s) you want to study, and generate a new exercise set.
- Learn & Review: Complete the exercises, get instant feedback and scores, and track your overall progress on the dashboard.
- Frontend: Streamlit
- Backend / AI Orchestration: LangChain
- Generative AI: Google Gemini
- Authentication: Auth0
- Vector Embeddings: sentence-transformers
- Vector Storage: FAISS (local storage)
- Academic Papers: Arxiv Python Library
Follow these steps to get a local copy up and running.
- Python 3.9+
- An Auth0 account
- A Google API Key
-
Clone the repository:
git clone https://github.com/your-username/scholaris.git cd scholaris -
Create a virtual environment:
python \-m venv venv source venv/bin/activate \# On Windows, use \`venv\\Scripts\\activate\` -
Install dependencies:
pip install \-r requirements.txt -
Configure your secrets:
- Create a file at .streamlit/secrets.toml.
- Add your credentials in the following format:
\[auth\] redirect\_uri \= "http://localhost:8501" logout\_uri \= "http://localhost:8501" \# Or your Auth0 logout URL \[auth.auth0\] domain \= "YOUR\_AUTH0\_DOMAIN" client\_id \= "YOUR\_AUTH0\_CLIENT\_ID" client\_secret \= "YOUR\_AUTH0\_CLIENT\_SECRET"
-
Configure your Auth0 Application:
- In your Auth0 dashboard, ensure that http://localhost:8501 is added to both Allowed Callback URLs and Allowed Logout URLs.
-
Run the application:
streamlit run Home\ Page.py
- Cloud Backend Integration: Migrate from local file storage to a robust cloud backend like Supabase or a combination of a vector database like Qdrant and a SQL database.
- Advanced Learning Modules:
- Implement an automated Flashcard Deck with a Spaced Repetition System (SRS).
- Add Concept Mapping to visually connect key ideas within documents.
- Fine-tuned Models: Better models used on specific exercises
- Agent with Tools-calling: Implement tools-calling to better handle documents processing, information searching
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.