in sampler/claude_sampler.py [0:0]
def __call__(self, message_list: MessageList) -> str:
trial = 0
while True:
try:
message = self.client.messages.create(
model=self.model,
system=self.system_message,
max_tokens=self.max_tokens,
temperature=self.temperature,
messages=message_list,
)
return message.content[0].text
except anthropic.RateLimitError as e:
exception_backoff = 2**trial # expontial back off
print(
f"Rate limit exception so wait and retry {trial} after {exception_backoff} sec",
e,
)
time.sleep(exception_backoff)
trial += 1