Observability

PrivateGPT can emit traces for every LLM call, embedding request, and retrieval step. Set observability.mode in settings.yaml or in a profile such as settings-local.yaml to choose a backend.

This feature requires to have the observability extra enabled in your application. If you are adding storage to an existing application, make sure to run the sync command after enabling the module:

$uv sync --inexact observability
ModeDescription
noneNo tracing (default)
simpleConsole logs via LlamaIndex’s built-in handler
arize_phoenixSend OpenTelemetry traces to Arize Phoenix
opikSend traces to Opik
1observability:
2 mode: arize_phoenix # none | simple | arize_phoenix | opik

Arize Phoenix

Arize Phoenix is an open-source observability platform for LLM applications. It visualises traces, spans, token counts, latency, and retrieval quality.

For installation instructions see the Phoenix docs.

Put this in your settings file or in a profile such as settings-local.yaml. If you need to create a new settings file or profile first, see Settings Files.

1observability:
2 mode: arize_phoenix
3
4phoenix:
5 url: http://localhost:6006

Traces are sent to <phoenix.url>/v1/traces via OpenTelemetry OTLP over HTTP.


Opik

Opik is an LLM observability platform by Comet. It can run fully self-hosted.

For installation instructions see the Opik docs.

Put this in your settings file or in a profile such as settings-local.yaml. If you need to create a new settings file or profile first, see Settings Files.

1observability:
2 mode: opik
3
4opik:
5 host: http://localhost:5173/
6 workspace: default
7 project_name: private-gpt