From 9be6b5a20ffa996a15f537ccf071fc9da6e344a0 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Fri, 26 Jul 2024 18:17:22 -0400 Subject: [PATCH] core[patch]: Correct doc-string for InMemoryRateLimiter (#24730) Correct the documentaiton string. --- libs/core/langchain_core/rate_limiters.py | 26 +++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/libs/core/langchain_core/rate_limiters.py b/libs/core/langchain_core/rate_limiters.py index 02a88535329..b38702103fc 100644 --- a/libs/core/langchain_core/rate_limiters.py +++ b/libs/core/langchain_core/rate_limiters.py @@ -105,23 +105,31 @@ class InMemoryRateLimiter(BaseRateLimiter): .. code-block:: python - from langchain_core import InMemoryRateLimiter + import time - from langchain_core.runnables import RunnableLambda, InMemoryRateLimiter + from langchain_core.rate_limiters import InMemoryRateLimiter rate_limiter = InMemoryRateLimiter( - requests_per_second=100, check_every_n_seconds=0.1, max_bucket_size=10 + requests_per_second=0.1, # <-- Can only make a request once every 10 seconds!! + check_every_n_seconds=0.1, # Wake up every 100 ms to check whether allowed to make a request, + max_bucket_size=10, # Controls the maximum burst size. ) - def foo(x: int) -> int: - return x + from langchain_anthropic import ChatAnthropic + model = ChatAnthropic( + model_name="claude-3-opus-20240229", + rate_limiter=rate_limiter + ) + + for _ in range(5): + tic = time.time() + model.invoke("hello") + toc = time.time() + print(toc - tic) - foo_ = RunnableLambda(foo) - chain = rate_limiter | foo_ - assert chain.invoke(1) == 1 .. versionadded:: 0.2.24 - """ + """ # noqa: E501 def __init__( self,