支持流式输出思考过程与思考模式配置

This commit is contained in:
2026-08-14 16:13:45 +08:00
parent f7023f7958
commit 068c5fccf1
3 changed files with 108 additions and 13 deletions
+12 -4
View File
@@ -16,10 +16,12 @@ const (
)
type Provider struct {
Name string `yaml:"name"`
APIKey string `yaml:"api_key"`
BaseURL string `yaml:"base_url"`
Models []string `yaml:"models"`
Name string `yaml:"name"`
APIKey string `yaml:"api_key"`
BaseURL string `yaml:"base_url"`
Models []string `yaml:"models"`
Thinking string `yaml:"thinking"`
ReasoningEffort string `yaml:"reasoning_effort"`
}
type Config struct {
@@ -146,6 +148,12 @@ func validate(c *Config) error {
return fmt.Errorf("供应商 %s 包含空模型名", p.Name)
}
}
if p.Thinking != "" && !contains([]string{"enabled", "disabled"}, p.Thinking) {
return fmt.Errorf("供应商 %s 的 thinking 无效: %q(可选 enabled/disabled", p.Name, p.Thinking)
}
if p.ReasoningEffort != "" && !contains([]string{"low", "high", "max"}, p.ReasoningEffort) {
return fmt.Errorf("供应商 %s 的 reasoning_effort 无效: %q(可选 low/high/max", p.Name, p.ReasoningEffort)
}
}
if _, ok := names[c.DefaultProvider]; !ok {
return fmt.Errorf("default_provider %q 不存在", c.DefaultProvider)