22 * 已知模型的最大输出 token(max_tokens 上限)。
33 *
44 * 推理模型的思考过程也计入输出额度,截断重试时应尽量用满模型允许的上限。
5- * 表中只收录有官方文档依据的模型; 未收录的模型先用默认值重试,
5+ * 未收录的模型先用默认值重试,
66 * 接口报 max_tokens 超限时再从错误信息中读出真实上限并记住(见 truncation.ts)。
77 */
88
@@ -11,18 +11,22 @@ interface ModelOutputLimit {
1111 maxOutputTokens : number ;
1212}
1313
14- /** 按顺序匹配,先写更具体的规则 */
14+ /**
15+ * 按顺序匹配,先写更具体的规则。数据核对于 2026-10-31:
16+ * 官方文档标注“K”的按 1000 换算(宁可略低,超限时 truncation.ts 会从报错中读出真实上限)。
17+ * 官方未公布的模型(MiniMax、Kimi K3、千问 3.8)取第三方渠道数据中较低的值;阶跃星辰未收录。
18+ */
1519const MODEL_OUTPUT_LIMITS : ModelOutputLimit [ ] = [
16- // Anthropic Claude:5 系列与 4.6 及以后为 128K;4.5、Sonnet 4、3.7 Sonnet 为 64K;Opus 4 / 4.1 为 32K
20+ // Anthropic Claude(platform.claude.com 模型总览) :5 系列与 4.6 及以后为 128K;4.5、Sonnet 4 为 64K;Opus 4 / 4.1 为 32K
1721 { pattern : / c l a u d e - ( o p u s | s o n n e t | h a i k u | f a b l e | m y t h o s ) - ( [ 5 - 9 ] | 4 [ - . ] [ 6 - 9 ] ) / , maxOutputTokens : 128000 } ,
1822 { pattern : / c l a u d e - ( o p u s | s o n n e t | h a i k u ) - 4 [ - . ] 5 / , maxOutputTokens : 64000 } ,
1923 { pattern : / c l a u d e - s o n n e t - 4 / , maxOutputTokens : 64000 } ,
2024 { pattern : / c l a u d e - o p u s - 4 / , maxOutputTokens : 32000 } ,
2125 { pattern : / c l a u d e - 3 [ - . ] 7 - s o n n e t / , maxOutputTokens : 64000 } ,
2226 { pattern : / c l a u d e - 3 [ - . ] 5 - / , maxOutputTokens : 8192 } ,
2327 { pattern : / c l a u d e - 3 - / , maxOutputTokens : 4096 } ,
24- // OpenAI
25- { pattern : / ( ^ | [ / - ] ) g p t - 5 / , maxOutputTokens : 128000 } ,
28+ // OpenAI(developers.openai.com 模型页):GPT-6.x、GPT-5.x 为 128K
29+ { pattern : / ( ^ | [ / - ] ) g p t - [ 5 - 9 ] / , maxOutputTokens : 128000 } ,
2630 { pattern : / ( ^ | [ / - ] ) o 1 - m i n i / , maxOutputTokens : 65536 } ,
2731 { pattern : / ( ^ | [ / - ] ) o 1 - p r e v i e w / , maxOutputTokens : 32768 } ,
2832 { pattern : / ( ^ | [ / - ] ) o [ 1 3 4 ] ( - | $ ) / , maxOutputTokens : 100000 } ,
@@ -31,12 +35,27 @@ const MODEL_OUTPUT_LIMITS: ModelOutputLimit[] = [
3135 { pattern : / ( ^ | [ / - ] ) g p t - 4 - ( t u r b o | v i s i o n | 1 1 0 6 | 0 1 2 5 ) / , maxOutputTokens : 4096 } ,
3236 { pattern : / ( ^ | [ / - ] ) g p t - 4 ( - | $ ) / , maxOutputTokens : 8192 } ,
3337 { pattern : / ( ^ | [ / - ] ) g p t - 3 \. 5 / , maxOutputTokens : 4096 } ,
34- // Google Gemini(经 OpenAI 兼容接口或中转调用时)
38+ // Google Gemini(经 OpenAI 兼容接口或中转调用时;Gemini 提供商本身不限制输出):2.5、3.x、4 同步请求为 65536
3539 { pattern : / g e m i n i - ( 2 \. 5 | [ 3 - 9 ] ) / , maxOutputTokens : 65536 } ,
3640 { pattern : / g e m i n i - ( 1 \. 5 | 2 \. 0 ) / , maxOutputTokens : 8192 } ,
37- // DeepSeek 官方接口
38- { pattern : / ^ d e e p s e e k - r e a s o n e r $ / , maxOutputTokens : 65536 } ,
39- { pattern : / ^ d e e p s e e k - c h a t $ / , maxOutputTokens : 8192 } ,
41+ // DeepSeek(官方价格页):V4 系列最大输出 384K;旧别名 deepseek-chat / deepseek-reasoner 未注明,不收录
42+ { pattern : / ^ d e e p s e e k - ( f l a s h | v 4 ) / , maxOutputTokens : 384000 } ,
43+ // 智谱 GLM(官方模型概览)
44+ { pattern : / ^ g l m - 4 \. 6 v / , maxOutputTokens : 32000 } ,
45+ { pattern : / ^ g l m - ( 5 | 4 \. 7 | 4 \. 6 ) / , maxOutputTokens : 128000 } ,
46+ { pattern : / ^ g l m - 4 \. 5 / , maxOutputTokens : 96000 } ,
47+ { pattern : / ^ g l m - 4 \. 1 v / , maxOutputTokens : 16000 } ,
48+ { pattern : / ^ g l m - 4 - l o n g / , maxOutputTokens : 4000 } ,
49+ { pattern : / ^ g l m - 4 v - f l a s h / , maxOutputTokens : 1000 } ,
50+ { pattern : / ^ g l m - 4 - f l a s h / , maxOutputTokens : 16000 } ,
51+ // 火山引擎豆包(官方模型列表“最大回答”)
52+ { pattern : / ^ d o u b a o - s e e d - c h a r a c t e r / , maxOutputTokens : 32000 } ,
53+ { pattern : / ^ d o u b a o - s e e d - ( e v o l v i n g | 2 - 1 ) / , maxOutputTokens : 256000 } ,
54+ { pattern : / ^ d o u b a o - s e e d - 2 - 0 / , maxOutputTokens : 128000 } ,
55+ // 官方未公布,取第三方数据的较低值
56+ { pattern : / ^ m i n i m a x - m 3 / , maxOutputTokens : 128000 } ,
57+ { pattern : / ^ k i m i - k 3 / , maxOutputTokens : 131072 } ,
58+ { pattern : / ^ q w e n 3 \. 8 - m a x / , maxOutputTokens : 128000 } ,
4059] ;
4160
4261/** 返回已知模型的最大输出 token;未知模型返回 undefined */
0 commit comments