Ask questions about your own documents using an LLM that never sends anything to the cloud accelerated by your NVIDIA GPU through WSL.
Get it from GitHubOpens the official zylon-ai/private-gpt repository
Maintainer
zylon-ai
Cost
Free
Runs on
WSL Ubuntu
Difficulty
Advanced
Install WSL with Ubuntu
From an admin PowerShell: wsl --install -d Ubuntu-22.04. Restart when prompted.
Update your NVIDIA driver on Windows (not inside WSL)
Get the latest driver from nvidia.com/drivers — it's what exposes your GPU to WSL, and you should NOT install a separate Linux driver inside WSL itself.
Update Ubuntu and install build tools
sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential
Clone the repository
git clone https://github.com/zylon-ai/private-gpt cd private-gpt
Set up pyenv for a clean Python version
sudo apt-get install git gcc make openssl libssl-dev \ libbz2-dev libreadline-dev libsqlite3-dev zlib1g-dev \ libncursesw5-dev libgdbm-dev libc6-dev tk-dev libffi-dev curl https://pyenv.run | bash
Add pyenv to your PATH per its install output, then restart your shell.
Install Poetry and project dependencies
curl -sSL https://install.python-poetry.org | python3 - poetry install --extras "ui llms-llama-cpp vector-stores-qdrant embeddings-huggingface"
Build llama-cpp-python with CUDA enabled
CMAKE_ARGS="-DLLAMA_CUBLAS=on" poetry run pip install --force-reinstall --no-cache-dir llama-cpp-python
This is the step that actually wires GPU acceleration in — skipping it means CPU-only inference.
Download the default model and launch
poetry run python scripts/setup make run
Watch the startup log for BLAS = 1 — that confirms the GPU is actually being used.
Open the UI
Visit http://127.0.0.1:8001 in your Windows browser — WSL forwards the port automatically.
Re-run the CMAKE_ARGS install step
It's the single most-skipped step — if llama-cpp-python was already installed without it, a plain reinstall won't fix it; you need --force-reinstall --no-cache-dir.
Confirm WSL sees your GPU
Run nvidia-smi inside WSL — if it errors, the Windows-side driver isn't exposing the GPU correctly; reinstall it and restart WSL with wsl --shutdown.
Check your Poetry extras match your use case
Newer PrivateGPT versions replaced the old --with local flag with explicit --extras — make sure llms-llama-cpp is included.