start_within 的位置,并且每个没有 start_within 的请求都会返回 400 missing_start_within 错误。
代理密钥解决了这个问题。它本身包含截止时间,因此工具发出的每个请求都将根据该截止时间进行路由。
创建密钥
- 打开 仪表盘,然后前往 API,再点击 FlexInference keys。
- 点击 Create agent key。普通的 Create key 按钮创建的密钥不包含截止时间。
- 为密钥命名。名称是可选的,仅用于帮助您以后查找。
- 选择截止时间。Flex race 预先选中,这也是代理密钥存在的原因。
- 如果您选择了 Flex race,请设置持续时间。输入任意时长,从 5 秒到 10 分钟,或者快速选择一个。
- 点击创建,然后复制密钥。仪表盘只会显示一次。
各截止时间选项的作用
Flex race 成本更低,启动时间更晚。您会在交互式循环中感受到这种延迟,因此该层级适合您坐着观察的工具。
Priority 和 Auto 需要 BYOK 组织。Managed
Keys 不提供这两个层级,因此任何使用托管提供商的组织在创建时都会因
400 invalid_key_defaults 而被拒绝。拒绝也包括持续时间的回退层级。
请选择 Standard 或 Flex race。密钥携带的内容
一个密钥最多可以存储三个字段。start_within: 持续时间或层级名称。始终设置。on_no_flex: 持续时间回退到的层级。仪表盘始终存储default且从不询问。只有 API 允许您选择priority。retry: 一个count,从 1 到 5,可选backoff和jitter。除非您要求,否则不设置。
retry。大多数代理会自行重试,并且两者会叠加。每次客户端尝试都会消耗完整的服务器端预算。
请求始终优先
我们会将存储的字段填充到任何没有该字段的传入请求中。我们绝不会替换请求发送的值。 即使发送的值是错误的,这条规则也适用。显式错误的start_within 仍然会返回 400 invalid_start_within。密钥默认值用于您未发送的字段,绝不会用于您发送错误字段。
我们填充的每个响应都附带 x-flexinference-defaults-applied 标头,列出已填充的字段。发送了自己截止时间的请求不会收到此标头。
密钥持续时间在请求持续时间失败时回退
请求正文中针对claude-* 模型的持续时间会与 Claude 更便宜的层级竞争。有三条规则决定:托管密钥、无流式传输以及三分钟或更长时间。违反其中任何一条,请求就会失败,第一个违规会返回 400 flex_unsupported_for_anthropic。请参阅 Claude durations need a longer window。
密钥上的持续时间会回退。它会运行 on_no_flex 层级,因此密钥始终有响应。这种回退是密钥从不与 Claude 更便宜的层级竞争的原因,无论是否使用托管密钥:截止时间在考虑竞争之前会解析为您的层级。
这种回退仅涵盖模型。您自己的请求造成的冲突仍然会失败。固定云路由会造成这种情况,因为云路由只运行标准层级。请参阅 key_default_not_applicable。
编辑或撤销
在密钥行上编辑截止时间。实时流量会在几秒钟内生效,并且您会保留相同的密钥。没有任何东西会重新启动,密钥也保持不变。 撤销密钥会同时清除其默认值。代理密钥不适用的情况
工具需要一个基本 URL 和一个密钥字段才能访问我们。如果产品仅针对其供应商自己的订阅运行,则两者都没有,因此任何密钥都无法访问它。各工具指南
故障排除与常见问题
Errors 包含我们返回的每个拒绝信息,包括其线形、原因和修复方法。每个工具指南都涵盖了该客户端特有的错误。 有一种拒绝属于代理密钥本身。 每个请求都出现400 missing_start_within 错误。 密钥不包含截止时间,因此它是通过 Create key 而不是 Create agent key 创建的。请使用 Create agent key 创建一个新密钥并替换它。没有默认值创建的密钥以后无法获得默认值,因此该行不提供添加默认值的控件。
工具是否需要知道它持有代理密钥? 不需要。它以与任何密钥相同的方式进行身份验证,并且每个密钥都以 flex_live_ 开头。
一个密钥可以同时服务于工具和我的代码吗? 可以。您的代码发送 start_within 并优先。工具不发送任何内容并采用密钥的截止时间。
这会产生什么费用? 我们会运行代理发出的每个请求。在您自己的提供商密钥上,这不会在这里产生任何费用,您的提供商会收取 token 费用。在 Managed Keys 上,每个请求都会消耗您的余额,因此请设置 Request volume 警报。
为什么一台笔记本电脑达到了速率限制? 我们对每个源 IP 地址的成功请求进行限制,涵盖其背后的所有密钥。快速循环会在达到每个密钥限制之前达到此限制。请参阅 rate_limit_exceeded。