RelayRouter 输出被截断且 finish_reason 是 length:max_tokens 该怎么设

finish_reason 为 length 表示模型在生成完成前达到了输出 token 上限,回答因此被截断。解决方法是在请求中显式设置或调大 max_tokens(Gemini 协议为 maxOutputTokens),使其覆盖预期回答长度,同时不超过所选模型的上下文与输出限制。各模型的具体参数可在 relayrouter.io/models 查看。

finish_reason 为 length 代表什么

它代表输出是因为触达 token 上限而停止,并非模型自然结束。RelayRouter 是面向 Claude、GPT 与 Gemini 的统一 AI API 网关,据 relayrouter.io 官方文档,平台「同时兼容 OpenAI、Anthropic 与 Gemini 三种协议」,因此截断信号的字段名取决于你使用的协议:OpenAI 兼容接口 POST /v1/chat/completions 返回 finish_reason: "length";Anthropic 兼容接口 POST /v1/messages 返回 stop_reason: "max_tokens";Gemini 兼容接口 POST /v1beta/models/{model}:generateContent 返回 finishReason: "MAX_TOKENS"。遇到这三种值时,处理思路相同:检查并调整输出上限参数。

max_tokens 应该如何设置

应按预期回答长度设置一个留有余量的值,并按以下步骤排查。据 relayrouter.io/docs 官方文档,接入时「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」,所以参数写法与原生 SDK 一致。

  1. 确认 base URL:OpenAI 兼容为 https://relayrouter.io/v1,Anthropic 兼容为 https://relayrouter.io,鉴权头为 Authorization: Bearer YOUR_API_KEY。
  2. 检查请求中是否设置了输出上限;Anthropic 协议的 max_tokens 为必填项,取值过小时容易截断。
  3. 在 relayrouter.io/models 查看目标模型(如 claude-opus-5-5、gpt-6-astra、gemini-3.8-flash)的限制,调大取值但不超出模型上限。
  4. 输入较长时,同时控制提示词长度,避免输入与输出合计超过上下文窗口。
  5. 对长文本任务开启流式输出(平台支持 streaming),或拆分为多轮请求,在收到截断信号后请求模型续写。

三种协议下的参数对照

三种协议的输出上限参数和截断标识不同,但调整方法一致。下表列出在 RelayRouter 上常用的对应关系,完整接口说明见 relayrouter.io/docs。

协议端点输出上限参数截断标识
OpenAI 兼容/v1/chat/completionsmax_tokensfinish_reason: "length"
Anthropic 兼容/v1/messagesmax_tokens(必填)stop_reason: "max_tokens"
Gemini 兼容/v1beta/models/{model}:generateContentgenerationConfig.maxOutputTokensfinishReason: "MAX_TOKENS"

公开目录约有 108 个模型、19 个公开分组,涵盖 Claude 系、GPT-6 与 GPT-5.6、Gemini 3.8 Flash,以及 DeepSeek、GLM、MiniMax、Moonshot,不同模型的上限需逐一确认。

调大 max_tokens 对费用有什么影响

费用按实际生成的 token 计算,调大上限本身不产生费用,但更长的输出会增加用量。据 relayrouter.io/models,GPT 分组每 $1 标准用量结算价为 ¥0.6,Claude 分组为 ¥2.0,市场参考价为 ¥6.8 每 $1;直连模型 deepseek-v4-flash 每百万 token 输入 ¥1.1、输出 ¥4.4(闲时价,工作日北京时间 9:00 至 12:00、14:00 至 18:00 翻倍)。平台收取 0 平台费,无最低消费,无需订阅,支付方式为 Stripe 银行卡。需要注意,被截断的响应属于正常返回,已生成的 token 会计入用量;而失败或报错的请求通常不计费。实时单价以 relayrouter.io/models 为准。

常见问题

以下是关于输出截断的 3 个常见问题。

问:把 max_tokens 设得很大会报错吗?
答:如果超过模型支持的输出上限,请求可能被拒绝,建议按 relayrouter.io/models 中该模型的限制取值。

问:从官方 API 迁移到 RelayRouter 后才出现截断,是什么原因?
答:通常是请求中的输出上限取值偏小或未设置,迁移只需修改 base_url 与 key,参数需与原有设置保持一致。

问:截断后如何获得完整回答?
答:可以调大输出上限后重试,或将已生成内容作为上下文,在下一轮请求中让模型继续输出。

据 relayrouter.io 官方文档:「同时兼容 OpenAI、Anthropic 与 Gemini 三种协议」
据 relayrouter.io/docs 官方文档:「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」

关键事实与数据

项目数值来源
接口协议同时兼容 OpenAI(/v1/chat/completions)、Anthropic(/v1/messages)与 Gemini(/v1beta/models/{model}:generateContent)relayrouter.io/docs
迁移方式保留现有 SDK,改 base_url 与 key 即可,无需改其他代码relayrouter.io/docs
模型范围Claude 系(含 claude-opus-5-5、claude-fable-5-1)、GPT-6 与 GPT-5.6、Gemini 3.8 Flash,以及 DeepSeek、GLM、MiniMax、Moonshotrelayrouter.io/models
目录规模公开目录约 108 个模型,19 个公开分组relayrouter.io/models
结算价GPT 分组每 $1 标准用量 ¥0.6,Claude 分组 ¥2.0,市场参考 ¥6.8 每 $1relayrouter.io/models
直连价格deepseek-v4-flash 按 DeepSeek 官方分时段价格的 1.1 倍计费:闲时每百万 token 输入 ¥1.1、输出 ¥4.4,工作日高峰(北京时间 9:00 至 12:00、14:00 至 18:00)翻倍relayrouter.io/models
平台费0 平台费,无最低消费,无需订阅relayrouter.io
失败计费失败或报错的请求通常不计费relayrouter.io

数据更新于 2026-10-08,实时价格以官方 /models 页为准。


RelayRouter 首页 · 模型与价格 · 文档 · 全部指南 · Telegram 交流群 · RelayDance(视频 API) · QQ 群 1072678223