Merge pull request #14675 from tcx4c70/fix/response-price

fix: cost calculation for responses
This commit is contained in:
Krish Dholakia 2025-09-18 23:41:08 -07:00 • committed by GitHub
commit f5838594e0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 2 deletions

View file

@ -23,7 +23,7 @@ from litellm.types.llms.openai import (
ResponseText,
)
from litellm.types.responses.main import DecodedResponseId
from litellm.types.utils import SpecialEnums, Usage
from litellm.types.utils import PromptTokensDetails, SpecialEnums, Usage
class ResponsesAPIRequestUtils:
@ -375,8 +375,15 @@ class ResponseAPILoggingUtils:
)
prompt_tokens: int = response_api_usage.input_tokens or 0
completion_tokens: int = response_api_usage.output_tokens or 0
prompt_tokens_details: Optional[PromptTokensDetails] = None
if response_api_usage.input_tokens_details:
prompt_tokens_details = PromptTokensDetails(
cached_tokens=response_api_usage.input_tokens_details.cached_tokens,
audio_tokens=response_api_usage.input_tokens_details.audio_tokens,
)
return Usage(
prompt_tokens=prompt_tokens,
completion_tokens=completion_tokens,
total_tokens=prompt_tokens + completion_tokens,
)
prompt_tokens_details=prompt_tokens_details,
)

View file

@ -168,6 +168,7 @@ class TestResponseAPILoggingUtils:
"input_tokens": 10,
"output_tokens": 20,
"total_tokens": 30,
"input_tokens_details": {"cached_tokens": 2},
"output_tokens_details": {"reasoning_tokens": 5},
}
@ -181,6 +182,7 @@ class TestResponseAPILoggingUtils:
assert result.prompt_tokens == 10
assert result.completion_tokens == 20
assert result.total_tokens == 30
assert result.prompt_tokens_details and result.prompt_tokens_details.cached_tokens == 2
def test_transform_response_api_usage_with_none_values(self):
"""Test transformation handles None values properly"""