mirror of
https://github.com/vxcontrol/pentagi.git
synced 2026-09-22 10:15:43 +00:00
test(providers): pin openaicompat providers off adaptive thinking (M7)
Adaptive thinking (thinking.type=adaptive + output_config.effort) is an Anthropic-protocol mode the langchaingo OpenAI transport cannot emit, and the openaicompat Call path never threads PrepareAdaptiveCallOptions. So an adaptive reasoning mode declared in an openaicompat provider's models.yml would silently no-op. Assert that none of the openaicompat-backed providers (qwen, glm, deepseek, kimi, minimax) resolve to adaptive thinking for any agent type. The day someone adds an adaptive model/mode to one of their configs, this fails loudly instead of dropping the thinking budget in silence. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
4d25cf5c51
commit
40debd150d
@@ -0,0 +1,45 @@
|
||||
package providers
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"pentagi/pkg/providers/deepseek"
|
||||
"pentagi/pkg/providers/glm"
|
||||
"pentagi/pkg/providers/kimi"
|
||||
"pentagi/pkg/providers/minimax"
|
||||
"pentagi/pkg/providers/pconfig"
|
||||
"pentagi/pkg/providers/qwen"
|
||||
)
|
||||
|
||||
func TestOpenAICompatProvidersDoNotUseAdaptiveThinking(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
providers := []struct {
|
||||
name string
|
||||
config func() (*pconfig.ProviderConfig, error)
|
||||
models func() (pconfig.ModelsConfig, error)
|
||||
}{
|
||||
{"qwen", qwen.DefaultProviderConfig, qwen.DefaultModels},
|
||||
{"glm", glm.DefaultProviderConfig, glm.DefaultModels},
|
||||
{"deepseek", deepseek.DefaultProviderConfig, deepseek.DefaultModels},
|
||||
{"kimi", kimi.DefaultProviderConfig, kimi.DefaultModels},
|
||||
{"minimax", minimax.DefaultProviderConfig, minimax.DefaultModels},
|
||||
}
|
||||
|
||||
for _, p := range providers {
|
||||
cfg, err := p.config()
|
||||
if err != nil {
|
||||
t.Fatalf("%s: DefaultProviderConfig() error: %v", p.name, err)
|
||||
}
|
||||
models, err := p.models()
|
||||
if err != nil {
|
||||
t.Fatalf("%s: DefaultModels() error: %v", p.name, err)
|
||||
}
|
||||
|
||||
for _, opt := range pconfig.AllAgentTypes {
|
||||
if cfg.UsesAdaptiveThinking(models, opt) {
|
||||
t.Errorf("%s/%s resolves to adaptive thinking, but the openaicompat transport never emits it (M7): adaptive thinking is Anthropic/Bedrock-only", p.name, opt)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user