From d1e9577e7feb60a4c47f6970523734d4da3342d6 Mon Sep 17 00:00:00 2001 From: cybermaggedon Date: Wed, 29 Jan 2025 21:13:17 +0000 Subject: [PATCH] Fix rate limit handler, incomplete (#293) --- .../model/text_completion/bedrock/llm.py | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/trustgraph-bedrock/trustgraph/model/text_completion/bedrock/llm.py b/trustgraph-bedrock/trustgraph/model/text_completion/bedrock/llm.py index 21c81fec..f46e35fb 100755 --- a/trustgraph-bedrock/trustgraph/model/text_completion/bedrock/llm.py +++ b/trustgraph-bedrock/trustgraph/model/text_completion/bedrock/llm.py @@ -258,27 +258,17 @@ class Processor(ConsumerProducer): print("Done.", flush=True) - except self.bedrock.exceptions.ThrottlingException: + except self.bedrock.exceptions.ThrottlingException as e: - print("Send rate limit response...", flush=True) + print("Hit rate limit:", e, flush=True) - r = TextCompletionResponse( - error=Error( - type = "rate-limit", - message = str(e), - ), - response=None, - in_token=None, - out_token=None, - model=None, - ) - - self.producer.send(r, properties={"id": id}) - - self.consumer.acknowledge(msg) + # Leave rate limit retries to the base handler + raise TooManyRequests() except Exception as e: + # Apart from rate limits, treat all exceptions as unrecoverable + print(type(e)) print(f"Exception: {e}")