Skip to main content
LLM provider wrappers are the simplest way to add tracing to your LLM calls. Wrap your provider client once and every API call is automatically traced — no other code changes required. The wrapper returns the same client type with tracing injected. Your existing code continues to work identically. All wrappers automatically capture: input messages, output messages, model name, token usage, model parameters, streaming support, time-to-first-token for streaming, and error details.

Comparison

Install only the provider extras you use so dependency resolution stays minimal.

Quick example

Python
Use the returned client exactly as before—supported calls are traced automatically.
Wrappers work seamlessly with manual instrumentation. If a wrapper call happens inside a pandaprobe.start_trace() or @pandaprobe.trace context, the LLM span is automatically nested as a child span.

Provider guides

OpenAI

Chat Completions and Responses API, streaming, and tool spans

Anthropic

Messages API, streaming patterns, and extended thinking

Google Gemini

generate_content, async, streaming, and thinking mode

Mistral AI

Chat completions, async, and streaming

LiteLLM

Unified completion across 100+ providers, async, streaming, and proxy

AWS Bedrock

Converse and InvokeModel APIs, streaming, and aioboto3 support