mirror of
https://github.com/tiennm99/litellm.git
synced 2026-08-11 08:22:40 +00:00
feat(converse_transformation.py): fix type for bedrock cache usage block
This commit is contained in:
@@ -612,8 +612,8 @@ class AmazonConverseConfig(BaseConfig):
|
||||
if "cacheReadInputTokens" in usage:
|
||||
cache_read_input_tokens = usage["cacheReadInputTokens"]
|
||||
input_tokens += cache_read_input_tokens
|
||||
if "cacheCreationInputTokens" in usage:
|
||||
cache_creation_input_tokens = usage["cacheCreationInputTokens"]
|
||||
if "cacheWriteInputTokens" in usage:
|
||||
cache_creation_input_tokens = usage["cacheWriteInputTokens"]
|
||||
input_tokens += cache_creation_input_tokens
|
||||
|
||||
prompt_tokens_details = PromptTokensDetailsWrapper(
|
||||
|
||||
@@ -111,8 +111,8 @@ class ConverseTokenUsageBlock(TypedDict):
|
||||
totalTokens: int
|
||||
cacheReadInputTokenCount: int
|
||||
cacheReadInputTokens: int
|
||||
cacheCreationInputTokenCount: int
|
||||
cacheCreationInputTokens: int
|
||||
cacheWriteInputTokenCount: int
|
||||
cacheWriteInputTokens: int
|
||||
|
||||
|
||||
class ConverseResponseBlock(TypedDict):
|
||||
|
||||
@@ -18,19 +18,27 @@ def test_transform_usage():
|
||||
usage = ConverseTokenUsageBlock(
|
||||
**{
|
||||
"cacheReadInputTokenCount": 0,
|
||||
"cacheReadInputTokens": 10,
|
||||
"cacheCreationInputTokenCount": 0,
|
||||
"cacheCreationInputTokens": 0,
|
||||
"inputTokens": 12,
|
||||
"outputTokens": 56,
|
||||
"totalTokens": 78,
|
||||
"cacheReadInputTokens": 0,
|
||||
"cacheWriteInputTokenCount": 1789,
|
||||
"cacheWriteInputTokens": 1789,
|
||||
"inputTokens": 3,
|
||||
"outputTokens": 401,
|
||||
"totalTokens": 2193,
|
||||
}
|
||||
)
|
||||
config = AmazonConverseConfig()
|
||||
openai_usage = config._transform_usage(usage)
|
||||
assert openai_usage.prompt_tokens == 22
|
||||
assert openai_usage.completion_tokens == 56
|
||||
assert openai_usage.total_tokens == 78
|
||||
assert openai_usage.prompt_tokens_details.cached_tokens == 10
|
||||
assert openai_usage._cache_creation_input_tokens == 0
|
||||
assert openai_usage._cache_read_input_tokens == 10
|
||||
assert (
|
||||
openai_usage.prompt_tokens
|
||||
== usage["inputTokens"]
|
||||
+ usage["cacheWriteInputTokens"]
|
||||
+ usage["cacheReadInputTokens"]
|
||||
)
|
||||
assert openai_usage.completion_tokens == usage["outputTokens"]
|
||||
assert openai_usage.total_tokens == usage["totalTokens"]
|
||||
assert (
|
||||
openai_usage.prompt_tokens_details.cached_tokens
|
||||
== usage["cacheReadInputTokens"]
|
||||
)
|
||||
assert openai_usage._cache_creation_input_tokens == usage["cacheWriteInputTokens"]
|
||||
assert openai_usage._cache_read_input_tokens == usage["cacheReadInputTokens"]
|
||||
|
||||
Reference in New Issue
Block a user