Spaces:
Sleeping
Sleeping
| import time | |
| from smolagents import CodeAgent, ActionStep | |
| class RateLimiter: | |
| """ | |
| APIの呼び出し回数を数えて、一定回数の呼び出しが行われたら一定秒数待機する | |
| """ | |
| def __init__(self, calls_per_wait: int = 10, seconds_to_wait: int = 60): | |
| self.calls_per_wait = calls_per_wait | |
| self.seconds_to_wait = seconds_to_wait | |
| self._call_count = 0 | |
| def increment_and_sleep_if_needed(self, memory_step: ActionStep, agent: CodeAgent): | |
| """ | |
| 呼び出し回数をインクリメントし、一定回数の呼び出しが行われたら一定秒数待機する | |
| """ | |
| self._call_count += 1 | |
| if self._call_count >= self.calls_per_wait: | |
| print(f"呼び出し回数が{self.calls_per_wait}回を超えたので、{self.seconds_to_wait}秒待機します") | |
| time.sleep(self.seconds_to_wait) | |
| self._call_count = 0 |