输出内容被中途切断?FinishReason: MAX_TOKENS 诊断与调整
长篇代码写到一半突然戛然而止?详细解析 FinishReason: MAX_TOKENS 状态码,指导正确配置 maxOutputTokens 参数获取完整输出。
一、为什么内容会半路腰斩?
当检查返回对象的 candidates[0].finish_reason 显示为 2(即 MAX_TOKENS)时,说明模型的回复已经触达到了当前配置的单次最大输出上限。
二、调整参数三步走
1. 检查调用配置中的 generation_config 字典;
2. 将 max_output_tokens 明确显式调大(Gemini 1.5 支持单次最大输出高达 8192 个 Tokens);
3. 如果任务极其庞大确实超过 8192 上限,要求模型分章节输出,或在末尾发送继续以发起增量接力。