fix(llm): 连接测试对推理模型放足 MaxTokens,避免卡在思考里被截断
TestConnection 原本 MaxTokens=32:推理模型(deepseek-v4-pro)对一句 ping 也会先烧 ~2900 思考 token,永远在"思考阶段"就撞输出上限(finish=length)被截断——连接虽算通 但显示成"已中断/length/resume"一团糟。抬到 8192 让它把 OK 干净吐完(finish=stop); 提示词也明确要求别思考。推理耗时不变(思考本就会发生),仅放行最终答案。
This commit is contained in:
1 parent
3d0dedc51e
commit
17c483dfa7
1 file changed
+7
-2
+7
-2
@@ -201,12 +201,17 @@ func TestConnection(ctx context.Context, c Config) (time.Duration, error) {
|
||||
ctx, cancel := context.WithTimeout(ctx, 30*time.Second)
|
||||
defer cancel()
|
||||
start := time.Now()
|
||||
// MaxTokens 要给足:推理模型(如 deepseek-v4-pro)在给出答案前会先产出一大段
|
||||
// 思考(实测对一句 "ping" 也能烧 ~2900 token)。若只给 32,模型会一直卡在"思考阶段"
|
||||
// 就撞到输出上限(finish=length)、被截断,连接测试虽仍算通(err=nil)但显示成
|
||||
// "已中断/length/resume" 一团糟。给足预算让它把 OK 干净吐完(finish=stop)。
|
||||
// EscalateMaxTokens 保持 false:不因截断而抬额重试,避免 resume 循环空烧。
|
||||
_, err = agentcore.Run(ctx, agentcore.Options{
|
||||
Provider: prov,
|
||||
SystemPrompt: []string{"你是连接测试。只回复 OK,不要别的。"},
|
||||
SystemPrompt: []string{"你是连接测试。直接输出两个字符 OK 即可,不要思考、不要解释、不要别的。"},
|
||||
PermissionMode: acperm.ModeBypass,
|
||||
MaxTurns: 1,
|
||||
MaxTokens: 32,
|
||||
MaxTokens: 8192,
|
||||
}, "ping")
|
||||
return time.Since(start), err
|
||||
}
|
||||
Reference in new issue
Block a user