fix(langfuse.py): support passing input params for langfuse errors

This commit is contained in:
Krrish Dholakia 2024-02-08 16:37:33 -08:00
parent 9be5e2f7e3
commit bc23a9266e

View file

@ -266,37 +266,28 @@ class LangFuseLogger:
trace = self.Langfuse.trace(**trace_params) trace = self.Langfuse.trace(**trace_params)
if level == "ERROR": generation_id = None
trace.generation( usage = None
level="ERROR", # can be any of DEBUG, DEFAULT, WARNING or ERROR if response_obj is not None and response_obj.get("id", None) is not None:
status_message=output, # can be any string (e.g. stringified stack trace or error body) generation_id = litellm.utils.get_logging_id(start_time, response_obj)
) usage = {
print(f"SUCCESSFULLY LOGGED ERROR") "prompt_tokens": response_obj["usage"]["prompt_tokens"],
else: "completion_tokens": response_obj["usage"]["completion_tokens"],
# get generation_id "total_cost": cost if supports_costs else None,
generation_id = None }
if ( trace.generation(
response_obj is not None name=generation_name,
and response_obj.get("id", None) is not None id=metadata.get("generation_id", generation_id),
): startTime=start_time,
generation_id = litellm.utils.get_logging_id( endTime=end_time,
start_time, response_obj model=kwargs["model"],
) modelParameters=optional_params,
trace.generation( input=input,
name=generation_name, output=output,
id=metadata.get("generation_id", generation_id), usage=usage,
startTime=start_time, metadata=metadata,
endTime=end_time, level=level,
model=kwargs["model"], status_message=output,
modelParameters=optional_params, )
input=input,
output=output,
usage={
"prompt_tokens": response_obj["usage"]["prompt_tokens"],
"completion_tokens": response_obj["usage"]["completion_tokens"],
"total_cost": cost if supports_costs else None,
},
metadata=metadata,
)
except Exception as e: except Exception as e:
print(f"Langfuse Layer Error - {traceback.format_exc()}") print(f"Langfuse Layer Error - {traceback.format_exc()}")