---
title: "Quickstart"
description: "Get PrivateGPT running in under 5 minutes."
---
PrivateGPT connects to any OpenAI-compatible LLM server and exposes a private, self-hosted AI API. This guide gets you from zero to a running server in four steps.
**Prerequisites:** You need an OpenAI-compatible LLM server running locally. Pick one from the [Providers](/providers/overview) page — [Ollama](/providers/ollama) is the easiest way to start.
```bash
# Install uv first
curl -LsSf https://astral.sh/uv/install.sh | sh
# Then install PrivateGPT
uv tool install --python 3.11 \
--find-links https://wheels.privategpt.dev/packages/ \
"private-gpt[core]"
```
```bash
brew tap zylon-ai/tap
brew install private-gpt
```
```powershell
# Install uv first
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Then install PrivateGPT
uv tool install --python 3.11 `
--find-links https://wheels.privategpt.dev/packages/ `
"private-gpt[core]"
```
Start your server. PrivateGPT auto-discovers all available models on startup.
```bash
# Example: pull a model and start the server
ollama pull qwen3.5:35b # LLM (~24 GB)
ollama pull mxbai-embed-large # Embeddings (~670 MB)
# Start the server (runs on port 11434)
ollama serve
```
Ollama does not expose a tokenizer endpoint. PrivateGPT falls back to approximate token counting, which may affect context-window management. See [Ollama limitations](/providers/ollama#limitations).
1. Download and install [LM Studio](https://lmstudio.ai).
2. Load a model (e.g. `Qwen3-35B-A3B`).
3. In **Developer → Local Server**, set the chat model to your LLM and the **Embedding model** to something like `mxbai-embed-large`.
4. Click **Start Server** (default port: 1234).
See the [LM Studio provider guide](/providers/lmstudio) for full setup.
```bash
# Start the LLM server
llama-server \
--model qwen3-35b-a3b.gguf \
--port 8000
# Start a second server for embeddings
llama-server \
--model mxbai-embed-large-v1-f16.gguf \
--port 8001 \
--embeddings
```
See the [LlamaCPP provider guide](/providers/llamacpp) for download and build instructions.
```bash
# Start the LLM server
docker run --gpus all \
-p 8000:8000 \
vllm/vllm-openai:latest \
--model Qwen/Qwen3.5-35B-A3B-GPTQ-Int4
# Start a second server for embeddings
docker run --gpus all \
-p 8001:8000 \
vllm/vllm-openai:latest \
--model mixedbread-ai/mxbai-embed-large-v1 \
--task embed
```
See the [vLLM provider guide](/providers/vllm) for full setup. Requires an NVIDIA GPU.
Point PrivateGPT at your servers with `OPENAI_API_BASE` and `OPENAI_EMBEDDING_API_BASE`. Models are discovered automatically — no config file needed.
```bash
OPENAI_API_BASE=http://localhost:/v1 \
OPENAI_EMBEDDING_API_BASE=http://localhost:/v1 \
private-gpt serve
```
```powershell
$env:OPENAI_API_BASE = "http://localhost:/v1"
$env:OPENAI_EMBEDDING_API_BASE = "http://localhost:/v1"
private-gpt serve
```
```cmd
set OPENAI_API_BASE=http://localhost:/v1
set OPENAI_EMBEDDING_API_BASE=http://localhost:/v1
private-gpt serve
```
If startup succeeds, PrivateGPT will be available on port `8080`.
Navigate to [http://localhost:8080/ui](http://localhost:8080/ui) in your browser.
The API is available at `http://localhost:8080` and follows the Anthropic API spec. See the [API Reference](/api-reference/api-reference) for all endpoints.
---
## What's next?
If you plan to use database querying or web search tools, review the dependency guides in [Database Tools](/tools/database-tools) and [Web Tools](/tools/web-tools) to install the required drivers, OS libraries, and browser dependencies.
Run PrivateGPT with Docker for a fully isolated, production-ready setup.
Install from source with `core`, add extras only when needed, and use detailed model configuration.
Compare Ollama, LM Studio, LlamaCPP, and vLLM — feature matrix and limitations.
Explore all REST endpoints and start building your application.