基础速率限制器#

class langchain_core.rate_limiters.BaseRateLimiter(*args: Any, **kwargs: Any)[source]#

测试版

在0.2.24版本中引入。API可能会发生变化。

速率限制器的基类。

基础限流器的使用是通过acquire和aacquire方法,具体取决于是在同步还是异步上下文中运行。

实现可以自由地在它们的initialize方法中添加一个timeout参数,以允许用户在使用阻塞调用时指定获取必要令牌的超时时间。

当前限制:

  • 速率限制信息不会在跟踪或回调中显示。这意味着调用聊天模型所需的总时间将包括等待令牌的时间和发出请求的时间。

在版本0.2.24中添加。

方法

__init__(*args, **kwargs)

aacquire(*[, blocking])

尝试获取速率限制器所需的令牌。

acquire(*[, blocking])

尝试获取速率限制器所需的令牌。

__init__(*args: Any, **kwargs: Any) Any#
Parameters:
  • self (Any)

  • args (Any)

  • kwargs (Any)

Return type:

任何

abstract async aacquire(*, blocking: bool = True) bool[source]#

尝试获取速率限制器所需的令牌。

如果blocking设置为True,则此方法将阻塞,直到所需的令牌可用。

如果blocking设置为False,该方法将立即返回尝试获取令牌的结果。

Parameters:

blocking (bool) – 如果为True,该方法将阻塞直到令牌可用。 如果为False,该方法将立即返回尝试的结果。默认为True。

Returns:

如果成功获取了令牌,则为True,否则为False。

Return type:

布尔

abstract acquire(*, blocking: bool = True) bool[来源]#

尝试获取速率限制器所需的令牌。

如果blocking设置为True,则此方法将阻塞,直到所需的令牌可用。

如果blocking设置为False,该方法将立即返回尝试获取令牌的结果。

Parameters:

blocking (bool) – 如果为True,该方法将阻塞直到令牌可用。 如果为False,该方法将立即返回尝试的结果。默认为True。

Returns:

如果成功获取了令牌,则为True,否则为False。

Return type:

布尔