fix langfuse - log metadata on traces

This commit is contained in:
Ishaan Jaff 2024-05-11 09:59:05 -07:00
parent c12af219af
commit e83743f8e1

View file

@ -318,11 +318,11 @@ class LangFuseLogger:
else:
clean_metadata[key] = value
session_id = clean_metadata.pop("session_id", None)
trace_name = clean_metadata.pop("trace_name", None)
trace_id = clean_metadata.pop("trace_id", None)
existing_trace_id = clean_metadata.pop("existing_trace_id", None)
update_trace_keys = clean_metadata.pop("update_trace_keys", [])
session_id = clean_metadata.get("session_id", None)
trace_name = clean_metadata.get("trace_name", None)
trace_id = clean_metadata.get("trace_id", None)
existing_trace_id = clean_metadata.get("existing_trace_id", None)
update_trace_keys = clean_metadata.get("update_trace_keys", [])
if trace_name is None and existing_trace_id is None:
# just log `litellm-{call_type}` as the trace name
@ -342,6 +342,10 @@ class LangFuseLogger:
if updated_trace_value is not None:
trace_params[trace_param_key] = updated_trace_value
if "metadata" in update_trace_keys:
# log metadata in the trace
trace_params["metadata"] = clean_metadata
# Pop the trace specific keys that would have been popped if there were a new trace
for key in list(
filter(lambda key: key.startswith("trace_"), clean_metadata.keys())
@ -363,6 +367,7 @@ class LangFuseLogger:
"trace_version", clean_metadata.get("version", None)
), # If provided just version, it will applied to the trace as well, if applied a trace version it will take precedence
"user_id": user_id,
"metadata": metadata,
}
for key in list(
filter(lambda key: key.startswith("trace_"), clean_metadata.keys())
@ -426,7 +431,6 @@ class LangFuseLogger:
"url": url,
"headers": clean_headers,
}
trace = self.Langfuse.trace(**trace_params)
generation_id = None