File tree Expand file tree Collapse file tree 1 file changed +23
-2
lines changed
Expand file tree Collapse file tree 1 file changed +23
-2
lines changed Original file line number Diff line number Diff line change 2424from inspect import isclass
2525from typing import Optional
2626
27-
2827import openai .resources
2928from openai ._types import NotGiven
3029from packaging .version import Version
@@ -452,7 +451,29 @@ def _create_langfuse_update(
452451 update ["model" ] = model
453452
454453 if usage is not None :
455- update ["usage" ] = usage
454+ usage_dict = usage .copy () if isinstance (usage , dict ) else usage .__dict__
455+
456+ if (
457+ "prompt_tokens_details" in usage_dict
458+ and usage_dict ["prompt_tokens_details" ] is not None
459+ ):
460+ usage_dict ["prompt_tokens_details" ] = {
461+ k : v
462+ for k , v in usage_dict ["prompt_tokens_details" ].entries ()
463+ if v is not None
464+ }
465+
466+ if (
467+ "completion_tokens_details" in usage_dict
468+ and usage_dict ["completion_tokens_details" ] is not None
469+ ):
470+ usage_dict ["completion_tokens_details" ] = {
471+ k : v
472+ for k , v in usage_dict ["completion_tokens_details" ].entries ()
473+ if v is not None
474+ }
475+
476+ update ["usage" ] = usage_dict
456477
457478 generation .update (** update )
458479
You can’t perform that action at this time.
0 commit comments