Skip to content
LlamaParse 文档版本 跟随上游 源快照 5af64e62 更新于 2026-10-17

自托管部署跑在你自己供给并付费的基础设施上,因此不受约束的用量最终会出现在你的账单与你的集群里。LlamaCloud 给了你两种互相独立的控制手段:

  • API 速率限制约束一个 project 调用 API 的快慢。它们保护部署不被请求洪峰打穿,超出即以 HTTP 429 拒绝。
  • 用量封顶约束一个组织或 project 在一天或一个月内可消耗多少 credit。它们保护你的预算,超出即以 HTTP 402 拒绝。

速率限制带着相当宽松的默认值出厂,用量封顶则默认关闭。两者都不能替代对方:速率限制压制的是请求频率,但长期来看不限制总花费;而用量封顶在预算耗尽之前允许任意请求速率。

用量封顶

用量封顶就是一个滚动窗口内的 credit 预算。窗口内的消耗达到上限后,继续创建任务的请求会被以 402 拒绝,并报 This <scope> has reached its <window> usage limit.。读操作不受影响 —— 被封顶的组织仍然可以取回它已提交任务的结果。

封顶适用于 Parse、Extract、Classify、Split 与 LlamaSheets 的任务创建。

开启封顶

封顶有三种模式,由 config.usageCaps.enforcementMode 设置:

模式行为
off (默认)完全不做判定。在请求链路上没有额外开销。
observe对每个请求都判定并记录本应被拦住的结果,但照常放行。
enforce拒绝突破封顶的请求。
config:
  usageCaps:
    enforcementMode: observe
    defaultDailyCredits: 5000
    defaultMonthlyCredits: 100000

defaultDailyCredits 与 defaultMonthlyCredits 是部署级默认封顶,会作用到每一个没有自己覆盖值的组织。留着不设,组织就等于不受限,此时 enforce 是个空转的开关 —— 模式是开关,credit 值才是那个上限。

注意

0 是一个封顶值,不是「没设封顶」。它表示零 credit,所以在 enforce 下会挡住它所适用的每个组织的任务创建。要让组织不受限,请省略这个键,而不是把它设成 0。

安全地推行一个封顶

一个数值设错了的封顶,会以 402 的形式落在你的用户身上。请按这个顺序走到 enforce:

  1. 先设 credit 值。 配上 defaultDailyCredits 与 defaultMonthlyCredits,enforcementMode: observe。光有模式并不强制任何东西;没有值的模式根本不做判定。
  2. 先在 observe 下运行。 每个请求都被判定并放行,因此一个设得过低的上限只会让你多一行日志,而不是一次故障。
  3. 盯住「本应被拦住」的请求。 在 observe 下,一次突破仍会在 llamacloud_usage_cap_evaluations_total 上计入 blocked,并带上 mode="observe" 标签。这些就是 enforce 本会拒绝的请求,而它们背后的组织正是你要最先沟通的对象。
  4. 按一整个计费月来定量。 月末与季末才是真实用量的高峰;照一个清闲的两星期定的上限,之后会拒掉正当的工作。
  5. 切到 enforce,并对 failed_open 设告警。 退化的强制执行会悄无声息地不再拦截 —— 见封顶会 fail open。

组织级封顶与项目级封顶

封顶在两个层级上判定,任一层级被突破都会拦下请求:

  • 组织:该组织名下所有 project 的 credit 总和。
  • 项目:单独一个 project 的 credit。

被报告的是最紧的那个被突破的封顶,判定顺序为:项目日、项目月、组织日、组织月。

注意

项目的用量封顶从不继承 —— 不从它的组织继承,也不从部署级默认继承。

组织级封顶约束的是其所有 project 的合计。把同一个数字逐个加到每个 project 上,是一个大得多的预算,而不是同一件事。

设 defaultDailyCredits 会给每个组织封顶,但不会给任何项目封顶。

封顶会 fail open

若某个封顶无法解析,或用量读取失败、超时,请求会被放行。退化的封顶检查绝不会拦下正当工作 —— 但它也就此停止了强制执行,而且是无声的。请盯住 failed_open 这个结果来发现它:

指标标签含义
llamacloud_usage_cap_evaluations_totaloutcome, mode封顶判定次数。outcome 取 allowed、blocked、failed_open 之一。failed_open 持续上升意味着强制执行已退化,而不是「什么都没拦」。

在 enforce 模式下,持续非零的 failed_open 比率应当被当作这个控制手段的一次故障,而不是「风平浪静」。

封顶检查读到的还是一个周期性聚合后的用量总数,而不是每落地一个任务就即时累加,因此它可能落后于最新的工作,从而放行一个「用量绝对新鲜时本会被拒」的请求。同样出于这个原因,一个组织的头几次封顶检查可能读到零,通常在其用量开始之后的一分钟以内。总数落定后,强制执行自己会追平。

API 速率限制

速率限制是按 project 的默认值,表达方式要么是每秒查询数,要么是窗口内的请求数。在 values.yaml 的 config.rateLimits 下设置它们:

config:
  rateLimits:
    parseApiCreationQueries: 500
    parseApiCreationSeconds: 10
    parseApiQueryQps: 80
    parseApiListQps: 5
取值默认值限制的是
parseApiCreationQueries / parseApiCreationSeconds500 per 10sParse 任务创建
parseApiQueryQps80Parse 任务读取
parseApiListQps5Parse 任务的 list 调用
extractApiCreationQps40Extract 任务创建
extractApiQueryQps80Extract 任务读取
extractApiListQps5Extract 任务的 list 调用
extractAgentCreationQps10Extract 智能体创建
classifyApiCreationQps40Classify 任务创建
classifyApiQueryQps80Classify 任务读取
classifyApiListQps5Classify 任务的 list 调用
splitApiCreationQps40Split 任务创建
splitApiQueryQps80Split 任务读取
spreadsheetCreationQpm60LlamaSheets 任务创建(每分钟)
spreadsheetApiQueryQps80LlamaSheets 任务读取
spreadsheetApiListQps5LlamaSheets 任务的 list 调用
usageApiQueryQps20用量指标 API

list 类操作的默认值刻意最低:它们单次最贵,也最容易被循环刷出来。

为单个组织覆盖某个限制

部署级默认是整个集群的下限;单个组织通常要自己的数字。全局管理员在 Settings → Admin → Quota Management 里设覆盖值,可按名称或 id 搜索组织。

这个页面有两个视图:

  • Overrides —— 只有某人特意为这个组织、或为其某个 project 设下的值。这些才是你可以修改或删除的行。
  • All Limits —— 该组织当前解析出的全部限制,以及每个值的来源:它自己的覆盖值、其套餐档位,还是部署级默认。改数值之前用它的 effective 值核对一遍。套餐档位与部署级这两类值无法在这里删除。

Daily Usage Credits Limit 与 Monthly Usage Credits Limit 会覆盖单个组织所对应的部署级封顶,就如同速率限制条目覆盖它们各自的默认值一样。用覆盖值可以让一个高量组织免于部署级封顶,或把一个吵闹的组织压在其之下。

给单个项目封顶

添加日或月用量封顶时提供了一个 Applies to 选择:整个组织,或其下的某一个 project。选组织约束的是所有 project 的合计;选某个 project 只约束那一个 project。

只有用量封顶提供这个选择。其他所有限制都是继承来的,因此组织级覆盖已经管住了它的 project,再来一份项目级配置只是重复。也正因为封顶不继承,给项目封顶是约束它的唯一办法 —— 一个自己没有设封顶的项目,无论组织设成多少都不受限。

关于如何设置全局管理员,见全局管理员配置。

一个限制是如何解析的

每个限制都是一份额额,而份额按「从最具体到最不具体」的顺序解析:

组织覆盖值 → 套餐档位默认 → 部署级默认

三者中最先存在的那个胜出。某个限制能设在哪里、又会退回到哪里,随层级而不同:

层级可从何处设置向后回退到什么都没设时的结果
Organization管理界面覆盖值,然后套餐档位,然后 Helm values链条上下一个更一般的层级部署级默认
Project (rate limits)其组织,然后套餐档位,然后 Helm values链条上下一个更一般的层级部署级默认
Project (usage caps)在管理界面为该项目设的封顶无不受限

部署级默认来自你的 Helm values,而你的部署会在启动时把它们存下来。改动的值要等后端重启后才生效,不会在下一个请求上立刻生效。

组织覆盖值在管理界面设置,即时生效。

注意

清掉一个你先前设过的值,并不会移除它当时写入的默认。启动同步只负责写入与更新默认,从不删除它们。要解除一个已经生效的限制,请把它改成一个更高的值,而不是删掉那个键。

那次启动同步也是把 Helm values 带进部署的通道。如果你的配置把同步范围收窄到某几类份额,那么两种用量封顶必须在这个子集里 —— 否则 defaultDailyCredits 与 defaultMonthlyCredits 会被静默忽略。

查看一个组织消耗了多少

封顶的好坏,取决于你对当前用量的了解有多准。Settings → Admin → Global Usage 会按组织与 project 报告 credit 用量,用量指标 API 也暴露同样的聚合结果,便于导出到你们自己的报表里。安全地推行一个封顶一节的第 4 步就是从那里取数的。

相关配置

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。