MCPcopy Create free account
hub / github.com/CJackHwang/AIstudioProxyAPI / calculate_usage_stats

Function calculate_usage_stats

api_utils/utils_ext/tokens.py:20–41  ·  view source on GitHub ↗
(
    messages: List[Dict[str, Any]],
    response_content: str,
    reasoning_content: Optional[str] = None,
)

Source from the content-addressed store, hash-verified

18
19
20def calculate_usage_stats(
21 messages: List[Dict[str, Any]],
22 response_content: str,
23 reasoning_content: Optional[str] = None,
24) -> Dict[str, int]:
25 prompt_text = ""
26 for message in messages:
27 role = message.get("role", "")
28 content = message.get("content", "")
29 prompt_text += f"{role}: {content}\n"
30 prompt_tokens = estimate_tokens(prompt_text)
31
32 completion_text = response_content or ""
33 if reasoning_content:
34 completion_text += reasoning_content
35 completion_tokens = estimate_tokens(completion_text)
36 total_tokens = prompt_tokens + completion_tokens
37 return {
38 "prompt_tokens": prompt_tokens,
39 "completion_tokens": completion_tokens,
40 "total_tokens": total_tokens,
41 }

Calls 2

estimate_tokensFunction · 0.85
getMethod · 0.45

Tested by 1