LiteLLM
Learn about using Sentry for LiteLLM.
This integration connects Sentry with the LiteLLM Python SDK.
Once you've installed this SDK, you can use the Sentry AI Agents Monitoring, a Sentry dashboard that helps you understand what's going on with your AI requests.
Sentry AI Monitoring will automatically collect information about prompts, tools, tokens, and models. Learn more about the AI Agents Dashboard.
Install sentry-sdk
from PyPI with the litellm
extra:
pip install "sentry-sdk[litellm]"
Add LiteLLMIntegration()
to your integrations
list:
import sentry_sdk from sentry_sdk.integrations.litellm import LiteLLMIntegration sentry_sdk.init( dsn="https://examplePublicKey@o0.ingest.sentry.io/0example-org / example-project", # Set traces_sample_rate to 1.0 to capture 100% # of transactions for tracing. traces_sample_rate=1.0, # Add data like inputs and responses; # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info send_default_pii=True, integrations=[ LiteLLMIntegration(), ], )
Verify that the integration works by making a chat completion request to LiteLLM.
import sentry_sdk from sentry_sdk.integrations.litellm import LiteLLMIntegration import litellm sentry_sdk.init( dsn="https://examplePublicKey@o0.ingest.sentry.io/0example-org / example-project", traces_sample_rate=1.0, send_default_pii=True, integrations=[ LiteLLMIntegration(), ], ) response = litellm.completion( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "say hello"}], max_tokens=100 ) print(response.choices[0].message.content)
After running this script, the resulting data should show up in the AI Spans
tab on the Explore > Traces > Trace
page on Sentry.io.
If you manually created an Invoke Agent Span (not done in the example above), the data will also show up in the AI Agents Dashboard.
It may take a couple of moments for the data to appear in sentry.io.
The LiteLLM integration will connect Sentry with the supported LiteLLM methods automatically.
The supported functions are currently
completion
andembedding
(both sync and async).Sentry considers LLM inputs/outputs as PII (Personally identifiable information) and doesn't include PII data by default. If you want to include the data, set
send_default_pii=True
in thesentry_sdk.init()
call. To explicitly exclude prompts and outputs despitesend_default_pii=True
, configure the integration withinclude_prompts=False
as shown in the Options section below.
By adding LiteLLMIntegration
to your sentry_sdk.init()
call explicitly, you can set options for LiteLLMIntegration
to change its behavior:
import sentry_sdk from sentry_sdk.integrations.litellm import LiteLLMIntegration sentry_sdk.init( # ... # Add data like inputs and responses; # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info send_default_pii=True, integrations=[ LiteLLMIntegration( include_prompts=False, # LLM inputs/outputs will be not sent to Sentry, despite send_default_pii=True ), ], )
You can pass the following keyword arguments to LiteLLMIntegration()
:
include_prompts
:Whether LLM inputs and outputs should be sent to Sentry. Sentry considers this data personal identifiable data (PII) by default. If you want to include the data, set
send_default_pii=True
in thesentry_sdk.init()
call. To explicitly exclude prompts and outputs despitesend_default_pii=True
, configure the integration withinclude_prompts=False
.The default is
True
.
- LiteLLM: 1.77.0+
- Python: 3.8+
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").