AnalyzeQuestion is an advanced AI-powered platform designed to help developers, students, and competitive programmers efficiently analyze and solve complex coding challenges using cutting-edge Retrieval-Augmented Generation (RAG) technology.
- 🤖 RAG-Powered Analysis: Uses retrieval-augmented generation for context-aware problem analysis
- 🎯 Pattern Detection: Identifies algorithmic patterns and data structures efficiently
- 📊 Difficulty Assessment: Accurately assesses problem difficulty based on historical data
- 📝 Step-by-Step Approach: Provides detailed solution approaches tailored to each problem
- 🌙 Dark/Light Mode: Beautiful, responsive UI with theme toggle functionality
- 💾 History Tracking: Saves analyzed problems for future reference and RAG context
- Backend: FastAPI (Python)
- AI Processing: Ollama with Mistral model
- Database: SQLite with RAG implementation
- Frontend: HTML5, CSS3, JavaScript (Vanilla)
- Deployment: Uvicorn ASGI server
Follow these steps to set up and run AnalyzeQuestion:
-
Clone the Repository
git clone https://github.com/Yuvakunaal/AnalyzeQuestion.git cd AnalyzeQuestion (or) open vscode - open this folder -
Download Ollama
- Visit the Ollama website and download the application.
- Open your terminal and run:
ollama pull mistral:instruct
- The Ollama model is now downloaded on your system.
-
Create a Virtual Environment (venv)
- For Windows:
python -m venv venv venv\Scripts\activate
- For Mac/Linux:
python3 -m venv venv source venv/bin/activate
- For Windows:
-
Install Dependencies
pip install -r requirements.txt
-
Run the Application
uvicorn app:app --reload
-
Open Browser : Navigate to http://127.0.0.1:8000/
-
Start using AnalyzeQuestion to analyze your coding problems!
- Input Problem: Paste your coding problem into the text area
- AI Analysis: Our RAG system retrieves context from similar past problems
- Pattern Recognition: The AI identifies relevant algorithms and data structures
- Solution Generation: Step-by-step approach is generated with optimal efficiency
- Results Display: Clean, organized presentation of patterns, difficulty, and approach
Input a coding problem like: "Given an array of integers, find the maximum sum of a contiguous subarray."
Get analysis results:
- Patterns: Kadane's Algorithm, Dynamic Programming
- Difficulty: Medium
- Approach:
- Initialize variables to track current and maximum sum
- Iterate through the array, updating current sum
- Reset current sum if it becomes negative
- Update maximum sum when current sum is greater
- Retrieval-Augmented Generation: Enhances AI responses with context from past problems
- Adaptive Learning: Improves over time as more problems are analyzed
- Enterprise-Ready Architecture: Scalable backend with efficient processing
- Responsive Design: Works seamlessly on desktop and mobile devices
Kunaal - GenAI, AI, Python Enthusiast
- Ollama team for the excellent local LLM framework
- FastAPI for the high-performance web framework
- The open-source community for various libraries and tools
⭐ If you like this project, please support by starring the repository!