Skip to main content
本页列出了可能让您感到意外的行为。我们希望您能在此处了解这些信息,而不是通过账单发现它们。

取消 OpenAI 请求仍需支付完整费用

如果您在 OpenAI 请求进行到一半时取消,您仍需支付整个响应的费用,而不是仅为您已读取的部分付费。而对于 Anthropic 或 Google 模型,在您取消请求时,费用会停止在您取消的那一刻。 当我们直接调用 Anthropic 或 Google 模型时,取消请求会停止计费。但如果您通过 Bedrock 或 Vertex 使用 Anthropic 或 Google 模型,我们会像处理 OpenAI 请求一样,将其读取到最后,这意味着取消请求不会停止计费。 取消请求会立即终止您与我们的连接,因此您的应用程序不会再接收到任何流式数据。然而,OpenAI 端的生成过程会继续进行,您仍需为此付费。OpenAI 没有提供停止流式响应的方法,也不会报告提前停止的请求的使用量,因此我们无法准确地为您提供替代的计费方式。我们正在开发一种解决方案,本页内容将在方案落地后进行更新。 您的日志会将已停止的请求显示为 Canceled。其 token 计数是提供商在您停止之前报告的数值。 在此期间,有两点建议可以帮助您。一是设置 max_output_tokens,以确保即使取消请求,其运行长度也不会超出您可接受的范围。二是当停止计费比模型选择更重要时,请使用 Anthropic 或 Google 模型。

部分失败的流式请求仍以成功状态开始

请求在响应开始到达后仍可能失败。此时,状态行已经显示请求成功,而 HTTP 协议无法撤销此状态。 相反,失败信息会作为错误事件在流中到达,而不是以正常结束的方式呈现。 当您处理流式请求时,请读取终止事件而非状态码。对于以这种方式失败的请求,我们会在您的日志和仪表板中将其标记为失败。因此,您在那里看到的信息是准确的。