From c6350d636e139bd9018f7225d3257c4be6139d54 Mon Sep 17 00:00:00 2001 From: Emmanuel Sciara Date: Thu, 26 Sep 2024 22:44:28 +0200 Subject: [PATCH] core[fix]: using async rate limiter methods in async code (#26914) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Description:** Replaced blocking (sync) rate_limiter code in async methods. **Issue:** #26913 **Dependencies:** N/A **Twitter handle:** no need 🤗 --- libs/core/langchain_core/language_models/chat_models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/core/langchain_core/language_models/chat_models.py b/libs/core/langchain_core/language_models/chat_models.py index 6336dfbab83..57a0cd37c13 100644 --- a/libs/core/langchain_core/language_models/chat_models.py +++ b/libs/core/langchain_core/language_models/chat_models.py @@ -463,7 +463,7 @@ class BaseChatModel(BaseLanguageModel[BaseMessage], ABC): ) if self.rate_limiter: - self.rate_limiter.acquire(blocking=True) + await self.rate_limiter.aacquire(blocking=True) generation: Optional[ChatGenerationChunk] = None try: @@ -905,7 +905,7 @@ class BaseChatModel(BaseLanguageModel[BaseMessage], ABC): # we usually don't want to rate limit cache lookups, but # we do want to rate limit API requests. if self.rate_limiter: - self.rate_limiter.acquire(blocking=True) + await self.rate_limiter.aacquire(blocking=True) # If stream is not explicitly set, check if implicitly requested by # astream_events() or astream_log(). Bail out if _astream not implemented