Spaces:
Running
Running
| from contextlib import contextmanager | |
| USAGE_TRACKER = None | |
| def usage_tracker(): | |
| global USAGE_TRACKER | |
| assert USAGE_TRACKER is None | |
| USAGE_TRACKER = [] | |
| try: | |
| yield | |
| finally: | |
| USAGE_TRACKER = None | |
| def get_total_usage(): | |
| global USAGE_TRACKER | |
| prompt_tokens = 0 | |
| completion_tokens = 0 | |
| for usage in USAGE_TRACKER: | |
| prompt_tokens += usage['prompt_tokens'] | |
| completion_tokens += usage['completion_tokens'] | |
| return { | |
| 'prompt_tokens': prompt_tokens, | |
| 'completion_tokens': completion_tokens | |
| } | |
| def append_to_usage_tracker(usage): | |
| global USAGE_TRACKER | |
| USAGE_TRACKER.append(usage) |