返回 DeepSeek-Reasonix
provider_reasoning_view.go
根目录 / desktop / provider_reasoning_view.go
1 package main
2
3 import "reasonix/internal/config"
4
5 func providerModelCapabilitiesForView(p config.ProviderEntry, models []string) []ProviderModelCapabilityView {
6 resolver := config.NewModelCapabilityResolver()
7 out := make([]ProviderModelCapabilityView, 0, len(models))
8 for _, model := range models {
9 entry := p
10 entry.Model = model
11 capability := resolver.Resolve(&entry)
12 view := modelCapabilityView(capability)
13 view.Reasoning = config.ResolveReasoningView(&entry)
14 out = append(out, view)
15 }
16 return out
17 }
18
19 func modelCapabilityView(capability config.ResolvedModelCapability) ProviderModelCapabilityView {
20 modalities := make([]string, len(capability.InputModalities))
21 for i, modality := range capability.InputModalities {
22 modalities[i] = string(modality)
23 }
24 return ProviderModelCapabilityView{
25 Model: capability.Model, InputModalities: modalities,
26 State: string(capability.State), Source: string(capability.Source),
27 AutomaticState: string(capability.AutomaticState), AutomaticSource: string(capability.AutomaticSource),
28 ImageInputEnableAllowed: capability.ImageInputEnableAllowed, ImageInputBlockReason: capability.ImageInputBlockReason,
29 }
30 }
31
31 lines GO