_consume() — langchain Function Reference
Architecture documentation for the _consume() function in rate_limiters.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD e0964492_c52e_ec68_41ea_efa229196967["_consume()"] 29cf4437_3b06_c93f_9779_9154d2ed9ff9["InMemoryRateLimiter"] e0964492_c52e_ec68_41ea_efa229196967 -->|defined in| 29cf4437_3b06_c93f_9779_9154d2ed9ff9 7eb4873b_0a65_ee74_d6ce_9f59f9def5b3["acquire()"] 7eb4873b_0a65_ee74_d6ce_9f59f9def5b3 -->|calls| e0964492_c52e_ec68_41ea_efa229196967 022b3bdb_ff2e_b5b9_09ea_d248b2fd2811["aacquire()"] 022b3bdb_ff2e_b5b9_09ea_d248b2fd2811 -->|calls| e0964492_c52e_ec68_41ea_efa229196967 style e0964492_c52e_ec68_41ea_efa229196967 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/langchain_core/rate_limiters.py lines 165–195
def _consume(self) -> bool:
"""Try to consume a token.
Returns:
True means that the tokens were consumed, and the caller can proceed to
make the request. A False means that the tokens were not consumed, and
the caller should try again later.
"""
with self._consume_lock:
now = time.monotonic()
# initialize on first call to avoid a burst
if self.last is None:
self.last = now
elapsed = now - self.last
if elapsed * self.requests_per_second >= 1:
self.available_tokens += elapsed * self.requests_per_second
self.last = now
# Make sure that we don't exceed the bucket size.
# This is used to prevent bursts of requests.
self.available_tokens = min(self.available_tokens, self.max_bucket_size)
# As long as we have at least one token, we can proceed.
if self.available_tokens >= 1:
self.available_tokens -= 1
return True
return False
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does _consume() do?
_consume() is a function in the langchain codebase, defined in libs/core/langchain_core/rate_limiters.py.
Where is _consume() defined?
_consume() is defined in libs/core/langchain_core/rate_limiters.py at line 165.
What calls _consume()?
_consume() is called by 2 function(s): aacquire, acquire.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free