Framework coverage is rolling out. Check the SDK release notes for the current
list of supported frameworks and exact signatures.
Wrapping a client
The simplest integration is to wrap the LLM client your agent already uses.
Visceral observes the traffic and never alters the response:
import visceral
from openai import OpenAI
client = visceral.wrap(OpenAI())
Use the wrapped client exactly as you used the original.
Instrumenting a framework
If your agent is built on a framework (for example LangChain or LangGraph),
Visceral can instrument it directly so you don’t have to wrap each client by hand:
import visceral
visceral.instrument() # illustrative — see release notes for supported frameworks
Fail open
However you integrate, the guarantee is the same: if Visceral’s backend is
unreachable, instrumented calls fall through to the underlying provider unchanged.
Instrumentation can never be the reason a call fails. See
How it works.