跳至主要內容

Sentry

提示

這是由社群維護的內容,如果您遇到錯誤,請提出 issue https://github.com/BerriAI/litellm

Sentry 提供正式環境的錯誤監控。LiteLLM 這個整合可以新增 breadcrumb,並將例外傳送到 Sentry

可追蹤的例外包括:

  • litellm.completion() - 100+ LLM 的 completion()
  • litellm.acompletion() - 非同步 completion()
  • 串流 completion() 與 acompletion() 呼叫

使用方式

設定 SENTRY_DSN 與 callback

import litellm, os
os.environ["SENTRY_DSN"] = "your-sentry-url"
litellm.failure_callback=["sentry"]

搭配 completion 的 Sentry callback

import litellm
from litellm import completion

litellm.input_callback=["sentry"] # adds sentry breadcrumbing
litellm.failure_callback=["sentry"] # [OPTIONAL] if you want litellm to capture -> send exception to sentry

import os
os.environ["SENTRY_DSN"] = "your-sentry-url"
os.environ["OPENAI_API_KEY"] = "your-openai-key"

# set bad key to trigger error
api_key="bad-key"
response = completion(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hey!"}], stream=True, api_key=api_key)

print(response)

取樣率選項

  • SENTRY_API_SAMPLE_RATE:控制送往 Sentry 的錯誤百分比

    • 數值介於 0 與 1 之間(預設為 1.0,亦即 100% 的錯誤)
    • 範例:0.5 會傳送 50% 的錯誤,0.1 會傳送 10% 的錯誤
  • SENTRY_API_TRACE_RATE:控制用於效能監控的交易取樣百分比

    • 數值介於 0 與 1 之間(預設為 1.0,亦即 100% 的交易)
    • 範例:0.5 會追蹤 50% 的交易,0.1 會追蹤 10% 的交易

這些選項適合高流量應用程式,在管理成本的同時,對部分錯誤與交易進行取樣仍可提供足夠的可見性。

Sentry 環境

  • SENTRY_ENVIRONMENT:指定您的 Sentry 事件所屬的環境名稱(例如「production」、「staging」、「development」)
    • 有助於在 Sentry 儀表板中依部署環境組織與篩選錯誤
    • 範例:os.environ["SENTRY_ENVIRONMENT"] = "staging"
    • 若未設定,Sentry 會預設使用 'production' 作為環境

從 Sentry 記錄中移除訊息、回應內容

設定 litellm.turn_off_message_logging=True 這將防止訊息與回應被記錄到 sentry,但請求中繼資料仍會被記錄。

如果您需要 Sentry 的任何其他選項,請告訴我們

🚅
LiteLLM Enterprise
為正式環境打造的 SSO/SAML、稽核記錄、支出追蹤、多團隊管理與防護欄。
深入瞭解 →