返回 DeepSeek-Reasonix
reasoning_capability.go
根目录 / internal / provider / responses / reasoning_capability.go
1 package responses
2
3 import "reasonix/internal/provider"
4
5 func ReasoningForConfig(cfg provider.Config) provider.ReasoningCapability {
6 cfg = provider.ApplyOpenCodeGoContract("responses", cfg)
7 protocol, _ := cfg.Extra["reasoning_protocol"].(string)
8 if protocol == "none" {
9 return provider.ReasoningOptions("")
10 }
11 cap := provider.UnknownReasoning()
12 if protocol == "deepseek" {
13 return provider.DeclaredReasoning(cfg, provider.ReasoningOptions("high", "none", "low", "high", "max"))
14 }
15 switch DetectVendor(cfg.BaseURL) {
16 case "deepseek":
17 cap = provider.ReasoningOptions("high", "none", "low", "high", "max")
18 case "mimo":
19 cap = provider.ReasoningOptions("", "none", "low", "medium", "high")
20 default:
21 if protocol == "openai" {
22 cap = provider.ReasoningOptions("", "low", "medium", "high")
23 }
24 }
25 return provider.DeclaredReasoning(cfg, cap)
26 }
27 func (c *client) ReasoningCapability() provider.ReasoningCapability { return c.reasoning.Clone() }
28
28 lines GO