Spaces:
Running
Running
Download agents/executive/app/usage.py from zaheer140/liveChatBotBackendV2: direct link, hf CLI and curl.
- Browser
- Download file 1.55 kB
-
https://huggingface.co/spaces/zaheer140/liveChatBotBackendV2/resolve/main/agents/executive/app/usage.py
- Command line
-
hf download hf://spaces/zaheer140/liveChatBotBackendV2/agents/executive/app/usage.py
-
curl -L -o usage.py https://huggingface.co/spaces/zaheer140/liveChatBotBackendV2/resolve/main/agents/executive/app/usage.py
1.55 kB
| from typing import Any | |
| def extract_token_usage(message: Any) -> dict[str, int]: | |
| usage = getattr(message, "usage_metadata", None) | |
| if isinstance(usage, dict): | |
| return { | |
| "input_tokens": int(usage.get("input_tokens", 0) or 0), | |
| "output_tokens": int(usage.get("output_tokens", 0) or 0), | |
| "total_tokens": int(usage.get("total_tokens", 0) or 0), | |
| } | |
| response_metadata = getattr(message, "response_metadata", None) | |
| if isinstance(response_metadata, dict): | |
| token_usage = response_metadata.get("token_usage") | |
| if isinstance(token_usage, dict): | |
| prompt_tokens = int(token_usage.get("prompt_tokens", 0) or 0) | |
| completion_tokens = int(token_usage.get("completion_tokens", 0) or 0) | |
| total_tokens = int(token_usage.get("total_tokens", prompt_tokens + completion_tokens) or 0) | |
| return { | |
| "input_tokens": prompt_tokens, | |
| "output_tokens": completion_tokens, | |
| "total_tokens": total_tokens, | |
| } | |
| return {"input_tokens": 0, "output_tokens": 0, "total_tokens": 0} | |
| def combine_usage(*items: dict[str, int]) -> dict[str, int]: | |
| result = {"input_tokens": 0, "output_tokens": 0, "total_tokens": 0} | |
| for item in items: | |
| result["input_tokens"] += int(item.get("input_tokens", 0) or 0) | |
| result["output_tokens"] += int(item.get("output_tokens", 0) or 0) | |
| result["total_tokens"] += int(item.get("total_tokens", 0) or 0) | |
| return result | |