https://github.com/shaadclt/socratic-learning-assistant
This is an AI-powered learning assistant designed to help users explore and understand data structures (such as arrays, trees, graphs, and linked lists) using the Socratic method. Built using Streamlit and Google Generative AI (Gemini 1.5 Pro), the assistant guides learners by asking probing questions rather than providing direct answers.
https://github.com/shaadclt/socratic-learning-assistant
gemini-pro socratic-method streamlit
Last synced: 3 months ago
JSON representation
This is an AI-powered learning assistant designed to help users explore and understand data structures (such as arrays, trees, graphs, and linked lists) using the Socratic method. Built using Streamlit and Google Generative AI (Gemini 1.5 Pro), the assistant guides learners by asking probing questions rather than providing direct answers.
- Host: GitHub
- URL: https://github.com/shaadclt/socratic-learning-assistant
- Owner: shaadclt
- License: mit
- Created: 2024-10-23T17:26:50.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-10-23T17:37:48.000Z (12 months ago)
- Last Synced: 2025-04-10T01:11:40.251Z (6 months ago)
- Topics: gemini-pro, socratic-method, streamlit
- Language: Python
- Homepage:
- Size: 10.7 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Socratic Learning Assistant for Data Structures ðŸ§
This is an AI-powered learning assistant designed to help users explore and understand data structures (such as arrays, trees, graphs, and linked lists) using the Socratic method. Built using Streamlit and Google Generative AI (Gemini 1.5 Pro), the assistant guides learners by asking probing questions rather than providing direct answers, encouraging deeper understanding.## Features
- **Socratic Teaching:** The assistant responds to user input by asking follow-up questions, helping learners arrive at the correct conclusions on their own.
- **Conversation Memory:** The assistant remembers the context of the conversation and uses it to ask relevant, connected questions throughout the interaction.
- **Simple Interface:** The user-friendly Streamlit-based interface makes interacting with the assistant intuitive and engaging.
- **Powered by Google Generative AI:** Utilizing the latest in AI technology (Gemini 1.5 Pro), the assistant provides intelligent, context-aware responses to guide learning.## Installation
1. **Clone the repository:**```bash
git clone https://github.com/shaadclt/Socratic-Learning-Assistant.git
cd Socratic-Learning-Assistant
```2. **Create a virtual environment and activate it:**
```bash
python -m venv env
source env/bin/activate # On Windows, use `env\Scripts\activate`
```3. **Install the required dependencies:**
```bash
pip install -r requirements.txt
```4. **Set up your Google API key in the Streamlit secrets file.**
Create a `.streamlit/secrets.toml` file and add your API key:```toml
[GOOGLE_API_KEY]
GOOGLE_API_KEY = "your-google-api-key-here"
```5. Running the App
To launch the app, run:
```bash
streamlit run app.py
```The app will be available at http://localhost:8501.
## Usage
1. Type any question related to data structures in the input field.
2. The assistant will respond with a follow-up question, guiding you through the learning process.
3. Continue the conversation to explore different concepts, clarify doubts, and deepen your understanding.## Customization
You can modify the Socratic teaching style or add more features by customizing the LangChain prompt and memory settings in the code.## Contributing
Contributions are welcome! Please fork the repository and submit a pull request to improve the app or add new features.## License
This project is licensed under the [MIT License](LICENSE.txt).