How it works
Startup flow
When PrivateGPT starts, it:
- Loads
settings.yamland any additional profiles specified inPGPT_PROFILES. - Calls
GET /v1/modelson your LLM server and registers all returned models automatically. - Applies smart defaults to each discovered model (128k context window, tool use, vision).
- Starts the API server on port
8080.
No config file is required for basic use — auto-discovery handles everything.
Configuration profiles
For full control over model settings (tokenizer, context window, sampling parameters), use YAML profiles. A profile is a file named settings-{name}.yaml placed in the project root.
Load one or more profiles at startup:
Profiles are merged in order on top of the base settings.yaml — later ones override earlier ones.
Check Settings & Profiles for more detail.
Generating a profile
With your LLM server running, auto-generate a profile from the discovered models:
Then edit settings-model.yaml to tune tokenizer, context window, and sampling parameters. See Detailed Model Configuration for a full walkthrough.
Model discovery
On startup PrivateGPT queries your LLM server for available models. Every model returned is registered and available immediately via GET /v1/models.
To disable auto-discovery and manage models manually:

