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

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 (beta)

Converse and InvokeModel APIs, streaming, and aioboto3 support