mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 19:24:27 +00:00
fix(langsmith.py): support langsmith 'extra' field object
Closes https://github.com/BerriAI/litellm/issues/5179
This commit is contained in:
parent
ec3bf3eda6
commit
a181af3d2e
2 changed files with 22 additions and 2 deletions
|
@ -66,9 +66,28 @@ class LangsmithLogger(CustomLogger):
|
|||
|
||||
def _prepare_log_data(self, kwargs, response_obj, start_time, end_time):
|
||||
import datetime
|
||||
from datetime import datetime as dt
|
||||
from datetime import timezone
|
||||
|
||||
metadata = kwargs.get("litellm_params", {}).get("metadata", {}) or {}
|
||||
new_metadata = {}
|
||||
for key, value in metadata.items():
|
||||
if (
|
||||
isinstance(value, list)
|
||||
or isinstance(value, str)
|
||||
or isinstance(value, int)
|
||||
or isinstance(value, float)
|
||||
):
|
||||
new_metadata[key] = value
|
||||
elif isinstance(value, BaseModel):
|
||||
new_metadata[key] = value.model_dump_json()
|
||||
elif isinstance(value, dict):
|
||||
for k, v in value.items():
|
||||
if isinstance(v, dt):
|
||||
value[k] = v.isoformat()
|
||||
new_metadata[key] = value
|
||||
|
||||
metadata = new_metadata
|
||||
|
||||
kwargs["user_api_key"] = metadata.get("user_api_key", None)
|
||||
kwargs["user_api_key_user_id"] = metadata.get("user_api_key_user_id", None)
|
||||
|
@ -124,6 +143,7 @@ class LangsmithLogger(CustomLogger):
|
|||
"start_time": start_time,
|
||||
"end_time": end_time,
|
||||
"tags": tags,
|
||||
"extra": metadata,
|
||||
}
|
||||
|
||||
if run_id:
|
||||
|
|
|
@ -3,5 +3,5 @@ model_list:
|
|||
litellm_params:
|
||||
model: "*"
|
||||
|
||||
general_settings:
|
||||
disable_spend_logs: true
|
||||
litellm_settings:
|
||||
success_callback: ["langsmith"]
|
Loading…
Add table
Add a link
Reference in a new issue