Installation
Follow these steps to install Quest and set up the required dependencies.Prerequisites
Before installing Quest, ensure you have the following installed:- Python 3.8+ - Quest requires Python 3.8 or higher
- Git - For cloning the repository
- Ollama - For running local language models (we’ll install this in the next section)
Installation steps
Clone the repository
Clone the Quest repository from GitHub:This downloads the complete Quest codebase including the Flask app, RAG engine, and pre-built HNSW index.
Install Python dependencies
Install all required Python packages using pip:This installs the following key dependencies:
- faiss-cpu - Fast similarity search library
- sentence-transformers - For encoding queries and documents
- flask - Web framework for the API
- torch - PyTorch for ML models
- transformers - Hugging Face transformers library
- requests - For Ollama API communication
- numpy and pandas - Data processing libraries
The installation may take several minutes as it downloads pre-trained models and compiles native extensions.
Unzip the solutions dataset
Extract the pre-generated solutions dataset:This extracts 1800+ JSON solution files to the components directory. Each file contains:
- Problem title and description
- Complete solution code
- Difficulty level (Easy, Medium, Hard)
- Related topics (Arrays, Dynamic Programming, etc.)
- Companies that ask the problem
The solutions were generated using
qwen2.5-coder:1.5b and manually enriched with metadata.Verify Python imports
Test that the core components can be imported:Directory structure
After installation, your Quest directory should look like this:Troubleshooting
ImportError: No module named 'faiss'
ImportError: No module named 'faiss'
This means FAISS wasn’t installed correctly. Try:If you have a GPU and want to use FAISS-GPU:
FileNotFoundError: leetcode_hnsw2.index not found
FileNotFoundError: leetcode_hnsw2.index not found
The HNSW index file is missing. Make sure you:
- Cloned the complete repository (not just downloaded specific files)
- Didn’t delete or move files from
src/DSAAssistant/components/
UnpicklingError when loading metadata
UnpicklingError when loading metadata
This usually means the pickle file was corrupted or created with a different Python version. Try:
- Re-clone the repository to get a fresh copy
- Ensure you’re using Python 3.8 or higher
- Check that numpy versions match (the pickle was created with numpy >= 1.24.0)
Torch/CUDA errors on import
Torch/CUDA errors on import
Quest uses PyTorch for the sentence transformer models. If you see CUDA errors:
- Quest works fine with CPU-only PyTorch
- To use CPU explicitly:
pip install torch --index-url https://download.pytorch.org/whl/cpu - For GPU support, install the appropriate CUDA version of PyTorch from pytorch.org
Next steps
Now that Quest is installed, you’ll need to set up Ollama and pull the required language models.Quickstart guide
Set up Ollama, pull models, and run your first query