mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-12 23:01:41 +00:00
feat(litellm_logging.py): log exception response headers to langfuse
This commit is contained in:
parent
48a773845b
commit
4b73b1e346
6 changed files with 19 additions and 8 deletions
|
|
@ -5,6 +5,7 @@ import os
|
|||
import traceback
|
||||
|
||||
from packaging.version import Version
|
||||
from pydantic import BaseModel
|
||||
|
||||
import litellm
|
||||
from litellm._logging import verbose_logger
|
||||
|
|
@ -43,8 +44,8 @@ class LangFuseLogger:
|
|||
self.langfuse_debug = os.getenv("LANGFUSE_DEBUG")
|
||||
|
||||
parameters = {
|
||||
"public_key": self.public_key,
|
||||
"secret_key": self.secret_key,
|
||||
"public_key": "pk-lf-b3db7e8e-c2f6-4fc7-825c-a541a8fbe003",
|
||||
"secret_key": "sk-lf-b11ef3a8-361c-4445-9652-12318b8596e4",
|
||||
"host": self.langfuse_host,
|
||||
"release": self.langfuse_release,
|
||||
"debug": self.langfuse_debug,
|
||||
|
|
@ -331,7 +332,7 @@ class LangFuseLogger:
|
|||
metadata = copy.deepcopy(
|
||||
metadata
|
||||
) # Avoid modifying the original metadata
|
||||
except:
|
||||
except Exception:
|
||||
new_metadata = {}
|
||||
for key, value in metadata.items():
|
||||
if (
|
||||
|
|
@ -342,6 +343,8 @@ class LangFuseLogger:
|
|||
or isinstance(value, float)
|
||||
):
|
||||
new_metadata[key] = copy.deepcopy(value)
|
||||
elif isinstance(value, BaseModel):
|
||||
new_metadata[key] = value.model_dump()
|
||||
metadata = new_metadata
|
||||
|
||||
supports_tags = Version(langfuse.version.__version__) >= Version("2.6.3")
|
||||
|
|
|
|||
|
|
@ -1516,6 +1516,13 @@ class Logging:
|
|||
self.model_call_details["end_time"] = end_time
|
||||
self.model_call_details.setdefault("original_response", None)
|
||||
self.model_call_details["response_cost"] = 0
|
||||
|
||||
if hasattr(exception, "headers") and isinstance(exception.headers, dict):
|
||||
self.model_call_details.setdefault("litellm_params", {})
|
||||
metadata = (
|
||||
self.model_call_details["litellm_params"].get("metadata", {}) or {}
|
||||
)
|
||||
metadata.update(exception.headers)
|
||||
return start_time, end_time
|
||||
|
||||
def failure_handler(
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,8 @@
|
|||
model_list:
|
||||
- model_name: "*"
|
||||
- model_name: "predibase-llama"
|
||||
litellm_params:
|
||||
model: "*"
|
||||
model: "predibase/llama-3-8b-instruct"
|
||||
request_timeout: 1
|
||||
|
||||
litellm_settings:
|
||||
failure_callback: ["langfuse"]
|
||||
Loading…
Add table
Reference in a new issue