fix(agent): honor thinking_level for direct model refs (#2286)
This commit is contained in:
parent
bd56e10bb8
commit
39eb7ccc2e
2 changed files with 50 additions and 1 deletions
|
|
@ -157,7 +157,7 @@ func NewAgentInstance(
|
||||||
}
|
}
|
||||||
|
|
||||||
var thinkingLevelStr string
|
var thinkingLevelStr string
|
||||||
if mc, err := cfg.GetModelConfig(model); err == nil {
|
if mc := lookupModelConfigByRef(cfg, model); mc != nil {
|
||||||
thinkingLevelStr = mc.ThinkingLevel
|
thinkingLevelStr = mc.ThinkingLevel
|
||||||
}
|
}
|
||||||
thinkingLevel := parseThinkingLevel(thinkingLevelStr)
|
thinkingLevel := parseThinkingLevel(thinkingLevelStr)
|
||||||
|
|
|
||||||
|
|
@ -165,6 +165,55 @@ func TestNewAgentInstance_ResolveCandidatesFromModelListAlias(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestNewAgentInstance_ResolvesThinkingLevelByModelRef(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
defaultModel string
|
||||||
|
modelListName string
|
||||||
|
modelListID string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "full model ref",
|
||||||
|
defaultModel: "deepseek/deepseek-reasoner",
|
||||||
|
modelListName: "reasoner-alias",
|
||||||
|
modelListID: "deepseek/deepseek-reasoner",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "model id without protocol",
|
||||||
|
defaultModel: "deepseek-reasoner",
|
||||||
|
modelListName: "reasoner-alias",
|
||||||
|
modelListID: "deepseek/deepseek-reasoner",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
workspace := t.TempDir()
|
||||||
|
|
||||||
|
cfg := &config.Config{
|
||||||
|
Agents: config.AgentsConfig{
|
||||||
|
Defaults: config.AgentDefaults{
|
||||||
|
Workspace: workspace,
|
||||||
|
ModelName: tt.defaultModel,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ModelList: []*config.ModelConfig{
|
||||||
|
{
|
||||||
|
ModelName: tt.modelListName,
|
||||||
|
Model: tt.modelListID,
|
||||||
|
ThinkingLevel: "high",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
agent := NewAgentInstance(nil, &cfg.Agents.Defaults, cfg, &mockProvider{})
|
||||||
|
if agent.ThinkingLevel != ThinkingHigh {
|
||||||
|
t.Fatalf("ThinkingLevel = %q, want %q", agent.ThinkingLevel, ThinkingHigh)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestNewAgentInstance_PreservesDistinctLimiterIdentityForSharedResolvedModel(t *testing.T) {
|
func TestNewAgentInstance_PreservesDistinctLimiterIdentityForSharedResolvedModel(t *testing.T) {
|
||||||
tmpDir := t.TempDir()
|
tmpDir := t.TempDir()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue