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):
|
def _prepare_log_data(self, kwargs, response_obj, start_time, end_time):
|
||||||
import datetime
|
import datetime
|
||||||
|
from datetime import datetime as dt
|
||||||
from datetime import timezone
|
from datetime import timezone
|
||||||
|
|
||||||
metadata = kwargs.get("litellm_params", {}).get("metadata", {}) or {}
|
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"] = metadata.get("user_api_key", None)
|
||||||
kwargs["user_api_key_user_id"] = metadata.get("user_api_key_user_id", 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,
|
"start_time": start_time,
|
||||||
"end_time": end_time,
|
"end_time": end_time,
|
||||||
"tags": tags,
|
"tags": tags,
|
||||||
|
"extra": metadata,
|
||||||
}
|
}
|
||||||
|
|
||||||
if run_id:
|
if run_id:
|
||||||
|
|
|
@ -3,5 +3,5 @@ model_list:
|
||||||
litellm_params:
|
litellm_params:
|
||||||
model: "*"
|
model: "*"
|
||||||
|
|
||||||
general_settings:
|
litellm_settings:
|
||||||
disable_spend_logs: true
|
success_callback: ["langsmith"]
|
Loading…
Add table
Add a link
Reference in a new issue