Skip to main content
大多数工具会构建自己的请求正文。它们不提供放置 start_within 的位置,并且每个没有 start_within 的请求都会返回 400 missing_start_within 错误。 代理密钥解决了这个问题。它本身包含截止时间,因此工具发出的每个请求都将根据该截止时间进行路由。

创建密钥

  1. 打开 仪表盘,然后前往 API,再点击 FlexInference keys
  2. 点击 Create agent key。普通的 Create key 按钮创建的密钥不包含截止时间。
  3. 为密钥命名。名称是可选的,仅用于帮助您以后查找。
  4. 选择截止时间。Flex race 预先选中,这也是代理密钥存在的原因。
  5. 如果您选择了 Flex race,请设置持续时间。输入任意时长,从 5 秒到 10 分钟,或者快速选择一个。
  6. 点击创建,然后复制密钥。仪表盘只会显示一次。
在密钥列表上使用 Agent keys only 筛选器可以再次找到该密钥。行上的策略芯片会显示其包含的内容。

各截止时间选项的作用

Flex race 成本更低,启动时间更晚。您会在交互式循环中感受到这种延迟,因此该层级适合您坐着观察的工具。
PriorityAuto 需要 BYOK 组织。Managed Keys 不提供这两个层级,因此任何使用托管提供商的组织在创建时都会因 400 invalid_key_defaults 而被拒绝。拒绝也包括持续时间的回退层级。 请选择 StandardFlex race

密钥携带的内容

一个密钥最多可以存储三个字段。
  • start_within: 持续时间或层级名称。始终设置。
  • on_no_flex: 持续时间回退到的层级。仪表盘始终存储 default 且从不询问。只有 API 允许您选择 priority
  • retry: 一个 count,从 1 到 5,可选 backoffjitter。除非您要求,否则不设置。
除非有特殊原因,否则请勿修改 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