Settings & Profiles
Settings & Profiles
PrivateGPT is configured through YAML settings files. The base file is settings.yaml at the project root. Additional profiles can be layered on top to override or extend the base config.
Profiles
A profile is a file named settings-{name}.yaml. Activate one or more profiles at startup by setting PGPT_PROFILES:
Multiple profiles are merged in order — later profiles override earlier ones:
This loads settings.yaml, then merges settings-model.yaml, then settings-local.yaml on top.
The typical use case is a settings-model.yaml generated by make auto-discover-models that defines your LLM and embedding models without modifying the base config.
Environment variable expansion
Any value in a settings file can reference an environment variable:
The syntax is ${VARIABLE_NAME:default_value}. If the variable is not set, the default is used. Variables with no default will raise an error at startup if unset.
Settings folder
By default, PrivateGPT looks for settings files in the project root. Override this with:

